Upload model - 3k3d1f9l
Browse files- README.md +17 -22
- datamodule_config.yaml +1 -1
- full_experiment_config.yaml +31 -10
- model_config.yaml +6 -2
- model_weights.safetensors +2 -2
README.md
CHANGED
|
@@ -4,71 +4,66 @@ library_name: pytorch
|
|
| 4 |
license: mit
|
| 5 |
---
|
| 6 |
<!--
|
| 7 |
-
Do not remove elements like the above surrounded by two curly braces and do not add any more of them. These entries are required by the library and are automaticall infilled when the model is uploaded to huggingface
|
| 8 |
-->
|
| 9 |
|
| 10 |
-
<!-- Title - e.g. PVNet
|
| 11 |
-
#
|
| 12 |
|
| 13 |
<!-- Provide a longer summary of what this model is/does. -->
|
| 14 |
## Model Description
|
| 15 |
|
| 16 |
-
<!--
|
| 17 |
-
This model uses
|
| 18 |
-
-->
|
| 19 |
-
This model class sums the output of the PVNet model's GSP level predictions to make a national forecast of UK PV output. More information can be found in the model repo [1], the PVNet model repo [2]
|
| 20 |
|
| 21 |
- **Developed by:** openclimatefix
|
|
|
|
| 22 |
- **Language(s) (NLP):** en
|
| 23 |
- **License:** mit
|
| 24 |
|
|
|
|
| 25 |
# Training Details
|
| 26 |
|
| 27 |
## Data
|
| 28 |
|
| 29 |
<!-- eg.
|
| 30 |
-
The model is trained on data from 2019-2022 and validated on data from 2022-2023. It uses the
|
| 31 |
-
output predictions from PVNet - see the PVNet model for its inputs
|
| 32 |
|
|
|
|
| 33 |
-->
|
| 34 |
|
| 35 |
-
The model is trained on
|
|
|
|
| 36 |
|
| 37 |
-
The model is trained on data from 2019-2021 and validated on data from 2022. It uses the
|
| 38 |
-
output predictions from PVNet - see the PVNet model for its inputs
|
| 39 |
|
| 40 |
<!-- The preprocessing section is not strictly nessessary but perhaps nice to have -->
|
| 41 |
### Preprocessing
|
| 42 |
|
| 43 |
-
<!-- eg.
|
| 44 |
Data is prepared with the `ocf_data_sampler/torch_datasets/datasets/pvnet_uk` Dataset [2].
|
| 45 |
-
|
| 46 |
|
| 47 |
## Results
|
| 48 |
|
| 49 |
<!-- Do not remove the lines below -->
|
| 50 |
-
The training logs for
|
| 51 |
-
- [https://wandb.ai/openclimatefix/pvnet_summation/runs/qz4wasci](https://wandb.ai/openclimatefix/pvnet_summation/runs/qz4wasci)
|
| 52 |
|
| 53 |
|
| 54 |
<!-- The hardware section is also just nice to have -->
|
| 55 |
-
### Hardware
|
| 56 |
-
<!-- e.g.
|
| 57 |
-
Trained on a single NVIDIA Tesla T4
|
| 58 |
-
-->
|
| 59 |
|
| 60 |
Trained on a single NVIDIA Tesla T4
|
| 61 |
|
|
|
|
| 62 |
|
| 63 |
<!-- Do not remove the section below -->
|
| 64 |
### Software
|
| 65 |
|
| 66 |
This model was trained using the following Open Climate Fix packages:
|
| 67 |
|
| 68 |
-
- [1] https://github.com/openclimatefix/
|
| 69 |
- [2] https://github.com/openclimatefix/ocf-data-sampler
|
| 70 |
|
| 71 |
<!-- Especially do not change the two lines below -->
|
| 72 |
The versions of these packages can be found below:
|
| 73 |
-
- pvnet_summation==1.0.
|
| 74 |
- ocf-data-sampler==0.5.26.post2+git.90ee263d.dirty
|
|
|
|
| 4 |
license: mit
|
| 5 |
---
|
| 6 |
<!--
|
| 7 |
+
Do not remove elements like the above surrounded by two curly braces and do not add any more of them. These entries are required by the PVNet library and are automaticall infilled when the model is uploaded to huggingface
|
| 8 |
-->
|
| 9 |
|
| 10 |
+
<!-- Title - e.g. PVNet2, WindNet, PVNet India -->
|
| 11 |
+
# PVNet2
|
| 12 |
|
| 13 |
<!-- Provide a longer summary of what this model is/does. -->
|
| 14 |
## Model Description
|
| 15 |
|
| 16 |
+
<!-- Provide a longer summary of what this model is/does. -->
|
| 17 |
+
This model class uses satellite data, and numerical weather predictions to forecast the near-term (~8 hours) PV power output at all GSPs. More information can be found in the model repo [1].
|
|
|
|
|
|
|
| 18 |
|
| 19 |
- **Developed by:** openclimatefix
|
| 20 |
+
- **Model type:** Fusion model
|
| 21 |
- **Language(s) (NLP):** en
|
| 22 |
- **License:** mit
|
| 23 |
|
| 24 |
+
|
| 25 |
# Training Details
|
| 26 |
|
| 27 |
## Data
|
| 28 |
|
| 29 |
<!-- eg.
|
| 30 |
+
The model is trained on data from 2019-2022 and validated on data from 2022-2023. It uses NWP data from ECMWF IFS model, and the UK Met Office UKV model. It uses satellite data from the EUMETSAT MSG SEVIRI instrument.
|
|
|
|
| 31 |
|
| 32 |
+
See the data_config.yaml file for more information on the channels and window-size used for each input data source.
|
| 33 |
-->
|
| 34 |
|
| 35 |
+
The model is trained on data from 2019-2021 and validated on data from 2022. It uses NWP data from ECMWF IFS model, and the UK Met Office UKV model. It uses also uses inputs from OCF's cloudcasting model
|
| 36 |
+
|
| 37 |
|
|
|
|
|
|
|
| 38 |
|
| 39 |
<!-- The preprocessing section is not strictly nessessary but perhaps nice to have -->
|
| 40 |
### Preprocessing
|
| 41 |
|
|
|
|
| 42 |
Data is prepared with the `ocf_data_sampler/torch_datasets/datasets/pvnet_uk` Dataset [2].
|
| 43 |
+
|
| 44 |
|
| 45 |
## Results
|
| 46 |
|
| 47 |
<!-- Do not remove the lines below -->
|
| 48 |
+
The training logs for the current model can be found here:
|
|
|
|
| 49 |
|
| 50 |
|
| 51 |
<!-- The hardware section is also just nice to have -->
|
| 52 |
+
<!-- ### Hardware
|
|
|
|
|
|
|
|
|
|
| 53 |
|
| 54 |
Trained on a single NVIDIA Tesla T4
|
| 55 |
|
| 56 |
+
-->
|
| 57 |
|
| 58 |
<!-- Do not remove the section below -->
|
| 59 |
### Software
|
| 60 |
|
| 61 |
This model was trained using the following Open Climate Fix packages:
|
| 62 |
|
| 63 |
+
- [1] https://github.com/openclimatefix/PVNet
|
| 64 |
- [2] https://github.com/openclimatefix/ocf-data-sampler
|
| 65 |
|
| 66 |
<!-- Especially do not change the two lines below -->
|
| 67 |
The versions of these packages can be found below:
|
| 68 |
+
- pvnet_summation==1.1.0.post0+git.3b6f1115.dirty
|
| 69 |
- ocf-data-sampler==0.5.26.post2+git.90ee263d.dirty
|
datamodule_config.yaml
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
pvnet_model:
|
| 2 |
model_id: openclimatefix/pvnet_uk_region
|
| 3 |
-
revision:
|
|
|
|
| 1 |
pvnet_model:
|
| 2 |
model_id: openclimatefix/pvnet_uk_region
|
| 3 |
+
revision: cfcb233576c3c8110daed0179452e3d9913c744c
|
full_experiment_config.yaml
CHANGED
|
@@ -2,7 +2,7 @@ trainer:
|
|
| 2 |
_target_: lightning.pytorch.trainer.trainer.Trainer
|
| 3 |
accelerator: gpu
|
| 4 |
devices:
|
| 5 |
-
-
|
| 6 |
min_epochs: null
|
| 7 |
max_epochs: 300
|
| 8 |
reload_dataloaders_every_n_epochs: 0
|
|
@@ -12,7 +12,7 @@ trainer:
|
|
| 12 |
model:
|
| 13 |
_target_: pvnet_summation.training.lightning_module.PVNetSummationLightningModule
|
| 14 |
model:
|
| 15 |
-
_target_: pvnet_summation.models.
|
| 16 |
output_quantiles:
|
| 17 |
- 0.02
|
| 18 |
- 0.1
|
|
@@ -25,10 +25,14 @@ model:
|
|
| 25 |
_target_: pvnet.models.late_fusion.linear_networks.networks.ResFCNet
|
| 26 |
_partial_: true
|
| 27 |
fc_hidden_features: 128
|
| 28 |
-
n_res_blocks:
|
| 29 |
res_block_layers: 2
|
| 30 |
dropout_frac: 0.2
|
| 31 |
predict_difference_from_sum: true
|
|
|
|
|
|
|
|
|
|
|
|
|
| 32 |
history_minutes: 120
|
| 33 |
forecast_minutes: 480
|
| 34 |
interval_minutes: 30
|
|
@@ -44,13 +48,30 @@ model:
|
|
| 44 |
optimizer:
|
| 45 |
_target_: pvnet_summation.optimizers.AdamWReduceLROnPlateau
|
| 46 |
lr: 3.0e-05
|
| 47 |
-
weight_decay: 0.
|
| 48 |
amsgrad: true
|
| 49 |
patience: 10
|
| 50 |
-
factor: 0.
|
| 51 |
threshold: 0.0
|
| 52 |
datamodule:
|
| 53 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 54 |
batch_size: 32
|
| 55 |
num_workers: 12
|
| 56 |
prefetch_factor: 2
|
|
@@ -58,8 +79,8 @@ datamodule:
|
|
| 58 |
max_num_train_samples: null
|
| 59 |
max_num_val_samples: null
|
| 60 |
pvnet_model:
|
| 61 |
-
model_id: /
|
| 62 |
-
revision:
|
| 63 |
train_period:
|
| 64 |
- null
|
| 65 |
- '2021-12-31'
|
|
@@ -67,7 +88,7 @@ datamodule:
|
|
| 67 |
- '2022-01-01'
|
| 68 |
- '2022-12-31'
|
| 69 |
seed: ${seed}
|
| 70 |
-
dataset_pickle_dir: /home/james/tmp/
|
| 71 |
callbacks:
|
| 72 |
learning_rate_monitor:
|
| 73 |
_target_: lightning.pytorch.callbacks.LearningRateMonitor
|
|
@@ -102,5 +123,5 @@ logger:
|
|
| 102 |
tags: []
|
| 103 |
sample_save_dir: /home/james/repos/pvnet-summation/presaved_saved_samples
|
| 104 |
work_dir: ${hydra:runtime.cwd}
|
| 105 |
-
model_name:
|
| 106 |
seed: 2727831
|
|
|
|
| 2 |
_target_: lightning.pytorch.trainer.trainer.Trainer
|
| 3 |
accelerator: gpu
|
| 4 |
devices:
|
| 5 |
+
- 0
|
| 6 |
min_epochs: null
|
| 7 |
max_epochs: 300
|
| 8 |
reload_dataloaders_every_n_epochs: 0
|
|
|
|
| 12 |
model:
|
| 13 |
_target_: pvnet_summation.training.lightning_module.PVNetSummationLightningModule
|
| 14 |
model:
|
| 15 |
+
_target_: pvnet_summation.models.horizon_dense_model.HorizonDenseModel
|
| 16 |
output_quantiles:
|
| 17 |
- 0.02
|
| 18 |
- 0.1
|
|
|
|
| 25 |
_target_: pvnet.models.late_fusion.linear_networks.networks.ResFCNet
|
| 26 |
_partial_: true
|
| 27 |
fc_hidden_features: 128
|
| 28 |
+
n_res_blocks: 3
|
| 29 |
res_block_layers: 2
|
| 30 |
dropout_frac: 0.2
|
| 31 |
predict_difference_from_sum: true
|
| 32 |
+
force_non_crossing: true
|
| 33 |
+
beta: 3
|
| 34 |
+
use_horizon_encoding: true
|
| 35 |
+
use_solar_position: true
|
| 36 |
history_minutes: 120
|
| 37 |
forecast_minutes: 480
|
| 38 |
interval_minutes: 30
|
|
|
|
| 48 |
optimizer:
|
| 49 |
_target_: pvnet_summation.optimizers.AdamWReduceLROnPlateau
|
| 50 |
lr: 3.0e-05
|
| 51 |
+
weight_decay: 0.1
|
| 52 |
amsgrad: true
|
| 53 |
patience: 10
|
| 54 |
+
factor: 0.2
|
| 55 |
threshold: 0.0
|
| 56 |
datamodule:
|
| 57 |
+
data_source_paths:
|
| 58 |
+
gsp: /mnt/storage_u2_30tb_a/ml_training_zarrs/pv/pvlive_gsp_new_boundaries_2019-2025.zarr
|
| 59 |
+
satellite:
|
| 60 |
+
- /mnt/storage_u2_30tb_a/ml_training_zarrs/sat/uk_sat_crops/v1/2019_nonhrv.zarr
|
| 61 |
+
- /mnt/storage_u2_30tb_a/ml_training_zarrs/sat/uk_sat_crops/v1/2020_nonhrv.zarr
|
| 62 |
+
- /mnt/storage_u2_30tb_a/ml_training_zarrs/sat/uk_sat_crops/v1/2021_nonhrv.zarr
|
| 63 |
+
- /mnt/storage_u2_30tb_a/ml_training_zarrs/sat/uk_sat_crops/v1/2022_nonhrv.zarr
|
| 64 |
+
nwp:
|
| 65 |
+
ukv:
|
| 66 |
+
- /mnt/storage_u2_30tb_a/ml_training_zarrs/nwp/ukv_v7/UKV_intermediate_version_7.1.zarr
|
| 67 |
+
- /mnt/storage_u2_30tb_a/ml_training_zarrs/nwp/ukv_v7/UKV_2021_missing.zarr
|
| 68 |
+
- /mnt/storage_u2_30tb_a/ml_training_zarrs/nwp/ukv_v7/UKV_2022.zarr
|
| 69 |
+
ecmwf:
|
| 70 |
+
- /mnt/storage_u2_30tb_a/ml_training_zarrs/nwp/ecmwf_v3/ECMWF_2019.zarr
|
| 71 |
+
- /mnt/storage_u2_30tb_a/ml_training_zarrs/nwp/ecmwf_v3/ECMWF_2020.zarr
|
| 72 |
+
- /mnt/storage_u2_30tb_a/ml_training_zarrs/nwp/ecmwf_v3/ECMWF_2021.zarr
|
| 73 |
+
- /mnt/storage_u2_30tb_a/ml_training_zarrs/nwp/ecmwf_v3/ECMWF_2022.zarr
|
| 74 |
+
sat_pred: /mnt/disks/simvp_inputs/simvp_preds.zarr
|
| 75 |
batch_size: 32
|
| 76 |
num_workers: 12
|
| 77 |
prefetch_factor: 2
|
|
|
|
| 79 |
max_num_train_samples: null
|
| 80 |
max_num_val_samples: null
|
| 81 |
pvnet_model:
|
| 82 |
+
model_id: openclimatefix/pvnet_uk_region
|
| 83 |
+
revision: cfcb233576c3c8110daed0179452e3d9913c744c
|
| 84 |
train_period:
|
| 85 |
- null
|
| 86 |
- '2021-12-31'
|
|
|
|
| 88 |
- '2022-01-01'
|
| 89 |
- '2022-12-31'
|
| 90 |
seed: ${seed}
|
| 91 |
+
dataset_pickle_dir: /home/james/tmp/summation_dataset_pickles_pvnet_v2
|
| 92 |
callbacks:
|
| 93 |
learning_rate_monitor:
|
| 94 |
_target_: lightning.pytorch.callbacks.LearningRateMonitor
|
|
|
|
| 123 |
tags: []
|
| 124 |
sample_save_dir: /home/james/repos/pvnet-summation/presaved_saved_samples
|
| 125 |
work_dir: ${hydra:runtime.cwd}
|
| 126 |
+
model_name: pvnet_v2
|
| 127 |
seed: 2727831
|
model_config.yaml
CHANGED
|
@@ -1,4 +1,4 @@
|
|
| 1 |
-
_target_: pvnet_summation.models.
|
| 2 |
output_quantiles:
|
| 3 |
- 0.02
|
| 4 |
- 0.1
|
|
@@ -11,10 +11,14 @@ output_network:
|
|
| 11 |
_target_: pvnet.models.late_fusion.linear_networks.networks.ResFCNet
|
| 12 |
_partial_: true
|
| 13 |
fc_hidden_features: 128
|
| 14 |
-
n_res_blocks:
|
| 15 |
res_block_layers: 2
|
| 16 |
dropout_frac: 0.2
|
| 17 |
predict_difference_from_sum: true
|
|
|
|
|
|
|
|
|
|
|
|
|
| 18 |
history_minutes: 120
|
| 19 |
forecast_minutes: 480
|
| 20 |
interval_minutes: 30
|
|
|
|
| 1 |
+
_target_: pvnet_summation.models.horizon_dense_model.HorizonDenseModel
|
| 2 |
output_quantiles:
|
| 3 |
- 0.02
|
| 4 |
- 0.1
|
|
|
|
| 11 |
_target_: pvnet.models.late_fusion.linear_networks.networks.ResFCNet
|
| 12 |
_partial_: true
|
| 13 |
fc_hidden_features: 128
|
| 14 |
+
n_res_blocks: 3
|
| 15 |
res_block_layers: 2
|
| 16 |
dropout_frac: 0.2
|
| 17 |
predict_difference_from_sum: true
|
| 18 |
+
force_non_crossing: true
|
| 19 |
+
beta: 3
|
| 20 |
+
use_horizon_encoding: true
|
| 21 |
+
use_solar_position: true
|
| 22 |
history_minutes: 120
|
| 23 |
forecast_minutes: 480
|
| 24 |
interval_minutes: 30
|
model_weights.safetensors
CHANGED
|
@@ -1,3 +1,3 @@
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
-
oid sha256:
|
| 3 |
-
size
|
|
|
|
| 1 |
version https://git-lfs.github.com/spec/v1
|
| 2 |
+
oid sha256:86cb148b45fab418cc041723c52dbd41254ee1ee63067df4614a393674570ddc
|
| 3 |
+
size 1605412
|