Delete configs.example
#1
by
peterdudfield
- opened
- configs.example/callbacks/default.yaml +0 -30
- configs.example/callbacks/none.yaml +0 -0
- configs.example/callbacks/wandb.yaml +0 -26
- configs.example/config.yaml +0 -45
- configs.example/datamodule/configuration/example_configuration.yaml +0 -288
- configs.example/datamodule/premade_batches.yaml +0 -10
- configs.example/datamodule/streamed_batches.yaml +0 -20
- configs.example/experiment/baseline.yaml +0 -21
- configs.example/experiment/conv3d_sat_nwp.yaml +0 -23
- configs.example/experiment/example_simple.yaml +0 -27
- configs.example/experiment/test.yaml +0 -33
- configs.example/hparams_search/conv3d_optuna.yaml +0 -49
- configs.example/hydra/default.yaml +0 -14
- configs.example/logger/csv.yaml +0 -9
- configs.example/logger/many_loggers.yaml +0 -7
- configs.example/logger/neptune.yaml +0 -8
- configs.example/logger/tensorboard.yaml +0 -11
- configs.example/logger/wandb.yaml +0 -17
- configs.example/model/baseline.yaml +0 -4
- configs.example/model/multimodal.yaml +0 -115
- configs.example/model/nwp_dwsrf_weighting.yaml +0 -21
- configs.example/model/test.yaml +0 -4
- configs.example/model/wind_multimodal.yaml +0 -83
- configs.example/readme.md +0 -5
- configs.example/trainer/all_params.yaml +0 -48
- configs.example/trainer/default.yaml +0 -14
configs.example/callbacks/default.yaml
DELETED
|
@@ -1,30 +0,0 @@
|
|
| 1 |
-
early_stopping:
|
| 2 |
-
_target_: pvnet.callbacks.MainEarlyStopping
|
| 3 |
-
# name of the logged metric which determines when model is improving
|
| 4 |
-
monitor: "${resolve_monitor_loss:${model.output_quantiles}}"
|
| 5 |
-
mode: "min" # can be "max" or "min"
|
| 6 |
-
patience: 10 # how many epochs (or val check periods) of not improving until training stops
|
| 7 |
-
min_delta: 0 # minimum change in the monitored metric needed to qualify as an improvement
|
| 8 |
-
|
| 9 |
-
learning_rate_monitor:
|
| 10 |
-
_target_: lightning.pytorch.callbacks.LearningRateMonitor
|
| 11 |
-
logging_interval: "epoch"
|
| 12 |
-
|
| 13 |
-
model_summary:
|
| 14 |
-
_target_: lightning.pytorch.callbacks.ModelSummary
|
| 15 |
-
max_depth: 3
|
| 16 |
-
|
| 17 |
-
model_checkpoint:
|
| 18 |
-
_target_: lightning.pytorch.callbacks.ModelCheckpoint
|
| 19 |
-
# name of the logged metric which determines when model is improving
|
| 20 |
-
monitor: "${resolve_monitor_loss:${model.output_quantiles}}"
|
| 21 |
-
mode: "min" # can be "max" or "min"
|
| 22 |
-
save_top_k: 1 # save k best models (determined by above metric)
|
| 23 |
-
save_last: True # additionaly always save model from last epoch
|
| 24 |
-
every_n_epochs: 1
|
| 25 |
-
verbose: False
|
| 26 |
-
filename: "epoch={epoch}-step={step}"
|
| 27 |
-
# The path to where the model checkpoints will be stored
|
| 28 |
-
dirpath: "PLACEHOLDER/${model_name}" #${..model_name}
|
| 29 |
-
auto_insert_metric_name: False
|
| 30 |
-
save_on_train_epoch_end: False
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
configs.example/callbacks/none.yaml
DELETED
|
File without changes
|
configs.example/callbacks/wandb.yaml
DELETED
|
@@ -1,26 +0,0 @@
|
|
| 1 |
-
defaults:
|
| 2 |
-
- default.yaml
|
| 3 |
-
|
| 4 |
-
watch_model:
|
| 5 |
-
_target_: src.callbacks.wandb_callbacks.WatchModel
|
| 6 |
-
log: "all"
|
| 7 |
-
log_freq: 100
|
| 8 |
-
|
| 9 |
-
upload_code_as_artifact:
|
| 10 |
-
_target_: src.callbacks.wandb_callbacks.UploadCodeAsArtifact
|
| 11 |
-
code_dir: ${work_dir}/src
|
| 12 |
-
|
| 13 |
-
upload_ckpts_as_artifact:
|
| 14 |
-
_target_: src.callbacks.wandb_callbacks.UploadCheckpointsAsArtifact
|
| 15 |
-
ckpt_dir: "checkpoints/"
|
| 16 |
-
upload_best_only: True
|
| 17 |
-
|
| 18 |
-
log_f1_precision_recall_heatmap:
|
| 19 |
-
_target_: src.callbacks.wandb_callbacks.LogF1PrecRecHeatmap
|
| 20 |
-
|
| 21 |
-
log_confusion_matrix:
|
| 22 |
-
_target_: src.callbacks.wandb_callbacks.LogConfusionMatrix
|
| 23 |
-
|
| 24 |
-
log_image_predictions:
|
| 25 |
-
_target_: src.callbacks.wandb_callbacks.LogImagePredictions
|
| 26 |
-
num_samples: 8
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
configs.example/config.yaml
DELETED
|
@@ -1,45 +0,0 @@
|
|
| 1 |
-
# @package _global_
|
| 2 |
-
|
| 3 |
-
# specify here default training configuration
|
| 4 |
-
defaults:
|
| 5 |
-
- _self_
|
| 6 |
-
- trainer: default.yaml
|
| 7 |
-
- model: multimodal.yaml
|
| 8 |
-
- datamodule: premade_samples.yaml
|
| 9 |
-
- callbacks: default.yaml # set this to null if you don't want to use callbacks
|
| 10 |
-
- logger: wandb.yaml # set logger here or use command line (e.g. `python run.py logger=wandb`)
|
| 11 |
-
- experiment: null
|
| 12 |
-
- hparams_search: null
|
| 13 |
-
- hydra: default.yaml
|
| 14 |
-
|
| 15 |
-
renewable: "pv_uk"
|
| 16 |
-
|
| 17 |
-
# enable color logging
|
| 18 |
-
# - override hydra/hydra_logging: colorlog
|
| 19 |
-
# - override hydra/job_logging: colorlog
|
| 20 |
-
|
| 21 |
-
# path to original working directory
|
| 22 |
-
# hydra hijacks working directory by changing it to the current log directory,
|
| 23 |
-
# so it's useful to have this path as a special variable
|
| 24 |
-
# learn more here: https://hydra.cc/docs/next/tutorials/basic/running_your_app/working_directory
|
| 25 |
-
work_dir: ${hydra:runtime.cwd}
|
| 26 |
-
|
| 27 |
-
model_name: "default"
|
| 28 |
-
|
| 29 |
-
# use `python run.py debug=true` for easy debugging!
|
| 30 |
-
# this will run 1 train, val and test loop with only 1 batch
|
| 31 |
-
# equivalent to running `python run.py trainer.fast_dev_run=true`
|
| 32 |
-
# (this is placed here just for easier access from command line)
|
| 33 |
-
debug: False
|
| 34 |
-
|
| 35 |
-
# pretty print config at the start of the run using Rich library
|
| 36 |
-
print_config: True
|
| 37 |
-
|
| 38 |
-
# disable python warnings if they annoy you
|
| 39 |
-
ignore_warnings: True
|
| 40 |
-
|
| 41 |
-
# check performance on test set, using the best model achieved during training
|
| 42 |
-
# lightning chooses best model based on metric specified in checkpoint callback
|
| 43 |
-
test_after_training: False
|
| 44 |
-
|
| 45 |
-
seed: 2727831
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
configs.example/datamodule/configuration/example_configuration.yaml
DELETED
|
@@ -1,288 +0,0 @@
|
|
| 1 |
-
general:
|
| 2 |
-
description: Example config for producing PVNet samples
|
| 3 |
-
name: example_config
|
| 4 |
-
|
| 5 |
-
input_data:
|
| 6 |
-
|
| 7 |
-
# Either use Site OR GSP configuration
|
| 8 |
-
site:
|
| 9 |
-
# Path to Site data in NetCDF format
|
| 10 |
-
file_path: PLACEHOLDER.nc
|
| 11 |
-
# Path to metadata in CSV format
|
| 12 |
-
metadata_file_path: PLACEHOLDER.csv
|
| 13 |
-
time_resolution_minutes: 15
|
| 14 |
-
interval_start_minutes: -60
|
| 15 |
-
# Specified for intraday currently
|
| 16 |
-
interval_end_minutes: 480
|
| 17 |
-
dropout_timedeltas_minutes: []
|
| 18 |
-
dropout_fraction: 0 # Fraction of samples with dropout
|
| 19 |
-
|
| 20 |
-
gsp:
|
| 21 |
-
# Path to GSP data in zarr format
|
| 22 |
-
# e.g. gs://solar-pv-nowcasting-data/PV/GSP/v7/pv_gsp.zarr
|
| 23 |
-
zarr_path: PLACEHOLDER.zarr
|
| 24 |
-
interval_start_minutes: -60
|
| 25 |
-
# Specified for intraday currently
|
| 26 |
-
interval_end_minutes: 480
|
| 27 |
-
time_resolution_minutes: 30
|
| 28 |
-
# Random value from the list below will be chosen as the delay when dropout is used
|
| 29 |
-
# If set to null no dropout is applied. Only values before t0 are dropped out for GSP.
|
| 30 |
-
# Values after t0 are assumed as targets and cannot be dropped.
|
| 31 |
-
dropout_timedeltas_minutes: []
|
| 32 |
-
dropout_fraction: 0 # Fraction of samples with dropout
|
| 33 |
-
|
| 34 |
-
nwp:
|
| 35 |
-
|
| 36 |
-
ecmwf:
|
| 37 |
-
provider: ecmwf
|
| 38 |
-
# Path to ECMWF NWP data in zarr format
|
| 39 |
-
# n.b. It is not necessary to use multiple or any NWP data. These entries can be removed
|
| 40 |
-
zarr_path: PLACEHOLDER.zarr
|
| 41 |
-
interval_start_minutes: -60
|
| 42 |
-
# Specified for intraday currently
|
| 43 |
-
interval_end_minutes: 480
|
| 44 |
-
time_resolution_minutes: 60
|
| 45 |
-
channels:
|
| 46 |
-
- t2m # 2-metre temperature
|
| 47 |
-
- dswrf # downwards short-wave radiation flux
|
| 48 |
-
- dlwrf # downwards long-wave radiation flux
|
| 49 |
-
- hcc # high cloud cover
|
| 50 |
-
- mcc # medium cloud cover
|
| 51 |
-
- lcc # low cloud cover
|
| 52 |
-
- tcc # total cloud cover
|
| 53 |
-
- sde # snow depth water equivalent
|
| 54 |
-
- sr # direct solar radiation
|
| 55 |
-
- duvrs # downwards UV radiation at surface
|
| 56 |
-
- prate # precipitation rate
|
| 57 |
-
- u10 # 10-metre U component of wind speed
|
| 58 |
-
- u100 # 100-metre U component of wind speed
|
| 59 |
-
- u200 # 200-metre U component of wind speed
|
| 60 |
-
- v10 # 10-metre V component of wind speed
|
| 61 |
-
- v100 # 100-metre V component of wind speed
|
| 62 |
-
- v200 # 200-metre V component of wind speed
|
| 63 |
-
# The following channels are accumulated and need to be diffed
|
| 64 |
-
accum_channels:
|
| 65 |
-
- dswrf # downwards short-wave radiation flux
|
| 66 |
-
- dlwrf # downwards long-wave radiation flux
|
| 67 |
-
- sr # direct solar radiation
|
| 68 |
-
- duvrs # downwards UV radiation at surface
|
| 69 |
-
image_size_pixels_height: 24
|
| 70 |
-
image_size_pixels_width: 24
|
| 71 |
-
dropout_timedeltas_minutes: [-360]
|
| 72 |
-
dropout_fraction: 1.0 # Fraction of samples with dropout
|
| 73 |
-
max_staleness_minutes: null
|
| 74 |
-
normalisation_constants:
|
| 75 |
-
t2m:
|
| 76 |
-
mean: 283.48333740234375
|
| 77 |
-
std: 3.692270040512085
|
| 78 |
-
dswrf:
|
| 79 |
-
mean: 11458988.0
|
| 80 |
-
std: 13025427.0
|
| 81 |
-
dlwrf:
|
| 82 |
-
mean: 27187026.0
|
| 83 |
-
std: 15855867.0
|
| 84 |
-
hcc:
|
| 85 |
-
mean: 0.3961029052734375
|
| 86 |
-
std: 0.42244860529899597
|
| 87 |
-
mcc:
|
| 88 |
-
mean: 0.3288780450820923
|
| 89 |
-
std: 0.38039860129356384
|
| 90 |
-
lcc:
|
| 91 |
-
mean: 0.44901806116104126
|
| 92 |
-
std: 0.3791404366493225
|
| 93 |
-
tcc:
|
| 94 |
-
mean: 0.7049227356910706
|
| 95 |
-
std: 0.37487083673477173
|
| 96 |
-
sde:
|
| 97 |
-
mean: 8.107526082312688e-05
|
| 98 |
-
std: 0.000913831521756947 # Mapped from "sd" in the Python file
|
| 99 |
-
sr:
|
| 100 |
-
mean: 12905302.0
|
| 101 |
-
std: 16294988.0
|
| 102 |
-
duvrs:
|
| 103 |
-
mean: 1305651.25
|
| 104 |
-
std: 1445635.25
|
| 105 |
-
prate:
|
| 106 |
-
mean: 3.108070450252853e-05
|
| 107 |
-
std: 9.81039775069803e-05
|
| 108 |
-
u10:
|
| 109 |
-
mean: 1.7677178382873535
|
| 110 |
-
std: 5.531515598297119
|
| 111 |
-
u100:
|
| 112 |
-
mean: 2.393547296524048
|
| 113 |
-
std: 7.2320556640625
|
| 114 |
-
u200:
|
| 115 |
-
mean: 2.7963004112243652
|
| 116 |
-
std: 8.049470901489258
|
| 117 |
-
v10:
|
| 118 |
-
mean: 0.985887885093689
|
| 119 |
-
std: 5.411230564117432
|
| 120 |
-
v100:
|
| 121 |
-
mean: 1.4244288206100464
|
| 122 |
-
std: 6.944501876831055
|
| 123 |
-
v200:
|
| 124 |
-
mean: 1.6010299921035767
|
| 125 |
-
std: 7.561611652374268
|
| 126 |
-
# Added diff_ keys for the channels under accum_channels:
|
| 127 |
-
diff_dlwrf:
|
| 128 |
-
mean: 1136464.0
|
| 129 |
-
std: 131942.03125
|
| 130 |
-
diff_dswrf:
|
| 131 |
-
mean: 420584.6875
|
| 132 |
-
std: 715366.3125
|
| 133 |
-
diff_duvrs:
|
| 134 |
-
mean: 48265.4765625
|
| 135 |
-
std: 81605.25
|
| 136 |
-
diff_sr:
|
| 137 |
-
mean: 469169.5
|
| 138 |
-
std: 818950.6875
|
| 139 |
-
|
| 140 |
-
ukv:
|
| 141 |
-
provider: ukv
|
| 142 |
-
# Path to UKV NWP data in zarr format
|
| 143 |
-
# e.g. gs://solar-pv-nowcasting-data/NWP/UK_Met_Office/UKV_intermediate_version_7.zarr
|
| 144 |
-
# n.b. It is not necessary to use multiple or any NWP data. These entries can be removed
|
| 145 |
-
zarr_path: PLACEHOLDER.zarr
|
| 146 |
-
interval_start_minutes: -60
|
| 147 |
-
# Specified for intraday currently
|
| 148 |
-
interval_end_minutes: 480
|
| 149 |
-
time_resolution_minutes: 60
|
| 150 |
-
channels:
|
| 151 |
-
- t # 2-metre temperature
|
| 152 |
-
- dswrf # downwards short-wave radiation flux
|
| 153 |
-
- dlwrf # downwards long-wave radiation flux
|
| 154 |
-
- hcc # high cloud cover
|
| 155 |
-
- mcc # medium cloud cover
|
| 156 |
-
- lcc # low cloud cover
|
| 157 |
-
- sde # snow depth water equivalent
|
| 158 |
-
- r # relative humidty
|
| 159 |
-
- vis # visibility
|
| 160 |
-
- si10 # 10-metre wind speed
|
| 161 |
-
- wdir10 # 10-metre wind direction
|
| 162 |
-
- prate # precipitation rate
|
| 163 |
-
# These variables exist in CEDA training data but not in the live MetOffice live service
|
| 164 |
-
- hcct # height of convective cloud top, meters above surface. NaN if no clouds
|
| 165 |
-
- cdcb # height of lowest cloud base > 3 oktas
|
| 166 |
-
- dpt # dew point temperature
|
| 167 |
-
- prmsl # mean sea level pressure
|
| 168 |
-
- h # geometrical? (maybe geopotential?) height
|
| 169 |
-
image_size_pixels_height: 24
|
| 170 |
-
image_size_pixels_width: 24
|
| 171 |
-
dropout_timedeltas_minutes: [-360]
|
| 172 |
-
dropout_fraction: 1.0 # Fraction of samples with dropout
|
| 173 |
-
max_staleness_minutes: null
|
| 174 |
-
normalisation_constants:
|
| 175 |
-
t:
|
| 176 |
-
mean: 283.64913206
|
| 177 |
-
std: 4.38818501
|
| 178 |
-
dswrf:
|
| 179 |
-
mean: 111.28265039
|
| 180 |
-
std: 190.47216887
|
| 181 |
-
dlwrf:
|
| 182 |
-
mean: 325.03130139
|
| 183 |
-
std: 39.45988077
|
| 184 |
-
hcc:
|
| 185 |
-
mean: 29.11949682
|
| 186 |
-
std: 38.07184418
|
| 187 |
-
mcc:
|
| 188 |
-
mean: 40.88984494
|
| 189 |
-
std: 41.91144559
|
| 190 |
-
lcc:
|
| 191 |
-
mean: 50.08362643
|
| 192 |
-
std: 39.33210726
|
| 193 |
-
sde:
|
| 194 |
-
mean: 0.00289545
|
| 195 |
-
std: 0.1029753
|
| 196 |
-
r:
|
| 197 |
-
mean: 81.79229501
|
| 198 |
-
std: 11.45012499
|
| 199 |
-
vis:
|
| 200 |
-
mean: 32262.03285118
|
| 201 |
-
std: 21578.97975625
|
| 202 |
-
si10:
|
| 203 |
-
mean: 6.88348448
|
| 204 |
-
std: 3.94718813
|
| 205 |
-
wdir10:
|
| 206 |
-
mean: 199.41891636
|
| 207 |
-
std: 94.08407495
|
| 208 |
-
prate:
|
| 209 |
-
mean: 3.45793433e-05
|
| 210 |
-
std: 0.00021497
|
| 211 |
-
hcct:
|
| 212 |
-
mean: -18345.97478167
|
| 213 |
-
std: 18382.63958991
|
| 214 |
-
cdcb:
|
| 215 |
-
mean: 1412.26599062
|
| 216 |
-
std: 2126.99350113
|
| 217 |
-
dpt:
|
| 218 |
-
mean: 280.54379901
|
| 219 |
-
std: 4.57250482
|
| 220 |
-
prmsl:
|
| 221 |
-
mean: 101321.61574029
|
| 222 |
-
std: 1252.71790539
|
| 223 |
-
h:
|
| 224 |
-
mean: 2096.51991356
|
| 225 |
-
std: 1075.77812282
|
| 226 |
-
|
| 227 |
-
satellite:
|
| 228 |
-
# Path to Satellite data (non-HRV) in zarr format
|
| 229 |
-
# e.g. gs://solar-pv-nowcasting-data/satellite/EUMETSAT/SEVIRI_RSS/v4/2020_nonhrv.zarr
|
| 230 |
-
zarr_path: PLACEHOLDER.zarr
|
| 231 |
-
interval_start_minutes: -30
|
| 232 |
-
interval_end_minutes: 0
|
| 233 |
-
time_resolution_minutes: 5
|
| 234 |
-
channels:
|
| 235 |
-
- IR_016 # Surface, cloud phase
|
| 236 |
-
- IR_039 # Surface, clouds, wind fields
|
| 237 |
-
- IR_087 # Surface, clouds, atmospheric instability
|
| 238 |
-
- IR_097 # Ozone
|
| 239 |
-
- IR_108 # Surface, clouds, wind fields, atmospheric instability
|
| 240 |
-
- IR_120 # Surface, clouds, atmospheric instability
|
| 241 |
-
- IR_134 # Cirrus cloud height, atmospheric instability
|
| 242 |
-
- VIS006 # Surface, clouds, wind fields
|
| 243 |
-
- VIS008 # Surface, clouds, wind fields
|
| 244 |
-
- WV_062 # Water vapor, high level clouds, upper air analysis
|
| 245 |
-
- WV_073 # Water vapor, atmospheric instability, upper-level dynamics
|
| 246 |
-
image_size_pixels_height: 24
|
| 247 |
-
image_size_pixels_width: 24
|
| 248 |
-
dropout_timedeltas_minutes: []
|
| 249 |
-
dropout_fraction: 0 # Fraction of samples with dropout
|
| 250 |
-
normalisation_constants:
|
| 251 |
-
IR_016:
|
| 252 |
-
mean: 0.17594202
|
| 253 |
-
std: 0.21462157
|
| 254 |
-
IR_039:
|
| 255 |
-
mean: 0.86167645
|
| 256 |
-
std: 0.04618041
|
| 257 |
-
IR_087:
|
| 258 |
-
mean: 0.7719318
|
| 259 |
-
std: 0.06687243
|
| 260 |
-
IR_097:
|
| 261 |
-
mean: 0.8014212
|
| 262 |
-
std: 0.0468558
|
| 263 |
-
IR_108:
|
| 264 |
-
mean: 0.71254843
|
| 265 |
-
std: 0.17482725
|
| 266 |
-
IR_120:
|
| 267 |
-
mean: 0.89058584
|
| 268 |
-
std: 0.06115861
|
| 269 |
-
IR_134:
|
| 270 |
-
mean: 0.944365
|
| 271 |
-
std: 0.04492306
|
| 272 |
-
VIS006:
|
| 273 |
-
mean: 0.09633306
|
| 274 |
-
std: 0.12184761
|
| 275 |
-
VIS008:
|
| 276 |
-
mean: 0.11426069
|
| 277 |
-
std: 0.13090034
|
| 278 |
-
WV_062:
|
| 279 |
-
mean: 0.7359355
|
| 280 |
-
std: 0.16111417
|
| 281 |
-
WV_073:
|
| 282 |
-
mean: 0.62479186
|
| 283 |
-
std: 0.12924142
|
| 284 |
-
|
| 285 |
-
solar_position:
|
| 286 |
-
interval_start_minutes: -60
|
| 287 |
-
interval_end_minutes: 480
|
| 288 |
-
time_resolution_minutes: 30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
configs.example/datamodule/premade_batches.yaml
DELETED
|
@@ -1,10 +0,0 @@
|
|
| 1 |
-
_target_: pvnet.data.DataModule
|
| 2 |
-
configuration: null
|
| 3 |
-
|
| 4 |
-
# The sample_dir is the location batches were saved to using the save_batches.py script
|
| 5 |
-
# The sample_dir should contain train and val subdirectories with batches
|
| 6 |
-
|
| 7 |
-
sample_dir: "PLACEHOLDER"
|
| 8 |
-
num_workers: 10
|
| 9 |
-
prefetch_factor: 2
|
| 10 |
-
batch_size: 8
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
configs.example/datamodule/streamed_batches.yaml
DELETED
|
@@ -1,20 +0,0 @@
|
|
| 1 |
-
_target_: pvnet.data.DataModule
|
| 2 |
-
# Path to the data configuration yaml file. You can find examples in the configuration subdirectory
|
| 3 |
-
# in configs.example/datamodule/configuration
|
| 4 |
-
# Use the full local path such as: /FULL/PATH/PVNet/configs/datamodule/configuration/gcp_configuration.yaml"
|
| 5 |
-
|
| 6 |
-
configuration: "PLACEHOLDER.yaml"
|
| 7 |
-
num_workers: 20
|
| 8 |
-
prefetch_factor: 2
|
| 9 |
-
batch_size: 8
|
| 10 |
-
|
| 11 |
-
sample_output_dir: "PLACEHOLDER"
|
| 12 |
-
num_train_samples: 2
|
| 13 |
-
num_val_samples: 1
|
| 14 |
-
|
| 15 |
-
train_period:
|
| 16 |
-
- null
|
| 17 |
-
- "2022-05-07"
|
| 18 |
-
val_period:
|
| 19 |
-
- "2022-05-08"
|
| 20 |
-
- "2023-05-08"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
configs.example/experiment/baseline.yaml
DELETED
|
@@ -1,21 +0,0 @@
|
|
| 1 |
-
# @package _global_
|
| 2 |
-
|
| 3 |
-
# to execute this experiment run:
|
| 4 |
-
# python run.py experiment=example_simple.yaml
|
| 5 |
-
|
| 6 |
-
defaults:
|
| 7 |
-
- override /trainer: default.yaml # choose trainer from 'configs/trainer/'
|
| 8 |
-
- override /model: baseline.yaml
|
| 9 |
-
- override /datamodule: premade_samples.yaml
|
| 10 |
-
- override /callbacks: default.yaml
|
| 11 |
-
- override /logger: neptune.yaml
|
| 12 |
-
|
| 13 |
-
# all parameters below will be merged with parameters from default configurations set above
|
| 14 |
-
# this allows you to overwrite only specified parameters
|
| 15 |
-
|
| 16 |
-
seed: 518
|
| 17 |
-
validate_only: "1" # by putting this key in the config file, the model does not get trained.
|
| 18 |
-
|
| 19 |
-
trainer:
|
| 20 |
-
min_epochs: 1
|
| 21 |
-
max_epochs: 1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
configs.example/experiment/conv3d_sat_nwp.yaml
DELETED
|
@@ -1,23 +0,0 @@
|
|
| 1 |
-
# @package _global_
|
| 2 |
-
|
| 3 |
-
# to execute this experiment run:
|
| 4 |
-
# python run.py experiment=example_simple.yaml
|
| 5 |
-
|
| 6 |
-
defaults:
|
| 7 |
-
- override /trainer: default.yaml # choose trainer from 'configs/trainer/'
|
| 8 |
-
- override /model: conv3d_sat_nwp.yaml
|
| 9 |
-
- override /datamodule: premade_samples.yaml
|
| 10 |
-
- override /callbacks: default.yaml
|
| 11 |
-
# - override /logger: neptune.yaml
|
| 12 |
-
|
| 13 |
-
# all parameters below will be merged with parameters from default configurations set above
|
| 14 |
-
# this allows you to overwrite only specified parameters
|
| 15 |
-
|
| 16 |
-
seed: 518
|
| 17 |
-
|
| 18 |
-
trainer:
|
| 19 |
-
min_epochs: 1
|
| 20 |
-
max_epochs: 10
|
| 21 |
-
|
| 22 |
-
model:
|
| 23 |
-
conv3d_channels: 32
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
configs.example/experiment/example_simple.yaml
DELETED
|
@@ -1,27 +0,0 @@
|
|
| 1 |
-
# @package _global_
|
| 2 |
-
|
| 3 |
-
# to execute this experiment run:
|
| 4 |
-
# python run.py experiment=example_simple.yaml
|
| 5 |
-
|
| 6 |
-
defaults:
|
| 7 |
-
- override /trainer: default.yaml # choose trainer from 'configs/trainer/'
|
| 8 |
-
- override /model: conv3d_sat_nwp.yaml
|
| 9 |
-
- override /datamodule: premade_samples.yaml
|
| 10 |
-
- override /callbacks: default.yaml
|
| 11 |
-
- override /logger: tensorboard.yaml
|
| 12 |
-
- override /hparams_search: null
|
| 13 |
-
- override /hydra: default.yaml
|
| 14 |
-
|
| 15 |
-
# all parameters below will be merged with parameters from default configurations set above
|
| 16 |
-
# this allows you to overwrite only specified parameters
|
| 17 |
-
|
| 18 |
-
seed: 518
|
| 19 |
-
|
| 20 |
-
trainer:
|
| 21 |
-
min_epochs: 1
|
| 22 |
-
max_epochs: 2
|
| 23 |
-
|
| 24 |
-
datamodule:
|
| 25 |
-
batch_size: 16
|
| 26 |
-
|
| 27 |
-
validate_only: "1" # by putting this key in the config file, the model does not get trained.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
configs.example/experiment/test.yaml
DELETED
|
@@ -1,33 +0,0 @@
|
|
| 1 |
-
# @package _global_
|
| 2 |
-
|
| 3 |
-
# to execute this experiment run:
|
| 4 |
-
# python run.py experiment=test.yaml
|
| 5 |
-
|
| 6 |
-
defaults:
|
| 7 |
-
- override /trainer: default.yaml # choose trainer from 'configs/trainer/'
|
| 8 |
-
- override /model: test.yaml
|
| 9 |
-
- override /datamodule: premade_samples.yaml
|
| 10 |
-
- override /callbacks: default.yaml
|
| 11 |
-
|
| 12 |
-
# all parameters below will be merged with parameters from default configurations set above
|
| 13 |
-
# this allows you to overwrite only specified parameters
|
| 14 |
-
|
| 15 |
-
seed: 518
|
| 16 |
-
|
| 17 |
-
trainer:
|
| 18 |
-
min_epochs: 0
|
| 19 |
-
max_epochs: 2
|
| 20 |
-
reload_dataloaders_every_n_epochs: 0
|
| 21 |
-
limit_train_batches: 2000
|
| 22 |
-
limit_val_batches: 100
|
| 23 |
-
limit_test_batches: 100
|
| 24 |
-
val_check_interval: 100
|
| 25 |
-
num_sanity_val_steps: 8
|
| 26 |
-
accumulate_grad_batches: 4
|
| 27 |
-
#fast_dev_run: 3
|
| 28 |
-
|
| 29 |
-
datamodule:
|
| 30 |
-
num_workers: 10
|
| 31 |
-
prefetch_factor: 2
|
| 32 |
-
batch_size: 8
|
| 33 |
-
#validate_only: '1' # by putting this key in the config file, the model does not get trained.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
configs.example/hparams_search/conv3d_optuna.yaml
DELETED
|
@@ -1,49 +0,0 @@
|
|
| 1 |
-
# @package _global_
|
| 2 |
-
|
| 3 |
-
# example hyperparameter optimization of some experiment with Optuna:
|
| 4 |
-
# python run.py -m hparams_search=conv3d_optuna experiment=conv3d_sat_nwp
|
| 5 |
-
|
| 6 |
-
defaults:
|
| 7 |
-
- override /hydra/sweeper: optuna
|
| 8 |
-
|
| 9 |
-
# choose metric which will be optimized by Optuna
|
| 10 |
-
optimized_metric: "MSE/Validation_epoch"
|
| 11 |
-
|
| 12 |
-
hydra:
|
| 13 |
-
# here we define Optuna hyperparameter search
|
| 14 |
-
# it optimizes for value returned from function with @hydra.main decorator
|
| 15 |
-
# learn more here: https://hydra.cc/docs/next/plugins/optuna_sweeper
|
| 16 |
-
sweeper:
|
| 17 |
-
_target_: hydra_plugins.hydra_optuna_sweeper.optuna_sweeper.OptunaSweeper
|
| 18 |
-
storage: null
|
| 19 |
-
study_name: null
|
| 20 |
-
n_jobs: 1
|
| 21 |
-
|
| 22 |
-
# 'minimize' or 'maximize' the objective
|
| 23 |
-
direction: minimize
|
| 24 |
-
|
| 25 |
-
# number of experiments that will be executed
|
| 26 |
-
n_trials: 20
|
| 27 |
-
|
| 28 |
-
# choose Optuna hyperparameter sampler
|
| 29 |
-
# learn more here: https://optuna.readthedocs.io/en/stable/reference/samplers.html
|
| 30 |
-
sampler:
|
| 31 |
-
_target_: optuna.samplers.TPESampler
|
| 32 |
-
seed: 12345
|
| 33 |
-
consider_prior: true
|
| 34 |
-
prior_weight: 1.0
|
| 35 |
-
consider_magic_clip: true
|
| 36 |
-
consider_endpoints: false
|
| 37 |
-
n_startup_trials: 10
|
| 38 |
-
n_ei_candidates: 24
|
| 39 |
-
multivariate: false
|
| 40 |
-
warn_independent_sampling: true
|
| 41 |
-
|
| 42 |
-
# define range of hyperparameters
|
| 43 |
-
search_space:
|
| 44 |
-
model.include_pv_yield_history:
|
| 45 |
-
type: categorical
|
| 46 |
-
choices: [true, false]
|
| 47 |
-
model.include_future_satellite:
|
| 48 |
-
type: categorical
|
| 49 |
-
choices: [true, false]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
configs.example/hydra/default.yaml
DELETED
|
@@ -1,14 +0,0 @@
|
|
| 1 |
-
# output paths for hydra logs
|
| 2 |
-
run:
|
| 3 |
-
# Local log directory for hydra
|
| 4 |
-
dir: PLACEHOLDER/runs/${now:%Y-%m-%d}/${now:%H-%M-%S}
|
| 5 |
-
sweep:
|
| 6 |
-
# Local log directory for hydra
|
| 7 |
-
dir: PLACEHOLDER/multiruns/${now:%Y-%m-%d_%H-%M-%S}
|
| 8 |
-
subdir: ${hydra.job.num}
|
| 9 |
-
|
| 10 |
-
# you can set here environment variables that are universal for all users
|
| 11 |
-
# for system specific variables (like data paths) it's better to use .env file!
|
| 12 |
-
job:
|
| 13 |
-
env_set:
|
| 14 |
-
EXAMPLE_VAR: "example_value"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
configs.example/logger/csv.yaml
DELETED
|
@@ -1,9 +0,0 @@
|
|
| 1 |
-
# csv logger built in lightning
|
| 2 |
-
|
| 3 |
-
csv:
|
| 4 |
-
_target_: pytorch_lightning.loggers.csv_logs.CSVLogger
|
| 5 |
-
# local path to log training process
|
| 6 |
-
save_dir: "PLACEHOLDER"
|
| 7 |
-
name: "csv/"
|
| 8 |
-
version: null
|
| 9 |
-
prefix: ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
configs.example/logger/many_loggers.yaml
DELETED
|
@@ -1,7 +0,0 @@
|
|
| 1 |
-
# train with many loggers at once
|
| 2 |
-
|
| 3 |
-
defaults:
|
| 4 |
-
- csv.yaml
|
| 5 |
-
# - neptune.yaml
|
| 6 |
-
# - tensorboard.yaml
|
| 7 |
-
- wandb.yaml
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
configs.example/logger/neptune.yaml
DELETED
|
@@ -1,8 +0,0 @@
|
|
| 1 |
-
# https://neptune.ai
|
| 2 |
-
|
| 3 |
-
neptune:
|
| 4 |
-
_target_: pytorch_lightning.loggers.NeptuneLogger
|
| 5 |
-
api_key: ${oc.env:NEPTUNE_API_TOKEN} # api key is loaded from environment variable
|
| 6 |
-
# Neptune project placeholder
|
| 7 |
-
project: PLACEHOLDER
|
| 8 |
-
prefix: ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
configs.example/logger/tensorboard.yaml
DELETED
|
@@ -1,11 +0,0 @@
|
|
| 1 |
-
# https://www.tensorflow.org/tensorboard/
|
| 2 |
-
|
| 3 |
-
tensorboard:
|
| 4 |
-
_target_: pytorch_lightning.loggers.tensorboard.TensorBoardLogger
|
| 5 |
-
# Path to use for tensorboard logs
|
| 6 |
-
save_dir: "PLACEHOLDER"
|
| 7 |
-
name: "default"
|
| 8 |
-
version: "${model_name}"
|
| 9 |
-
log_graph: False
|
| 10 |
-
default_hp_metric: False
|
| 11 |
-
prefix: ""
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
configs.example/logger/wandb.yaml
DELETED
|
@@ -1,17 +0,0 @@
|
|
| 1 |
-
# https://wandb.ai
|
| 2 |
-
|
| 3 |
-
wandb:
|
| 4 |
-
_target_: lightning.pytorch.loggers.wandb.WandbLogger
|
| 5 |
-
# wandb project to log to
|
| 6 |
-
project: "PLACEHOLDER"
|
| 7 |
-
name: "${model_name}"
|
| 8 |
-
# location to store the wandb local logs
|
| 9 |
-
save_dir: "PLACEHOLDER"
|
| 10 |
-
offline: False # set True to store all logs only locally
|
| 11 |
-
id: null # pass correct id to resume experiment!
|
| 12 |
-
# entity: "" # set to name of your wandb team or just remove it
|
| 13 |
-
log_model: False
|
| 14 |
-
prefix: ""
|
| 15 |
-
job_type: "train"
|
| 16 |
-
group: ""
|
| 17 |
-
tags: []
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
configs.example/model/baseline.yaml
DELETED
|
@@ -1,4 +0,0 @@
|
|
| 1 |
-
_target_: pvnet.models.baseline.last_value.Model
|
| 2 |
-
|
| 3 |
-
forecast_minutes: 120
|
| 4 |
-
history_minutes: 30
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
configs.example/model/multimodal.yaml
DELETED
|
@@ -1,115 +0,0 @@
|
|
| 1 |
-
_target_: pvnet.models.multimodal.multimodal.Model
|
| 2 |
-
|
| 3 |
-
output_quantiles: [0.02, 0.1, 0.25, 0.5, 0.75, 0.9, 0.98]
|
| 4 |
-
|
| 5 |
-
#--------------------------------------------
|
| 6 |
-
# NWP encoder
|
| 7 |
-
#--------------------------------------------
|
| 8 |
-
|
| 9 |
-
nwp_encoders_dict:
|
| 10 |
-
ukv:
|
| 11 |
-
_target_: pvnet.models.multimodal.encoders.encoders3d.DefaultPVNet
|
| 12 |
-
_partial_: True
|
| 13 |
-
in_channels: 2
|
| 14 |
-
out_features: 256
|
| 15 |
-
number_of_conv3d_layers: 6
|
| 16 |
-
conv3d_channels: 32
|
| 17 |
-
image_size_pixels: 24
|
| 18 |
-
ecmwf:
|
| 19 |
-
_target_: pvnet.models.multimodal.encoders.encoders3d.DefaultPVNet
|
| 20 |
-
_partial_: True
|
| 21 |
-
in_channels: 12
|
| 22 |
-
out_features: 256
|
| 23 |
-
number_of_conv3d_layers: 4
|
| 24 |
-
conv3d_channels: 32
|
| 25 |
-
image_size_pixels: 12
|
| 26 |
-
|
| 27 |
-
#--------------------------------------------
|
| 28 |
-
# Sat encoder settings
|
| 29 |
-
#--------------------------------------------
|
| 30 |
-
|
| 31 |
-
sat_encoder:
|
| 32 |
-
_target_: pvnet.models.multimodal.encoders.encoders3d.DefaultPVNet
|
| 33 |
-
_partial_: True
|
| 34 |
-
in_channels: 11
|
| 35 |
-
out_features: 256
|
| 36 |
-
number_of_conv3d_layers: 6
|
| 37 |
-
conv3d_channels: 32
|
| 38 |
-
image_size_pixels: 24
|
| 39 |
-
|
| 40 |
-
add_image_embedding_channel: False
|
| 41 |
-
|
| 42 |
-
#--------------------------------------------
|
| 43 |
-
# PV encoder settings
|
| 44 |
-
#--------------------------------------------
|
| 45 |
-
|
| 46 |
-
pv_encoder:
|
| 47 |
-
_target_: pvnet.models.multimodal.site_encoders.encoders.SingleAttentionNetwork
|
| 48 |
-
_partial_: True
|
| 49 |
-
num_sites: 349
|
| 50 |
-
out_features: 40
|
| 51 |
-
num_heads: 4
|
| 52 |
-
kdim: 40
|
| 53 |
-
id_embed_dim: 20
|
| 54 |
-
|
| 55 |
-
#--------------------------------------------
|
| 56 |
-
# Tabular network settings
|
| 57 |
-
#--------------------------------------------
|
| 58 |
-
|
| 59 |
-
output_network:
|
| 60 |
-
_target_: pvnet.models.multimodal.linear_networks.networks.ResFCNet2
|
| 61 |
-
_partial_: True
|
| 62 |
-
fc_hidden_features: 128
|
| 63 |
-
n_res_blocks: 6
|
| 64 |
-
res_block_layers: 2
|
| 65 |
-
dropout_frac: 0.0
|
| 66 |
-
|
| 67 |
-
embedding_dim: 16
|
| 68 |
-
include_sun: True
|
| 69 |
-
include_gsp_yield_history: False
|
| 70 |
-
include_site_yield_history: False
|
| 71 |
-
|
| 72 |
-
# The mapping between the location IDs and their embedding indices
|
| 73 |
-
location_id_mapping:
|
| 74 |
-
1: 1
|
| 75 |
-
5: 2
|
| 76 |
-
110: 3
|
| 77 |
-
# ...
|
| 78 |
-
|
| 79 |
-
#--------------------------------------------
|
| 80 |
-
# Times
|
| 81 |
-
#--------------------------------------------
|
| 82 |
-
|
| 83 |
-
# Foreast and time settings
|
| 84 |
-
forecast_minutes: 480
|
| 85 |
-
history_minutes: 120
|
| 86 |
-
|
| 87 |
-
min_sat_delay_minutes: 60
|
| 88 |
-
|
| 89 |
-
# These must also be set even if identical to forecast_minutes and history_minutes
|
| 90 |
-
sat_history_minutes: 90
|
| 91 |
-
pv_history_minutes: 180
|
| 92 |
-
|
| 93 |
-
# These must be set for each NWP encoder
|
| 94 |
-
nwp_history_minutes:
|
| 95 |
-
ukv: 120
|
| 96 |
-
ecmwf: 120
|
| 97 |
-
nwp_forecast_minutes:
|
| 98 |
-
ukv: 480
|
| 99 |
-
ecmwf: 480
|
| 100 |
-
# Optional; defaults to 60, so must be set for data with different time resolution
|
| 101 |
-
nwp_interval_minutes:
|
| 102 |
-
ukv: 60
|
| 103 |
-
ecmwf: 60
|
| 104 |
-
|
| 105 |
-
# ----------------------------------------------
|
| 106 |
-
# Optimizer
|
| 107 |
-
# ----------------------------------------------
|
| 108 |
-
optimizer:
|
| 109 |
-
_target_: pvnet.optimizers.EmbAdamWReduceLROnPlateau
|
| 110 |
-
lr: 0.0001
|
| 111 |
-
weight_decay: 0.01
|
| 112 |
-
amsgrad: True
|
| 113 |
-
patience: 5
|
| 114 |
-
factor: 0.1
|
| 115 |
-
threshold: 0.002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
configs.example/model/nwp_dwsrf_weighting.yaml
DELETED
|
@@ -1,21 +0,0 @@
|
|
| 1 |
-
_target_: pvnet.models.multimodal.nwp_weighting.Model
|
| 2 |
-
|
| 3 |
-
#--------------------------------------------
|
| 4 |
-
# Network settings
|
| 5 |
-
#--------------------------------------------
|
| 6 |
-
|
| 7 |
-
# Foreast and time settings
|
| 8 |
-
forecast_minutes: 480
|
| 9 |
-
history_minutes: 120
|
| 10 |
-
|
| 11 |
-
nwp_history_minutes: 120
|
| 12 |
-
nwp_forecast_minutes: 480
|
| 13 |
-
|
| 14 |
-
nwp_image_size_pixels: 24
|
| 15 |
-
dwsrf_channel: 1
|
| 16 |
-
|
| 17 |
-
# ----------------------------------------------
|
| 18 |
-
|
| 19 |
-
optimizer:
|
| 20 |
-
_target_: pvnet.optimizers.AdamW
|
| 21 |
-
lr: 0.0005
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
configs.example/model/test.yaml
DELETED
|
@@ -1,4 +0,0 @@
|
|
| 1 |
-
_target_: pvnet.models.baseline.single_value.Model
|
| 2 |
-
|
| 3 |
-
history_minutes: 120
|
| 4 |
-
forecast_minutes: 360
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
configs.example/model/wind_multimodal.yaml
DELETED
|
@@ -1,83 +0,0 @@
|
|
| 1 |
-
_target_: pvnet.models.multimodal.multimodal.Model
|
| 2 |
-
|
| 3 |
-
output_quantiles: [0.02, 0.1, 0.25, 0.5, 0.75, 0.9, 0.98]
|
| 4 |
-
|
| 5 |
-
#--------------------------------------------
|
| 6 |
-
# NWP encoder
|
| 7 |
-
#--------------------------------------------
|
| 8 |
-
nwp_encoders_dict:
|
| 9 |
-
ecmwf:
|
| 10 |
-
_target_: pvnet.models.multimodal.encoders.encoders3d.DefaultPVNet
|
| 11 |
-
_partial_: True
|
| 12 |
-
in_channels: 14
|
| 13 |
-
out_features: 256
|
| 14 |
-
number_of_conv3d_layers: 6
|
| 15 |
-
conv3d_channels: 32
|
| 16 |
-
image_size_pixels: 16
|
| 17 |
-
|
| 18 |
-
#--------------------------------------------
|
| 19 |
-
# Sensor encoder settings
|
| 20 |
-
#--------------------------------------------
|
| 21 |
-
|
| 22 |
-
wind_encoder:
|
| 23 |
-
_target_: pvnet.models.multimodal.site_encoders.encoders.SingleAttentionNetwork
|
| 24 |
-
_partial_: True
|
| 25 |
-
num_sites: 19
|
| 26 |
-
out_features: 40
|
| 27 |
-
num_heads: 4
|
| 28 |
-
kdim: 40
|
| 29 |
-
id_embed_dim: 20
|
| 30 |
-
|
| 31 |
-
#--------------------------------------------
|
| 32 |
-
# Tabular network settings
|
| 33 |
-
#--------------------------------------------
|
| 34 |
-
|
| 35 |
-
output_network:
|
| 36 |
-
_target_: pvnet.models.multimodal.linear_networks.networks.ResFCNet2
|
| 37 |
-
_partial_: True
|
| 38 |
-
fc_hidden_features: 128
|
| 39 |
-
n_res_blocks: 6
|
| 40 |
-
res_block_layers: 2
|
| 41 |
-
dropout_frac: 0.0
|
| 42 |
-
|
| 43 |
-
embedding_dim: 16
|
| 44 |
-
include_sun: False
|
| 45 |
-
include_gsp_yield_history: False
|
| 46 |
-
|
| 47 |
-
# The mapping between the location IDs and their embedding indices
|
| 48 |
-
location_id_mapping:
|
| 49 |
-
1: 1
|
| 50 |
-
5: 2
|
| 51 |
-
110: 3
|
| 52 |
-
# ...
|
| 53 |
-
|
| 54 |
-
#--------------------------------------------
|
| 55 |
-
# Times
|
| 56 |
-
#--------------------------------------------
|
| 57 |
-
|
| 58 |
-
# Foreast and time settings
|
| 59 |
-
forecast_minutes: 480
|
| 60 |
-
history_minutes: 120
|
| 61 |
-
|
| 62 |
-
min_sat_delay_minutes: 60
|
| 63 |
-
|
| 64 |
-
# --- set to null if same as history_minutes ---
|
| 65 |
-
sat_history_minutes: 90
|
| 66 |
-
nwp_history_minutes: 60
|
| 67 |
-
nwp_forecast_minutes: 2880
|
| 68 |
-
pv_history_minutes: 180
|
| 69 |
-
pv_interval_minutes: 15
|
| 70 |
-
sat_interval_minutes: 15
|
| 71 |
-
|
| 72 |
-
target_key: "sensor"
|
| 73 |
-
# ----------------------------------------------
|
| 74 |
-
# Optimizer
|
| 75 |
-
# ----------------------------------------------
|
| 76 |
-
optimizer:
|
| 77 |
-
_target_: pvnet.optimizers.EmbAdamWReduceLROnPlateau
|
| 78 |
-
lr: 0.0001
|
| 79 |
-
weight_decay: 0.01
|
| 80 |
-
amsgrad: True
|
| 81 |
-
patience: 5
|
| 82 |
-
factor: 0.1
|
| 83 |
-
threshold: 0.002
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
configs.example/readme.md
DELETED
|
@@ -1,5 +0,0 @@
|
|
| 1 |
-
This directory contains example configuration files for the PVNet project. Many paths will need to unique to each user. You can find these paths by searching for PLACEHOLDER within these logs. Not all of
|
| 2 |
-
the values with a placeholder need to be set. For example in the logger subdirectory there are many different loggers with PLACEHOLDERS. If only one logger is used, then only that placeholder needs to be set.
|
| 3 |
-
|
| 4 |
-
run experiments by:
|
| 5 |
-
`python run.py experiment=example_simple `
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
configs.example/trainer/all_params.yaml
DELETED
|
@@ -1,48 +0,0 @@
|
|
| 1 |
-
_target_: pytorch_lightning.Trainer
|
| 2 |
-
|
| 3 |
-
# default values for all trainer parameters
|
| 4 |
-
checkpoint_callback: True
|
| 5 |
-
default_root_dir: null
|
| 6 |
-
gradient_clip_val: 0.0
|
| 7 |
-
process_position: 0
|
| 8 |
-
num_nodes: 1
|
| 9 |
-
num_processes: 1
|
| 10 |
-
gpus: null
|
| 11 |
-
auto_select_gpus: False
|
| 12 |
-
tpu_cores: null
|
| 13 |
-
log_gpu_memory: null
|
| 14 |
-
overfit_batches: 0.0
|
| 15 |
-
track_grad_norm: -1
|
| 16 |
-
check_val_every_n_epoch: 1
|
| 17 |
-
fast_dev_run: False
|
| 18 |
-
accumulate_grad_batches: 1
|
| 19 |
-
max_epochs: 1
|
| 20 |
-
min_epochs: 1
|
| 21 |
-
max_steps: null
|
| 22 |
-
min_steps: null
|
| 23 |
-
limit_train_batches: 1.0
|
| 24 |
-
limit_val_batches: 1.0
|
| 25 |
-
limit_test_batches: 1.0
|
| 26 |
-
val_check_interval: 1.0
|
| 27 |
-
flush_logs_every_n_steps: 100
|
| 28 |
-
log_every_n_steps: 50
|
| 29 |
-
accelerator: null
|
| 30 |
-
sync_batchnorm: False
|
| 31 |
-
precision: 32
|
| 32 |
-
weights_save_path: null
|
| 33 |
-
num_sanity_val_steps: 2
|
| 34 |
-
truncated_bptt_steps: null
|
| 35 |
-
resume_from_checkpoint: null
|
| 36 |
-
profiler: null
|
| 37 |
-
benchmark: False
|
| 38 |
-
deterministic: False
|
| 39 |
-
reload_dataloaders_every_epoch: False
|
| 40 |
-
auto_lr_find: False
|
| 41 |
-
replace_sampler_ddp: True
|
| 42 |
-
terminate_on_nan: False
|
| 43 |
-
auto_scale_batch_size: False
|
| 44 |
-
prepare_data_per_node: True
|
| 45 |
-
plugins: null
|
| 46 |
-
amp_backend: "native"
|
| 47 |
-
amp_level: "O2"
|
| 48 |
-
move_metrics_to_cpu: False
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
configs.example/trainer/default.yaml
DELETED
|
@@ -1,14 +0,0 @@
|
|
| 1 |
-
_target_: lightning.pytorch.trainer.trainer.Trainer
|
| 2 |
-
|
| 3 |
-
# set `1` to train on GPU, `0` to train on CPU only
|
| 4 |
-
accelerator: auto
|
| 5 |
-
devices: auto
|
| 6 |
-
|
| 7 |
-
min_epochs: null
|
| 8 |
-
max_epochs: null
|
| 9 |
-
reload_dataloaders_every_n_epochs: 0
|
| 10 |
-
num_sanity_val_steps: 8
|
| 11 |
-
fast_dev_run: false
|
| 12 |
-
|
| 13 |
-
accumulate_grad_batches: 4
|
| 14 |
-
log_every_n_steps: 50
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|