james-ocf commited on
Commit
e43006c
·
verified ·
1 Parent(s): 7f4cb61

Upload model - 3k3d1f9l

Browse files
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-summation -->
11
- # PVNet_summation
12
 
13
  <!-- Provide a longer summary of what this model is/does. -->
14
  ## Model Description
15
 
16
- <!-- e.g.
17
- This model uses the output predictions of PVNet to predict the sum from predictions of the parts
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 the output predictions of our PVNet model which gives GSP (i.e. UK regional) level predictions of solar power across Great Britain. This model is trained to take those predictions and use them to estimate the national total with uncertainty estimates.
 
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 this model commit can be found here:
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/pvnet-summation
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.1.post0+git.13031a6b.dirty
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: bd4cced6f00dd40a3858d49b3904ffaf325e6874
 
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
- - 2
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.dense_model.DenseModel
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: 2
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.25
48
  amsgrad: true
49
  patience: 10
50
- factor: 0.1
51
  threshold: 0.0
52
  datamodule:
53
- configuration: /home/james/repos/PVNet/configs/datamodule/configuration/new_gsps2.yaml
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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: /home/james/tmp/models/49nlmpdy
62
- revision: null
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/summation_dataset_pickles
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: 2NWP+sat0_v2
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.dense_model.DenseModel
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: 2
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:d20c171c922e3b92e25366fa572fa8dbaccdca6ef3773e1af33d4de7024e5efe
3
- size 19365512
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:86cb148b45fab418cc041723c52dbd41254ee1ee63067df4614a393674570ddc
3
+ size 1605412