diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index 99e60ca..c53f15e 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -66,7 +66,7 @@ jobs: commit_message: 'docs: deploy documentation from ${{ github.sha }}' - name: Upload build artifacts - if: github.event_name == 'pull_request' + if: (github.event_name == 'push' || github.event_name == 'workflow_dispatch') && github.ref == 'refs/heads/main' uses: actions/upload-artifact@v4 with: name: documentation diff --git a/dynvision/base/__init__.py b/dynvision/base/__init__.py index c3c05c7..226595b 100644 --- a/dynvision/base/__init__.py +++ b/dynvision/base/__init__.py @@ -183,10 +183,6 @@ def setup(self, stage=None) -> None: class CoreModel(TemporalBase, DtypeDeviceCoordinatorMixin): """Core neural network functionality with device coordination only.""" - pass - class MonitoredModel(TemporalBase, MonitoringMixin, DtypeDeviceCoordinatorMixin): """Core neural network with monitoring, but no Lightning integration.""" - - pass diff --git a/dynvision/base/coordination.py b/dynvision/base/coordination.py index 701e79a..4b1ea4f 100644 --- a/dynvision/base/coordination.py +++ b/dynvision/base/coordination.py @@ -144,7 +144,6 @@ def _determine_dtype_from_parameters(self) -> torch.dtype: logger.warning( f"Error determining dtype from parameters: {e}. Defaulting to torch.float16." ) - pass return torch.float16 def create_aligned_tensor(self, *args, **kwargs) -> torch.Tensor: diff --git a/dynvision/base/storage.py b/dynvision/base/storage.py index f4e41cc..df7ee20 100644 --- a/dynvision/base/storage.py +++ b/dynvision/base/storage.py @@ -37,7 +37,6 @@ def get_storage_index( def reset(self, input_shape: Optional[Tuple[int, ...]] = None) -> None: """Reset strategy state.""" - pass class CyclicStrategy(SamplingStrategy): diff --git a/dynvision/base/temporal.py b/dynvision/base/temporal.py index 047e54a..35cebfc 100644 --- a/dynvision/base/temporal.py +++ b/dynvision/base/temporal.py @@ -218,7 +218,6 @@ def verify_initialization(self) -> None: def reset(self, input_shape: Optional[Tuple[int, ...]] = None) -> None: """Reset the model state, in particular hidden states.""" - pass def compute_idle_initial_states( self, batch_size: int, device: torch.device, dtype: torch.dtype @@ -400,7 +399,6 @@ def _forward( else: logger.debug(f"No {operation} defined for {layer_name}. Skipping.") - pass # if isinstance(x, torch.Tensor) and (~torch.isfinite(x)).any(): # logger.warning( diff --git a/dynvision/data/dataloader.py b/dynvision/data/dataloader.py index 8f37700..ddf002d 100644 --- a/dynvision/data/dataloader.py +++ b/dynvision/data/dataloader.py @@ -13,7 +13,7 @@ """ import logging -from typing import Any, Callable, Dict, List, Optional, Tuple, Union +from typing import Any, Optional, Tuple from collections import OrderedDict import torch import torch.jit diff --git a/dynvision/data/datasets.py b/dynvision/data/datasets.py index c1c4aa0..771ce8b 100644 --- a/dynvision/data/datasets.py +++ b/dynvision/data/datasets.py @@ -22,7 +22,7 @@ from concurrent.futures import ThreadPoolExecutor from functools import lru_cache from pathlib import Path -from typing import Any, Callable, Dict, List, Optional, Tuple, Union, cast +from typing import Any, Callable, List, Optional, Tuple import torchvision as tv import torch from torch.utils.data import Dataset diff --git a/dynvision/data/ffcv_dataloader.py b/dynvision/data/ffcv_dataloader.py index 3c40ee4..bc24eec 100644 --- a/dynvision/data/ffcv_dataloader.py +++ b/dynvision/data/ffcv_dataloader.py @@ -1,6 +1,6 @@ import logging from pathlib import Path -from typing import Any, Callable, Dict, List, Optional, Tuple, Union +from typing import Any, Callable, List, Optional, Tuple, Union from .ffcv_operations import ExtendDataTimeFFCV, ExtendLabelTimeFFCV import torch import torch.distributed @@ -10,7 +10,6 @@ IntDecoder, NDArrayDecoder, RandomResizedCropRGBImageDecoder, - SimpleRGBImageDecoder, ) from ffcv.loader import Loader, OrderOption from ffcv.pipeline.operation import Operation @@ -20,7 +19,6 @@ ToTensor, ToTorchImage, NormalizeImage, - RandomResizedCrop, ) from dynvision.data.transforms import get_data_transform, get_target_transform diff --git a/dynvision/data/ffcv_datasets.py b/dynvision/data/ffcv_datasets.py index a829d68..42bd237 100644 --- a/dynvision/data/ffcv_datasets.py +++ b/dynvision/data/ffcv_datasets.py @@ -78,7 +78,7 @@ def main() -> None: ) # Get writer configuration - data_sample = dataset[0][0] + dataset[0][0] image_writer = RGBImageField( write_mode=config.writer_mode, diff --git a/dynvision/data/noise.py b/dynvision/data/noise.py index 93e5c89..045dc2b 100644 --- a/dynvision/data/noise.py +++ b/dynvision/data/noise.py @@ -26,9 +26,8 @@ def __getitem__(self, idx): import torch.nn.functional as F import numpy as np from typing import Optional, Union, Tuple, Callable -import warnings import logging -from dynvision.utils import str_to_bool, alias_kwargs, filter_kwargs +from dynvision.utils import str_to_bool, alias_kwargs logger = logging.getLogger(__name__) diff --git a/dynvision/model_components/layer_connections.py b/dynvision/model_components/layer_connections.py index 47d16f6..67350da 100644 --- a/dynvision/model_components/layer_connections.py +++ b/dynvision/model_components/layer_connections.py @@ -251,16 +251,12 @@ class Skip(ConnectionBase): The skip connection module adds the input tensor (x) of an earlier layer to the output tensor (h) of a deeper layer. """ - pass - class Feedback(ConnectionBase): """ The feedback connection module adds a hidden state (h) of a deeper layer to the input tensor (x) of an earlier layer. """ - pass - if __name__ == "__main__": input_shape = (3, 32, 32) diff --git a/dynvision/model_components/recurrence.py b/dynvision/model_components/recurrence.py index a28a273..9a7f620 100644 --- a/dynvision/model_components/recurrence.py +++ b/dynvision/model_components/recurrence.py @@ -405,8 +405,6 @@ class DepthPointwiseConnection(DepthwiseSeparableConnection): Implements a depth-pointwise convolution connection. """ - pass - class PointDepthwiseConnection(DepthwiseSeparableConnection): """ diff --git a/dynvision/models/__init__.py b/dynvision/models/__init__.py index 94ba560..e69de29 100644 --- a/dynvision/models/__init__.py +++ b/dynvision/models/__init__.py @@ -1,6 +0,0 @@ -from .alexnet import * -from .cordsnet import * -from .cornet_rt import * -from .dyrcnn import * -from .resnet import * -from .resnetx3 import * diff --git a/dynvision/models/alexnet.py b/dynvision/models/alexnet.py index a34af15..eb80a4b 100644 --- a/dynvision/models/alexnet.py +++ b/dynvision/models/alexnet.py @@ -6,7 +6,6 @@ from dynvision.base import BaseModel from typing import Optional, Tuple from dynvision.model_components import ( - InputAdaption, RecurrentConnectedConv2d, ) diff --git a/dynvision/models/cordsnet.py b/dynvision/models/cordsnet.py index 1656372..286b2e2 100644 --- a/dynvision/models/cordsnet.py +++ b/dynvision/models/cordsnet.py @@ -282,7 +282,6 @@ def _define_architecture(self) -> None: # Configuration arrays channels = [64, 64, 64, 128, 128, 256, 256, 512, 512] - sizes = [56, 56, 28, 28, 14, 14, 7, 7] strides = [1, 1, 2, 1, 2, 1, 2, 1] # Layer 0: Input processing (no recurrence, no bias) diff --git a/dynvision/models/cornet_rt.py b/dynvision/models/cornet_rt.py index a204b2d..9b92e63 100644 --- a/dynvision/models/cornet_rt.py +++ b/dynvision/models/cornet_rt.py @@ -9,18 +9,15 @@ """ import logging -from typing import Optional, Dict, Any, Tuple, Union, List +from typing import Optional, Any, Tuple import torch import torch.nn as nn -from torch.utils import model_zoo from dynvision.models.dyrcnn import DyRCNN from dynvision.utils import alias_kwargs, str_to_bool from dynvision.model_components import ( - InputAdaption, RConv2d, - Skip, ) @@ -31,8 +28,6 @@ class ZeroStateSentinel: Operations check isinstance and treat it as additive identity. """ - pass - __all__ = ["CorNetRT"] diff --git a/dynvision/models/dyrcnn.py b/dynvision/models/dyrcnn.py index 3b961d9..4c3c510 100644 --- a/dynvision/models/dyrcnn.py +++ b/dynvision/models/dyrcnn.py @@ -15,7 +15,7 @@ """ import logging -from typing import Optional, Union, Dict, Any, List, Tuple +from typing import Optional, Union, Any, List, Tuple import torch import torch.nn as nn diff --git a/dynvision/models/resnet.py b/dynvision/models/resnet.py index 43c9683..c70afca 100644 --- a/dynvision/models/resnet.py +++ b/dynvision/models/resnet.py @@ -207,7 +207,6 @@ def forward( def reset(self, input_shape: Optional[Tuple[int, ...]] = None) -> None: """Reset model state.""" - pass def _determine_residual_timesteps(self, **kwargs) -> int: """Determine residual timesteps (none for ResNet)."""