PVNet 5.3.24__tar.gz → 5.3.26__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. {pvnet-5.3.24 → pvnet-5.3.26}/PKG-INFO +1 -1
  2. {pvnet-5.3.24 → pvnet-5.3.26}/PVNet.egg-info/PKG-INFO +1 -1
  3. {pvnet-5.3.24 → pvnet-5.3.26}/pvnet/training/train.py +23 -25
  4. {pvnet-5.3.24 → pvnet-5.3.26}/LICENSE +0 -0
  5. {pvnet-5.3.24 → pvnet-5.3.26}/PVNet.egg-info/SOURCES.txt +0 -0
  6. {pvnet-5.3.24 → pvnet-5.3.26}/PVNet.egg-info/dependency_links.txt +0 -0
  7. {pvnet-5.3.24 → pvnet-5.3.26}/PVNet.egg-info/requires.txt +0 -0
  8. {pvnet-5.3.24 → pvnet-5.3.26}/PVNet.egg-info/top_level.txt +0 -0
  9. {pvnet-5.3.24 → pvnet-5.3.26}/README.md +0 -0
  10. {pvnet-5.3.24 → pvnet-5.3.26}/pvnet/__init__.py +0 -0
  11. {pvnet-5.3.24 → pvnet-5.3.26}/pvnet/datamodule.py +0 -0
  12. {pvnet-5.3.24 → pvnet-5.3.26}/pvnet/load_model.py +0 -0
  13. {pvnet-5.3.24 → pvnet-5.3.26}/pvnet/models/__init__.py +0 -0
  14. {pvnet-5.3.24 → pvnet-5.3.26}/pvnet/models/base_model.py +0 -0
  15. {pvnet-5.3.24 → pvnet-5.3.26}/pvnet/models/ensemble.py +0 -0
  16. {pvnet-5.3.24 → pvnet-5.3.26}/pvnet/models/late_fusion/__init__.py +0 -0
  17. {pvnet-5.3.24 → pvnet-5.3.26}/pvnet/models/late_fusion/basic_blocks.py +0 -0
  18. {pvnet-5.3.24 → pvnet-5.3.26}/pvnet/models/late_fusion/encoders/__init__.py +0 -0
  19. {pvnet-5.3.24 → pvnet-5.3.26}/pvnet/models/late_fusion/encoders/basic_blocks.py +0 -0
  20. {pvnet-5.3.24 → pvnet-5.3.26}/pvnet/models/late_fusion/encoders/encoders3d.py +0 -0
  21. {pvnet-5.3.24 → pvnet-5.3.26}/pvnet/models/late_fusion/late_fusion.py +0 -0
  22. {pvnet-5.3.24 → pvnet-5.3.26}/pvnet/models/late_fusion/linear_networks/__init__.py +0 -0
  23. {pvnet-5.3.24 → pvnet-5.3.26}/pvnet/models/late_fusion/linear_networks/basic_blocks.py +0 -0
  24. {pvnet-5.3.24 → pvnet-5.3.26}/pvnet/models/late_fusion/linear_networks/networks.py +0 -0
  25. {pvnet-5.3.24 → pvnet-5.3.26}/pvnet/models/late_fusion/site_encoders/__init__.py +0 -0
  26. {pvnet-5.3.24 → pvnet-5.3.26}/pvnet/models/late_fusion/site_encoders/basic_blocks.py +0 -0
  27. {pvnet-5.3.24 → pvnet-5.3.26}/pvnet/models/late_fusion/site_encoders/encoders.py +0 -0
  28. {pvnet-5.3.24 → pvnet-5.3.26}/pvnet/optimizers.py +0 -0
  29. {pvnet-5.3.24 → pvnet-5.3.26}/pvnet/training/__init__.py +0 -0
  30. {pvnet-5.3.24 → pvnet-5.3.26}/pvnet/training/lightning_module.py +0 -0
  31. {pvnet-5.3.24 → pvnet-5.3.26}/pvnet/training/plots.py +0 -0
  32. {pvnet-5.3.24 → pvnet-5.3.26}/pvnet/utils.py +0 -0
  33. {pvnet-5.3.24 → pvnet-5.3.26}/pyproject.toml +0 -0
  34. {pvnet-5.3.24 → pvnet-5.3.26}/setup.cfg +0 -0
  35. {pvnet-5.3.24 → pvnet-5.3.26}/tests/test_datamodule.py +0 -0
  36. {pvnet-5.3.24 → pvnet-5.3.26}/tests/test_end2end.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PVNet
3
- Version: 5.3.24
3
+ Version: 5.3.26
4
4
  Summary: PVNet
5
5
  Author-email: Peter Dudfield <info@openclimatefix.org>
6
6
  Requires-Python: <3.14,>=3.11
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: PVNet
3
- Version: 5.3.24
3
+ Version: 5.3.26
4
4
  Summary: PVNet
5
5
  Author-email: Peter Dudfield <info@openclimatefix.org>
6
6
  Requires-Python: <3.14,>=3.11
@@ -85,31 +85,29 @@ def train(config: DictConfig) -> None:
85
85
 
86
86
  # Set the output directory based in the wandb-id of the run
87
87
  if use_wandb_logger:
88
- for callback in callbacks:
89
- if isinstance(callback, ModelCheckpoint):
90
- # Calling the .experiment property instantiates a wandb run
91
- wandb_id = wandb_logger.experiment.id
92
-
93
- # Save the run results to the expected parent folder but with the folder name
94
- # set by the wandb ID
95
- save_dir = "/".join(callback.dirpath.split("/")[:-1] + [wandb_id])
96
-
97
- callback.dirpath = save_dir
98
-
99
- # Save the model config
100
- os.makedirs(save_dir, exist_ok=True)
101
- OmegaConf.save(config.model, f"{save_dir}/{MODEL_CONFIG_NAME}")
102
-
103
- # Save the data config to the output directory and to wandb
104
- data_config = config.datamodule.configuration
105
- shutil.copyfile(data_config, f"{save_dir}/{DATA_CONFIG_NAME}")
106
- wandb_logger.experiment.save(f"{save_dir}/{DATA_CONFIG_NAME}", base_path=save_dir)
107
-
108
- # Save the full hydra config to the output directory and to wandb
109
- OmegaConf.save(config, f"{save_dir}/{FULL_CONFIG_NAME}")
110
- wandb_logger.experiment.save(f"{save_dir}/{FULL_CONFIG_NAME}", base_path=save_dir)
111
-
112
- break
88
+ ckpt_callbacks = [cb for cb in callbacks if isinstance(cb, ModelCheckpoint)]
89
+ if ckpt_callbacks:
90
+ wandb_id = wandb_logger.experiment.id
91
+
92
+ # Save run results to the expected folder but with folder name set by ID
93
+ save_dir = "/".join(ckpt_callbacks[0].dirpath.split("/")[:-1] + [wandb_id])
94
+
95
+ # Point every ckpt callback (best + last) at same folder
96
+ for cb in ckpt_callbacks:
97
+ cb.dirpath = save_dir
98
+
99
+ # Save model config
100
+ os.makedirs(save_dir, exist_ok=True)
101
+ OmegaConf.save(config.model, f"{save_dir}/{MODEL_CONFIG_NAME}")
102
+
103
+ # Save data config to output directory and to wandb
104
+ data_config = config.datamodule.configuration
105
+ shutil.copyfile(data_config, f"{save_dir}/{DATA_CONFIG_NAME}")
106
+ wandb_logger.experiment.save(f"{save_dir}/{DATA_CONFIG_NAME}", base_path=save_dir)
107
+
108
+ # Save full hydra config to output directory and to wandb
109
+ OmegaConf.save(config, f"{save_dir}/{FULL_CONFIG_NAME}")
110
+ wandb_logger.experiment.save(f"{save_dir}/{FULL_CONFIG_NAME}", base_path=save_dir)
113
111
 
114
112
  trainer: Trainer = hydra.utils.instantiate(
115
113
  config.trainer,
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes