Skip to content
/ Wattile Public

Deep Learning-based Forecasting of Building Energy Consumption

License

Notifications You must be signed in to change notification settings

NREL/Wattile

Repository files navigation

Wattile

Probabilistic Deep Learning-based Forecasting of Building Energy ConsumptionProbabilistic Deep Learning-based Forecasting of Building Energy Consumption.

Set Up

Requirements:

If using conda for python management, use environment.yml to make an environment and configure poetry to not create a vitural enviroment (else, skip these commands).

conda env create -f environment.yml
poetry config virtualenvs.create false
poetry config virtualenvs.in-project true

Then install dependencies.

poetry install

Finally, install pre-commit.

poetry run pre-commit install

Quick Start

Please see our example notebooks to see how to run Wattile out of the box.

In short, one must prep their data, create the model, and send the data through.

train_df, val_df = prep_for_rnn(configs, data)
model = ModelFactory.create_model(configs)
model.train(train_df, val_df)

After running, you may use tensordboard on the results.

tensorboard --logdir=<study directory>

Wattile is highly configurable.

Docs for the configs here.

Docs for the format of the raw data is here.

Docs for the format of the output is here.

Available Models

  • Probabilistic forecasting
  • In one training session, predict:
    • Number of future times: 1
    • Number of quantiles per time: Q
  • Vanilla and LSTM variants available
  • Probabilistic forecasting
  • In one training session, predict:
    • Number of future times: T
    • Number of quantiles per time: Q
  • Vanilla and LSTM variants available
  • Supports future time predictions with constant spacing or variable spacing
  • Probabilistic forecasting
  • In one training session, predict:
    • Number of future times: T
    • Number of quantiles per time: Q
  • Vanilla and LSTM variants available
  • Supports future time predictions with constant spacing or variable spacing

Development

Testing

$ poetry run pytest tests

To see test coverage, add args --cov-report html --cov=$PROJECT_DIR and open ./htmlcov/index.html

Styleing

$ make format