This project explores the application of deep learning techniques, specifically Variational Graph Autoencoders (VGAEs), to generate realistic synthetic power distribution networks. These synthetic networks serve as benchmarks for power system analysis, planning, and optimization studies when actual grid data is limited or unavailable due to confidentiality concerns. The framework supports various decoder architectures, including standard MLPs, Graph Convolutional Networks (GCNs), and an innovative Iterative GCN approach for improved graph generation.
- Clone the repository:
- Create and activate the Conda environment:
conda env create --name GridGEN --file GridGEN.yml conda activate GridGEN
- Install additional dependencies with pip:
pip install -r requirements.txt
Now your environment is ready to use the Synthetic Grid Generation framework.
The system is designed with a modular, plug-and-play architecture:
- Configure Parameters: Modify the
config.json
file to set your desired model parameters - Train Your Model: Run
train_model.py
to train with your configuration - Access Saved Models: Trained models are automatically saved to the
models
directory - Evaluate Results: Use
test_model.py
with the path to your trained model / generate synthetic grids
⚠️ Important: When evaluating a model, ensure your configuration settings match those used during training. Configuration mismatches will prevent the model from loading correctly.
- Download the dataset from Zenodo
- Extract the
grids.zip
folder - Place the extracted contents in a folder named
grids_data_v03
- Run
prepare_data.py
to convert the data to PyTorch Geometric format
- Ensure the GraphPF dataset is located in the
graphpf_data
folder