PVNet 3.0.48__tar.gz → 3.0.50__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 (49) hide show
  1. {pvnet-3.0.48 → pvnet-3.0.50}/PKG-INFO +2 -2
  2. {pvnet-3.0.48 → pvnet-3.0.50}/PVNet.egg-info/PKG-INFO +2 -2
  3. {pvnet-3.0.48 → pvnet-3.0.50}/README.md +1 -1
  4. pvnet-3.0.50/pvnet/__init__.py +2 -0
  5. {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/base_model.py +28 -16
  6. {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/utils.py +2 -1
  7. pvnet-3.0.48/pvnet/__init__.py +0 -2
  8. {pvnet-3.0.48 → pvnet-3.0.50}/LICENSE +0 -0
  9. {pvnet-3.0.48 → pvnet-3.0.50}/MANIFEST.in +0 -0
  10. {pvnet-3.0.48 → pvnet-3.0.50}/PVNet.egg-info/SOURCES.txt +0 -0
  11. {pvnet-3.0.48 → pvnet-3.0.50}/PVNet.egg-info/dependency_links.txt +0 -0
  12. {pvnet-3.0.48 → pvnet-3.0.50}/PVNet.egg-info/requires.txt +0 -0
  13. {pvnet-3.0.48 → pvnet-3.0.50}/PVNet.egg-info/top_level.txt +0 -0
  14. {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/callbacks.py +0 -0
  15. {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/data/__init__.py +0 -0
  16. {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/data/base.py +0 -0
  17. {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/data/datamodule.py +0 -0
  18. {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/data/pv_site_datamodule.py +0 -0
  19. {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/data/utils.py +0 -0
  20. {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/data/wind_datamodule.py +0 -0
  21. {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/load_model.py +0 -0
  22. {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/__init__.py +0 -0
  23. {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/baseline/__init__.py +0 -0
  24. {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/baseline/last_value.py +0 -0
  25. {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/baseline/single_value.py +0 -0
  26. {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/ensemble.py +0 -0
  27. {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/multimodal/__init__.py +0 -0
  28. {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/multimodal/basic_blocks.py +0 -0
  29. {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/multimodal/encoders/__init__.py +0 -0
  30. {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/multimodal/encoders/basic_blocks.py +0 -0
  31. {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/multimodal/encoders/encoders2d.py +0 -0
  32. {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/multimodal/encoders/encoders3d.py +0 -0
  33. {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/multimodal/encoders/encodersRNN.py +0 -0
  34. {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/multimodal/linear_networks/__init__.py +0 -0
  35. {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/multimodal/linear_networks/basic_blocks.py +0 -0
  36. {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/multimodal/linear_networks/networks.py +0 -0
  37. {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/multimodal/multimodal.py +0 -0
  38. {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/multimodal/multimodal_base.py +0 -0
  39. {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/multimodal/site_encoders/__init__.py +0 -0
  40. {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/multimodal/site_encoders/basic_blocks.py +0 -0
  41. {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/multimodal/site_encoders/encoders.py +0 -0
  42. {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/multimodal/unimodal_teacher.py +0 -0
  43. {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/optimizers.py +0 -0
  44. {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/training.py +0 -0
  45. {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/utils.py +0 -0
  46. {pvnet-3.0.48 → pvnet-3.0.50}/pyproject.toml +0 -0
  47. {pvnet-3.0.48 → pvnet-3.0.50}/setup.cfg +0 -0
  48. {pvnet-3.0.48 → pvnet-3.0.50}/tests/test_end2end.py +0 -0
  49. {pvnet-3.0.48 → pvnet-3.0.50}/tests/test_utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PVNet
3
- Version: 3.0.48
3
+ Version: 3.0.50
4
4
  Summary: PVNet
5
5
  Author-email: Peter Dudfield <info@openclimatefix.org>
6
6
  Description-Content-Type: text/markdown
@@ -149,7 +149,7 @@ conda create -n ocf_datapipes python=3.10
149
149
  Then go inside the ocf_datapipes repo to add packages
150
150
 
151
151
  ```bash
152
- pip install ".[dev]"
152
+ pip install -r requirements.txt -r requirements-dev.txt
153
153
  ```
154
154
 
155
155
  Then exit this environment, and enter back into the pvnet conda environment and install ocf_datapies in editable mode (-e). This means the package is directly linked to the source code in the ocf_datapies repo.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: PVNet
3
- Version: 3.0.48
3
+ Version: 3.0.50
4
4
  Summary: PVNet
5
5
  Author-email: Peter Dudfield <info@openclimatefix.org>
6
6
  Description-Content-Type: text/markdown
@@ -149,7 +149,7 @@ conda create -n ocf_datapipes python=3.10
149
149
  Then go inside the ocf_datapipes repo to add packages
150
150
 
151
151
  ```bash
152
- pip install ".[dev]"
152
+ pip install -r requirements.txt -r requirements-dev.txt
153
153
  ```
154
154
 
155
155
  Then exit this environment, and enter back into the pvnet conda environment and install ocf_datapies in editable mode (-e). This means the package is directly linked to the source code in the ocf_datapies repo.
@@ -101,7 +101,7 @@ conda create -n ocf_datapipes python=3.10
101
101
  Then go inside the ocf_datapipes repo to add packages
102
102
 
103
103
  ```bash
104
- pip install ".[dev]"
104
+ pip install -r requirements.txt -r requirements-dev.txt
105
105
  ```
106
106
 
107
107
  Then exit this environment, and enter back into the pvnet conda environment and install ocf_datapies in editable mode (-e). This means the package is directly linked to the source code in the ocf_datapies repo.
@@ -0,0 +1,2 @@
1
+ """PVNet"""
2
+ __version__ = "3.0.50"
@@ -13,11 +13,10 @@ import torch
13
13
  import torch.nn.functional as F
14
14
  import wandb
15
15
  import yaml
16
- from huggingface_hub import ModelCard, ModelCardData, PyTorchModelHubMixin
16
+ from huggingface_hub import ModelCard, ModelCardData
17
17
  from huggingface_hub.constants import CONFIG_NAME, PYTORCH_WEIGHTS_NAME
18
18
  from huggingface_hub.file_download import hf_hub_download
19
19
  from huggingface_hub.hf_api import HfApi
20
- from huggingface_hub.utils._deprecation import _deprecate_positional_args
21
20
  from ocf_datapipes.batch import BatchKey
22
21
  from ocf_ml_metrics.evaluation.evaluation import evaluation
23
22
 
@@ -141,33 +140,34 @@ def minimize_data_config(input_path, output_path, model):
141
140
  yaml.dump(config, outfile, default_flow_style=False)
142
141
 
143
142
 
144
- class PVNetModelHubMixin(PyTorchModelHubMixin):
143
+ class PVNetModelHubMixin:
145
144
  """
146
145
  Implementation of [`PyTorchModelHubMixin`] to provide model Hub upload/download capabilities.
147
146
  """
148
147
 
149
148
  @classmethod
150
- @_deprecate_positional_args(version="0.16")
151
- def _from_pretrained(
149
+ def from_pretrained(
152
150
  cls,
153
151
  *,
154
152
  model_id: str,
155
153
  revision: str,
156
- cache_dir: str,
157
- force_download: bool,
158
- proxies: Optional[Dict],
159
- resume_download: bool,
160
- local_files_only: bool,
161
- token: Union[str, bool, None],
154
+ cache_dir: Optional[Union[str, Path]] = None,
155
+ force_download: bool = False,
156
+ proxies: Optional[Dict] = None,
157
+ resume_download: Optional[bool] = None,
158
+ local_files_only: bool = False,
159
+ token: Union[str, bool, None] = None,
162
160
  map_location: str = "cpu",
163
161
  strict: bool = False,
164
- **model_kwargs,
165
162
  ):
166
163
  """Load Pytorch pretrained weights and return the loaded model."""
164
+
167
165
  if os.path.isdir(model_id):
168
166
  print("Loading weights from local directory")
169
167
  model_file = os.path.join(model_id, PYTORCH_WEIGHTS_NAME)
168
+ config_file = os.path.join(model_id, CONFIG_NAME)
170
169
  else:
170
+ # load model file
171
171
  model_file = hf_hub_download(
172
172
  repo_id=model_id,
173
173
  filename=PYTORCH_WEIGHTS_NAME,
@@ -180,11 +180,23 @@ class PVNetModelHubMixin(PyTorchModelHubMixin):
180
180
  local_files_only=local_files_only,
181
181
  )
182
182
 
183
- if "config" not in model_kwargs:
184
- raise ValueError("Config must be supplied to instantiate model")
183
+ # load config file
184
+ config_file = hf_hub_download(
185
+ repo_id=model_id,
186
+ filename=CONFIG_NAME,
187
+ revision=revision,
188
+ cache_dir=cache_dir,
189
+ force_download=force_download,
190
+ proxies=proxies,
191
+ resume_download=resume_download,
192
+ token=token,
193
+ local_files_only=local_files_only,
194
+ )
195
+
196
+ with open(config_file, "r", encoding="utf-8") as f:
197
+ config = json.load(f)
185
198
 
186
- model_kwargs.update(model_kwargs.pop("config"))
187
- model = hydra.utils.instantiate(model_kwargs)
199
+ model = hydra.utils.instantiate(config)
188
200
 
189
201
  state_dict = torch.load(model_file, map_location=torch.device(map_location))
190
202
  model.load_state_dict(state_dict, strict=strict) # type: ignore
@@ -149,7 +149,8 @@ class WeightedLosses:
149
149
  self.decay_rate = math.log(2)
150
150
 
151
151
  # make weights from decay rate
152
- weights = torch.from_numpy(np.exp(-self.decay_rate * np.arange(self.forecast_length)))
152
+ weights = np.exp(-self.decay_rate * np.arange(self.forecast_length))
153
+ weights = torch.tensor(weights)
153
154
 
154
155
  # normalized the weights, so there mean is 1.
155
156
  # To calculate the loss, we times the weights by the differences between truth
@@ -1,2 +0,0 @@
1
- """PVNet"""
2
- __version__ = "3.0.48"
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
File without changes
File without changes
File without changes