PVNet 3.0.50__tar.gz → 3.0.52__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.50 → pvnet-3.0.52}/PKG-INFO +1 -1
- {pvnet-3.0.50 → pvnet-3.0.52}/PVNet.egg-info/PKG-INFO +1 -1
- pvnet-3.0.52/pvnet/__init__.py +2 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/pvnet/models/multimodal/multimodal.py +26 -0
- pvnet-3.0.50/pvnet/__init__.py +0 -2
- {pvnet-3.0.50 → pvnet-3.0.52}/LICENSE +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/MANIFEST.in +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/PVNet.egg-info/SOURCES.txt +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/PVNet.egg-info/dependency_links.txt +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/PVNet.egg-info/requires.txt +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/PVNet.egg-info/top_level.txt +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/README.md +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/pvnet/callbacks.py +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/pvnet/data/__init__.py +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/pvnet/data/base.py +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/pvnet/data/datamodule.py +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/pvnet/data/pv_site_datamodule.py +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/pvnet/data/utils.py +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/pvnet/data/wind_datamodule.py +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/pvnet/load_model.py +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/pvnet/models/__init__.py +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/pvnet/models/base_model.py +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/pvnet/models/baseline/__init__.py +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/pvnet/models/baseline/last_value.py +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/pvnet/models/baseline/single_value.py +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/pvnet/models/ensemble.py +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/pvnet/models/multimodal/__init__.py +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/pvnet/models/multimodal/basic_blocks.py +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/pvnet/models/multimodal/encoders/__init__.py +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/pvnet/models/multimodal/encoders/basic_blocks.py +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/pvnet/models/multimodal/encoders/encoders2d.py +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/pvnet/models/multimodal/encoders/encoders3d.py +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/pvnet/models/multimodal/encoders/encodersRNN.py +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/pvnet/models/multimodal/linear_networks/__init__.py +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/pvnet/models/multimodal/linear_networks/basic_blocks.py +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/pvnet/models/multimodal/linear_networks/networks.py +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/pvnet/models/multimodal/multimodal_base.py +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/pvnet/models/multimodal/site_encoders/__init__.py +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/pvnet/models/multimodal/site_encoders/basic_blocks.py +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/pvnet/models/multimodal/site_encoders/encoders.py +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/pvnet/models/multimodal/unimodal_teacher.py +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/pvnet/models/utils.py +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/pvnet/optimizers.py +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/pvnet/training.py +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/pvnet/utils.py +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/pyproject.toml +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/setup.cfg +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/tests/test_end2end.py +0 -0
- {pvnet-3.0.50 → pvnet-3.0.52}/tests/test_utils.py +0 -0
|
@@ -48,6 +48,7 @@ class Model(MultimodalBaseModel):
|
|
|
48
48
|
add_image_embedding_channel: bool = False,
|
|
49
49
|
include_gsp_yield_history: bool = True,
|
|
50
50
|
include_sun: bool = True,
|
|
51
|
+
include_time: bool = False,
|
|
51
52
|
embedding_dim: Optional[int] = 16,
|
|
52
53
|
forecast_minutes: int = 30,
|
|
53
54
|
history_minutes: int = 60,
|
|
@@ -97,6 +98,7 @@ class Model(MultimodalBaseModel):
|
|
|
97
98
|
embedding of the GSP ID.
|
|
98
99
|
include_gsp_yield_history: Include GSP yield data.
|
|
99
100
|
include_sun: Include sun azimuth and altitude data.
|
|
101
|
+
include_time: Include sine and cosine of dates and times.
|
|
100
102
|
embedding_dim: Number of embedding dimensions to use for GSP ID. Not included if set to
|
|
101
103
|
`None`.
|
|
102
104
|
forecast_minutes: The amount of minutes that should be forecasted.
|
|
@@ -141,6 +143,7 @@ class Model(MultimodalBaseModel):
|
|
|
141
143
|
self.include_nwp = nwp_encoders_dict is not None and len(nwp_encoders_dict) != 0
|
|
142
144
|
self.include_pv = pv_encoder is not None
|
|
143
145
|
self.include_sun = include_sun
|
|
146
|
+
self.include_time = include_time
|
|
144
147
|
self.include_wind = wind_encoder is not None
|
|
145
148
|
self.include_sensor = sensor_encoder is not None
|
|
146
149
|
self.embedding_dim = embedding_dim
|
|
@@ -283,6 +286,16 @@ class Model(MultimodalBaseModel):
|
|
|
283
286
|
# Update num features
|
|
284
287
|
fusion_input_features += 16
|
|
285
288
|
|
|
289
|
+
if self.include_time:
|
|
290
|
+
self.time_fc1 = nn.Linear(
|
|
291
|
+
in_features=4
|
|
292
|
+
* (self.forecast_len + self.forecast_len_ignore + self.history_len + 1),
|
|
293
|
+
out_features=32,
|
|
294
|
+
)
|
|
295
|
+
|
|
296
|
+
# Update num features
|
|
297
|
+
fusion_input_features += 32
|
|
298
|
+
|
|
286
299
|
if include_gsp_yield_history:
|
|
287
300
|
# Update num features
|
|
288
301
|
fusion_input_features += self.history_len
|
|
@@ -388,6 +401,19 @@ class Model(MultimodalBaseModel):
|
|
|
388
401
|
sun = self.sun_fc1(sun)
|
|
389
402
|
modes["sun"] = sun
|
|
390
403
|
|
|
404
|
+
if self.include_time:
|
|
405
|
+
time = torch.cat(
|
|
406
|
+
(
|
|
407
|
+
x[BatchKey[f"{self._target_key_name}_date_sin"]],
|
|
408
|
+
x[BatchKey[f"{self._target_key_name}_date_cos"]],
|
|
409
|
+
x[BatchKey[f"{self._target_key_name}_time_sin"]],
|
|
410
|
+
x[BatchKey[f"{self._target_key_name}_time_cos"]],
|
|
411
|
+
),
|
|
412
|
+
dim=1,
|
|
413
|
+
).float()
|
|
414
|
+
time = self.time_fc1(time)
|
|
415
|
+
modes["time"] = time
|
|
416
|
+
|
|
391
417
|
out = self.output_network(modes)
|
|
392
418
|
|
|
393
419
|
if self.use_quantile_regression:
|
pvnet-3.0.50/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
|
|
File without changes
|
|
File without changes
|