Gen-HVAC commited on
Commit
05137c4
Β·
verified Β·
1 Parent(s): 5ec5058

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +42 -0
README.md CHANGED
@@ -155,4 +155,46 @@ During inference, we deploy Gen-HVAC as a stateless HTTP microservice that loads
155
  maintains a short autoregressive context window internally, and returns multi-zone heating/cooling setpoints per control step.
156
  In our experiments, EnergyPlus/Sinergym executes inside the Docker container, while the inference service runs on the host/server (CPU/GPU), so the simulator can stream observation vectors to POST /predict (payload: {step, obs, info}) and receive an action vector in the response, with POST /reset
157
  used to clear policy history at episode boundaries. When enabled, the DHIL module queries a local Ollama endpoint and updates the comfort RTG target at a low frequency (e.g., every 4 steps).
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
158
 
 
155
  maintains a short autoregressive context window internally, and returns multi-zone heating/cooling setpoints per control step.
156
  In our experiments, EnergyPlus/Sinergym executes inside the Docker container, while the inference service runs on the host/server (CPU/GPU), so the simulator can stream observation vectors to POST /predict (payload: {step, obs, info}) and receive an action vector in the response, with POST /reset
157
  used to clear policy history at episode boundaries. When enabled, the DHIL module queries a local Ollama endpoint and updates the comfort RTG target at a low frequency (e.g., every 4 steps).
158
+
159
+ ## Repository Structure
160
+
161
+
162
+ ```text
163
+ Gen-HVAC:Controller/
164
+ β”‚
165
+ β”œβ”€β”€ data_generator/ # Data generation pipeline (EnergyPlus/Sinergym rollouts)
166
+ β”‚ β”œβ”€β”€ rollout_runner.py # Runs rollouts for selected building-weather configs and logs outputs
167
+ β”‚ └── trajectory_generator.py # Creates trajectory datasets from rollouts
168
+ β”‚
169
+ β”œβ”€β”€ evaluation/ # Evaluation scripts
170
+ β”‚
171
+ β”œβ”€β”€ Inference_&_LLM/ # Inference + LLM/DHIL (Digital Human-in-the-Loop) components
172
+ β”‚ β”œβ”€β”€ inference.py # Runs local inference (loads model + produces actions)
173
+ β”‚ β”œβ”€β”€ inference_server.py # Server wrapper for inference (API-based deployment)
174
+ β”‚ β”œβ”€β”€ digital_human_in_the_loop.py # DHIL logic
175
+ β”‚ └── llm_client/ # LLM client utilities
176
+ β”‚ └── ...
177
+ β”‚
178
+ β”œβ”€β”€ Model/ # Saved model checkpoints + configs
179
+ β”‚ β”œβ”€β”€ Model_V1/
180
+ β”‚ β”‚ β”œβ”€β”€ last.pt # Model checkpoint
181
+ β”‚ β”‚ β”œβ”€β”€ model_config.json # Training/model parameters
182
+ β”‚ β”‚ └── report.json
183
+ β”‚ β”œβ”€β”€ Model_V2/ ...
184
+ β”‚ β”œβ”€β”€ Model_V3/ ...
185
+ β”‚
186
+ β”œβ”€β”€ training/ # Training code (DT model, embeddings, losses, trainer)
187
+ β”‚ β”œβ”€β”€ data_loader.py # Loads trajectories, builds tokens/batches, normalization, RTG, etc.
188
+ β”‚ β”œβ”€β”€ embeddings.py # Feature encoders + token embeddings (zone/global/RTG encodings)
189
+ β”‚ β”œβ”€β”€ losses.py # Action loss + auxiliary losses (physics/value/etc. if enabled)
190
+ β”‚ └── training.py # Main training entry point (train loop, checkpoints, logging)
191
+ β”‚
192
+ └── utilities/ # Shared utilities used across data-gen/training/eval/inference
193
+ β”œβ”€β”€ comfort.py # Comfort metric helpers
194
+ β”œβ”€β”€ data_generator.py # Shared dataset helpers / schema utilities
195
+ β”œβ”€β”€ policy.py # Policy wrappers (DT policy interface, action post-processing)
196
+ β”œβ”€β”€ rewards.py
197
+ β”œβ”€β”€ rollout.py # Rollout utilities (env stepping, logging, post-processing)
198
+ └── tables.py
199
+
200