Improving HVAC Control with Transfer Learning: Using Padding Techniques for Cross-Building Pre-training and Fine-tuning
Link to Research - https://www.sciencedirect.com/science/article/pii/S2666546825000631
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.
In a conda or virtual environment, run the following code.
git clone https://github.com/kad99kev/PTCBPF.git
pip install -e .
Once the Docker container is built, there are different options available:
- controller - Will run an experiment using a rule-based controller agent.
- pretrain - Will train an agent with imitation learning.
- scratch - Will train a Deep RL agent from scratch (no fine-tuning).
- finetune - Will finetune a Deep RL agent using pre-trained weights.
- test- Will test any agent (trained via imitate, scratch or finetune).
The commands can be run as follows:
ptcbpf scratch --algo ppo --run_name scratch_experiment --experiment scratch_experiment -env Eplus-5zone-hot-continuous-stochastic-v1 -c /home/PTCBPF/config.yaml -s 0
Run ptcbpf --help for more information.
Example run scripts are given in run.sh.
Example configuration file is given in config.yaml.
The dataset for the pre-training (behavioural cloning) stage can be found from HVACIRL.