Giter VIP home page Giter VIP logo

energy-forecasting-in-emss's Introduction

Energy consumption forecasting in energy management systems

There are two study cases commercial buildings and housholds. We attempted to use six RNN-based models to forecast energy consumption, then compare them with ARIMA. To prove the feasibility of a new service, which can forecast future demand, we used the best performer in RNN-based models for building an API, only for the study case commercials buildings.

Required libraries

  • python 3
  • flask
  • flask_restful
  • json
  • nbimporter
  • pickle
  • joblib
  • tensorflow 2.3
  • keras

Installation guide

  • Get Cuda, Cudnn, python3 and virtualenv: To complete the installation, it is required to have Graphic card fron Nvdia, because the project was building on tensorflow GPU, which is compatible to Nvdia hardware.
  • Create env:
python3 -m venv tensorflow_env
  • Activate:
source tensorflow_env/bin/activate
  • Install and upgrade pip
pip install --upgrade pip
  • Install tensorflow 2.3 or up
pip install --upgrade tensorflow==version
pip install --upgrade tensorflow-gpu
  • Install Jupyter notebook
pip install jupyter

Components

  • Data_acquisition: contains DBs and cleaner notebooks for both buildings. The weather cleaner notebook for households is not neccessary.
    • Raw DB
      • commercial
      • household
    • Final DB
      • commercial
      • household
  • Model: for each study cases, there are notebooks:
    • analysis: basic analysis of the study case
    • arima: forecasting using ARIMA
    • dnn: forecasting using DNN
    • rnn: forecasting using RNN-based models
  • App: contains app.py, the restful API
  • api: contains the stored data of the pre-trained model

Running guide

After finish setting up the environment, one can run:

  • Activate environment
source tensorflow_env/bin/activate
  • Go to folder App
python3 app.py
  • The API is available for observation at: localhost, port 4848. Using command to ask model to predict:
/forecast<int:days>
  • Retrain model: go to folder Model and process the notebook forecasting_model

energy-forecasting-in-emss's People

Contributors

francisdinh avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.