Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ECTRL-JAD

Effective Cross-Building Transfer Learning for HVAC control using Deep Reinforcement Learning and Joint Action Dynamics

Link to research - https://www.sciencedirect.com/science/article/pii/S0045790626002892

Setup

This repository runs in a Docker container configured by Sinergym.

Follow the instructions on how to install Sinergym via Docker and then follow the steps below.

Installation

In a conda or virtual environment, run the following code.

https://github.com/kad99kev/ECTRL-JAD.git
pip install -e .

Running an experiment.

Once the Docker container is built, there are different options available:

  1. controller - Will run an experiment using a rule-based controller agent.
  2. pretrain - Will train an agent with imitation learning.
  3. scratch - Will train a Deep RL agent from scratch (no fine-tuning).
  4. finetune - Will finetune a Deep RL agent using pre-trained weights.
  5. test - Will test any agent (trained via imitate, scratch or finetune).

The commands can be run as follows:

ectrl_jad scratch --algo ppo --run_name scratch_experiment --experiment scratch_experiment -env Eplus-5zone-hot-continuous-stochastic-v1 -c config.yaml -s 0

Run ectrl_jad --help for more information.

Example run scripts are given in run.sh.

Example configuration file is given in config.yaml.

Dataset generation.

To generate the dataset used for pre-training, run the data_collector.ipynb Jupyter Notebook. This will generate .csv files that can then be used for pre-training.

About

Effective Cross-Building Transfer Learning for HVAC control using Deep Reinforcement Learning and Joint Action Dynamics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages