diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index e191b290..a9aec13f 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -3,7 +3,7 @@ default_language_version: repos: - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.4.0 + rev: v5.0.0 hooks: # list of supported hooks: https://pre-commit.com/hooks.html - id: trailing-whitespace @@ -14,18 +14,18 @@ repos: # python code formatting/linting - repo: https://github.com/astral-sh/ruff-pre-commit # Ruff version. - rev: "v0.0.286" + rev: "v0.9.6" hooks: - id: ruff args: [--fix] - repo: https://github.com/psf/black - rev: 23.7.0 + rev: 25.1.0 hooks: - id: black args: [--line-length, "100"] # yaml formatting - repo: https://github.com/pre-commit/mirrors-prettier - rev: v3.0.2 + rev: v4.0.0-alpha.8 hooks: - id: prettier types: [yaml] diff --git a/experiments/india/004_n_training_samples/log-plot.py b/experiments/india/004_n_training_samples/log-plot.py index e876384a..04b74a45 100644 --- a/experiments/india/004_n_training_samples/log-plot.py +++ b/experiments/india/004_n_training_samples/log-plot.py @@ -1,4 +1,4 @@ -""" Small script to make MAE vs number of batches plot""" +"""Small script to make MAE vs number of batches plot""" import pandas as df import plotly.graph_objects as go diff --git a/pvnet/__init__.py b/pvnet/__init__.py index 6df1ae46..edf1965b 100644 --- a/pvnet/__init__.py +++ b/pvnet/__init__.py @@ -1,2 +1,3 @@ """PVNet""" + __version__ = "3.0.64" diff --git a/pvnet/callbacks.py b/pvnet/callbacks.py index 0455d774..43254924 100644 --- a/pvnet/callbacks.py +++ b/pvnet/callbacks.py @@ -1,5 +1,5 @@ -"""Custom callbacks -""" +"""Custom callbacks""" + from lightning.pytorch import Trainer from lightning.pytorch.callbacks import BaseFinetuning, EarlyStopping, LearningRateFinder from lightning.pytorch.trainer.states import TrainerFn diff --git a/pvnet/data/__init__.py b/pvnet/data/__init__.py index 5d763df0..7f3aa89f 100644 --- a/pvnet/data/__init__.py +++ b/pvnet/data/__init__.py @@ -1,2 +1,3 @@ """Data parts""" + from .utils import BatchSplitter diff --git a/pvnet/data/base.py b/pvnet/data/base.py index b53c4ee8..f98577d6 100644 --- a/pvnet/data/base.py +++ b/pvnet/data/base.py @@ -1,4 +1,5 @@ -""" Data module for pytorch lightning """ +"""Data module for pytorch lightning""" + from datetime import datetime from lightning.pytorch import LightningDataModule diff --git a/pvnet/data/datamodule.py b/pvnet/data/datamodule.py index 47e23fd7..0909d979 100644 --- a/pvnet/data/datamodule.py +++ b/pvnet/data/datamodule.py @@ -1,4 +1,4 @@ -""" Data module for pytorch lightning """ +"""Data module for pytorch lightning""" import resource diff --git a/pvnet/data/pv_site_datamodule.py b/pvnet/data/pv_site_datamodule.py index 4c45eaec..52c411bf 100644 --- a/pvnet/data/pv_site_datamodule.py +++ b/pvnet/data/pv_site_datamodule.py @@ -1,4 +1,5 @@ -""" Data module for pytorch lightning """ +"""Data module for pytorch lightning""" + import glob from ocf_datapipes.batch import BatchKey, batch_to_tensor, stack_np_examples_into_batch diff --git a/pvnet/data/utils.py b/pvnet/data/utils.py index b4441c14..5a942ec6 100644 --- a/pvnet/data/utils.py +++ b/pvnet/data/utils.py @@ -1,4 +1,5 @@ """Utils common between Wind and PV datamodules""" + from ocf_datapipes.batch import BatchKey, unstack_np_batch_into_examples from torch.utils.data import IterDataPipe, functional_datapipe diff --git a/pvnet/data/wind_datamodule.py b/pvnet/data/wind_datamodule.py index 0c11d31d..374478a0 100644 --- a/pvnet/data/wind_datamodule.py +++ b/pvnet/data/wind_datamodule.py @@ -1,4 +1,5 @@ -""" Data module for pytorch lightning """ +"""Data module for pytorch lightning""" + import glob from ocf_datapipes.batch import BatchKey, batch_to_tensor, stack_np_examples_into_batch diff --git a/pvnet/load_model.py b/pvnet/load_model.py index ba6de363..d916db8c 100644 --- a/pvnet/load_model.py +++ b/pvnet/load_model.py @@ -1,4 +1,5 @@ -""" Load a model from its checkpoint directory """ +"""Load a model from its checkpoint directory""" + import glob import os diff --git a/pvnet/models/base_model.py b/pvnet/models/base_model.py index 24ce5bfc..d7d5fe15 100644 --- a/pvnet/models/base_model.py +++ b/pvnet/models/base_model.py @@ -1,4 +1,5 @@ """Base model for all PVNet submodels""" + import json import logging import os diff --git a/pvnet/models/baseline/single_value.py b/pvnet/models/baseline/single_value.py index 980feb95..44ac2061 100644 --- a/pvnet/models/baseline/single_value.py +++ b/pvnet/models/baseline/single_value.py @@ -1,4 +1,5 @@ """Average value model""" + import torch from ocf_datapipes.batch import BatchKey from torch import nn diff --git a/pvnet/models/ensemble.py b/pvnet/models/ensemble.py index ef90d8fb..85e88835 100644 --- a/pvnet/models/ensemble.py +++ b/pvnet/models/ensemble.py @@ -1,4 +1,5 @@ """Model which uses mutliple prediction heads""" + from typing import Optional import torch diff --git a/pvnet/models/multimodal/encoders/basic_blocks.py b/pvnet/models/multimodal/encoders/basic_blocks.py index 2173267e..db641e6c 100644 --- a/pvnet/models/multimodal/encoders/basic_blocks.py +++ b/pvnet/models/multimodal/encoders/basic_blocks.py @@ -1,4 +1,5 @@ """Basic blocks for image sequence encoders""" + from abc import ABCMeta, abstractmethod import torch diff --git a/pvnet/models/multimodal/encoders/encoders3d.py b/pvnet/models/multimodal/encoders/encoders3d.py index b0df28ab..a04ddaa4 100644 --- a/pvnet/models/multimodal/encoders/encoders3d.py +++ b/pvnet/models/multimodal/encoders/encoders3d.py @@ -1,5 +1,5 @@ -"""Encoder modules for the satellite/NWP data based on 3D concolutions. -""" +"""Encoder modules for the satellite/NWP data based on 3D concolutions.""" + from typing import List, Union import torch diff --git a/pvnet/models/multimodal/encoders/encodersRNN.py b/pvnet/models/multimodal/encoders/encodersRNN.py index 37f7cef6..a37a0a58 100644 --- a/pvnet/models/multimodal/encoders/encodersRNN.py +++ b/pvnet/models/multimodal/encoders/encodersRNN.py @@ -1,5 +1,4 @@ -"""Encoder modules for the satellite/NWP data based on recursive and 2D convolutional layers. -""" +"""Encoder modules for the satellite/NWP data based on recursive and 2D convolutional layers.""" import torch from torch import nn diff --git a/pvnet/models/multimodal/linear_networks/basic_blocks.py b/pvnet/models/multimodal/linear_networks/basic_blocks.py index c115c9fb..084b585a 100644 --- a/pvnet/models/multimodal/linear_networks/basic_blocks.py +++ b/pvnet/models/multimodal/linear_networks/basic_blocks.py @@ -1,4 +1,5 @@ """Basic blocks for the lienar networks""" + from abc import ABCMeta, abstractmethod from collections import OrderedDict diff --git a/pvnet/models/multimodal/linear_networks/networks.py b/pvnet/models/multimodal/linear_networks/networks.py index 69c21d82..486a7a28 100644 --- a/pvnet/models/multimodal/linear_networks/networks.py +++ b/pvnet/models/multimodal/linear_networks/networks.py @@ -1,4 +1,5 @@ """Linear networks used for the fusion model""" + from torch import nn, rand from pvnet.models.multimodal.linear_networks.basic_blocks import ( diff --git a/pvnet/models/multimodal/multimodal_base.py b/pvnet/models/multimodal/multimodal_base.py index dbab8556..60daa473 100644 --- a/pvnet/models/multimodal/multimodal_base.py +++ b/pvnet/models/multimodal/multimodal_base.py @@ -1,4 +1,5 @@ """Base model class for multimodal model and unimodal teacher""" + from ocf_datapipes.batch import BatchKey, NWPBatchKey from torchvision.transforms.functional import center_crop diff --git a/pvnet/models/multimodal/site_encoders/basic_blocks.py b/pvnet/models/multimodal/site_encoders/basic_blocks.py index b20835f1..66f4fb46 100644 --- a/pvnet/models/multimodal/site_encoders/basic_blocks.py +++ b/pvnet/models/multimodal/site_encoders/basic_blocks.py @@ -1,4 +1,5 @@ """Basic blocks for PV-site encoders""" + from abc import ABCMeta, abstractmethod from torch import nn diff --git a/pvnet/models/multimodal/site_encoders/encoders.py b/pvnet/models/multimodal/site_encoders/encoders.py index ecd05709..45bbdb1d 100644 --- a/pvnet/models/multimodal/site_encoders/encoders.py +++ b/pvnet/models/multimodal/site_encoders/encoders.py @@ -1,6 +1,4 @@ -"""Encoder modules for the site-level PV data. - -""" +"""Encoder modules for the site-level PV data.""" import einops import torch diff --git a/pvnet/optimizers.py b/pvnet/optimizers.py index 704f5889..26c826ea 100644 --- a/pvnet/optimizers.py +++ b/pvnet/optimizers.py @@ -1,5 +1,4 @@ -"""Optimizer factory-function classes. -""" +"""Optimizer factory-function classes.""" from abc import ABC, abstractmethod diff --git a/pvnet/training.py b/pvnet/training.py index cafcdac4..187a8999 100644 --- a/pvnet/training.py +++ b/pvnet/training.py @@ -1,4 +1,5 @@ """Training""" + import os import shutil from typing import Optional diff --git a/pvnet/utils.py b/pvnet/utils.py index b2c4d99a..2fc5c513 100644 --- a/pvnet/utils.py +++ b/pvnet/utils.py @@ -1,4 +1,5 @@ """Utils""" + import logging import warnings from collections.abc import Sequence diff --git a/run.py b/run.py index eb770895..64d4f938 100644 --- a/run.py +++ b/run.py @@ -1,5 +1,4 @@ -"""Run training -""" +"""Run training""" import os diff --git a/scripts/load_batches.py b/scripts/load_batches.py index 718f6c8f..72fb6ad7 100644 --- a/scripts/load_batches.py +++ b/scripts/load_batches.py @@ -1,5 +1,4 @@ -"""A test script to examine the pre-saved batches -""" +"""A test script to examine the pre-saved batches""" import torch from torch.utils.data.datapipes.iter import FileLister diff --git a/scripts/save_batches.py b/scripts/save_batches.py index 953e7244..ebda1da5 100644 --- a/scripts/save_batches.py +++ b/scripts/save_batches.py @@ -20,6 +20,7 @@ ``` if wanting to override these values for example """ + # This is needed to get multiprocessing/multiple workers to behave try: import torch.multiprocessing as mp diff --git a/scripts/save_concurrent_batches.py b/scripts/save_concurrent_batches.py index 37833b9e..c8aa95cf 100644 --- a/scripts/save_concurrent_batches.py +++ b/scripts/save_concurrent_batches.py @@ -15,6 +15,7 @@ ``` """ + # This is needed to get multiprocessing/multiple workers to behave try: import torch.multiprocessing as mp