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.
- {pvnet-3.0.48 → pvnet-3.0.50}/PKG-INFO +2 -2
- {pvnet-3.0.48 → pvnet-3.0.50}/PVNet.egg-info/PKG-INFO +2 -2
- {pvnet-3.0.48 → pvnet-3.0.50}/README.md +1 -1
- pvnet-3.0.50/pvnet/__init__.py +2 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/base_model.py +28 -16
- {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/utils.py +2 -1
- pvnet-3.0.48/pvnet/__init__.py +0 -2
- {pvnet-3.0.48 → pvnet-3.0.50}/LICENSE +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/MANIFEST.in +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/PVNet.egg-info/SOURCES.txt +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/PVNet.egg-info/dependency_links.txt +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/PVNet.egg-info/requires.txt +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/PVNet.egg-info/top_level.txt +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/callbacks.py +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/data/__init__.py +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/data/base.py +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/data/datamodule.py +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/data/pv_site_datamodule.py +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/data/utils.py +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/data/wind_datamodule.py +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/load_model.py +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/__init__.py +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/baseline/__init__.py +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/baseline/last_value.py +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/baseline/single_value.py +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/ensemble.py +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/multimodal/__init__.py +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/multimodal/basic_blocks.py +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/multimodal/encoders/__init__.py +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/multimodal/encoders/basic_blocks.py +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/multimodal/encoders/encoders2d.py +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/multimodal/encoders/encoders3d.py +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/multimodal/encoders/encodersRNN.py +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/multimodal/linear_networks/__init__.py +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/multimodal/linear_networks/basic_blocks.py +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/multimodal/linear_networks/networks.py +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/multimodal/multimodal.py +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/multimodal/multimodal_base.py +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/multimodal/site_encoders/__init__.py +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/multimodal/site_encoders/basic_blocks.py +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/multimodal/site_encoders/encoders.py +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/models/multimodal/unimodal_teacher.py +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/optimizers.py +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/training.py +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/pvnet/utils.py +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/pyproject.toml +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/setup.cfg +0 -0
- {pvnet-3.0.48 → pvnet-3.0.50}/tests/test_end2end.py +0 -0
- {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.
|
|
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
|
|
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.
|
|
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
|
|
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
|
|
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.
|
|
@@ -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
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
184
|
-
|
|
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
|
-
|
|
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 =
|
|
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
|
pvnet-3.0.48/pvnet/__init__.py
DELETED
|
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
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|