How bricepetit/aieg_forecasting works
AIEG Forecasting predicts short-term electricity consumption and production, then evaluates forecasts, applies a production-versus-consumption optimization, and monitors performance as actual values arrive. The documented workflow starts with data preparation, followed by training, evaluation and inference; inference predictions feed optimization and monitoring. The graph includes the visible data, feature, model and configuration layers. Pipeline relationships and capabilities follow the README; implementation details for unsampled pipeline sections are not assumed.
Main entry points: inference_pipeline.py Inference pipeline · data_pipeline.py Data pipeline · training_pipeline.py Training pipeline · dataset_loader.py Dataset loader
Components 20
Data preparation
- Data pipeline
src/pipelines/data_pipeline.py - MySQL client
src/data/mysql_client.py - Data download
src/data/download_data.py - Weather loader
src/data/weather_loader.py - Preprocessing
src/data/preprocessing.py - Dataset loader
src/data/dataset_loader.py
Forecasting
- Time-series features
src/features/ts_features.py - Statistical features
src/features/stats_features.py - Training pipeline
src/pipelines/training_pipeline.py - Data generators
src/data_generator/base_generators.py - Forecast models
src/models/pytorch_models.py - Evaluation pipeline
src/pipelines/evaluation_pipeline.py - Forecast metrics
src/evaluation/metrics.py - Inference pipeline
src/pipelines/inference_pipeline.py
Forecast operations
- Production optimizer
src/pipelines/optimization_pipeline.py - Performance monitoring
src/pipelines/monitoring_pipeline.py
Configuration
- Config loader
src/configs/config_loader.py
Other components
- Pipeline operator
- MySQL source
- Weather source
Connections 32
- Pipeline operator → Data pipeline: runs
- Pipeline operator → Training pipeline: runs
- Pipeline operator → Evaluation pipeline: runs
- Pipeline operator → Inference pipeline: runs
- Pipeline operator → Production optimizer: runs
- Pipeline operator → Performance monitoring: runs
- Data pipeline → Config loader: loads settings
- Training pipeline → Config loader: loads settings
- Inference pipeline → Config loader: loads settings
- Data pipeline → Data download: downloads data
- Data download → MySQL client: queries
- MySQL client → MySQL source: reads
- Data pipeline → Weather loader: loads weather
- Weather loader → Weather source: fetches weather
- Data pipeline → Preprocessing: processes data
- Data pipeline → Dataset loader: writes H5
- Training pipeline → Dataset loader: loads H5
- Evaluation pipeline → Dataset loader: loads test data
- Inference pipeline → Dataset loader: loads input data
- Training pipeline → Data generators: builds batches
- Data generators → Time-series features: uses
- Data generators → Statistical features: uses
- Training pipeline → Forecast models: trains
- Evaluation pipeline → Forecast models: loads model
- Evaluation pipeline → Forecast metrics: computes metrics
- Inference pipeline → Forecast models: loads model
- Inference pipeline → Time-series features: builds inputs
- Inference pipeline → Statistical features: builds inputs
- Inference pipeline → Production optimizer: prediction YAML
- Inference pipeline → Performance monitoring: prediction YAML
- Performance monitoring → Dataset loader: loads actuals
- Performance monitoring → Forecast metrics: computes metrics