Shortcuts

Source code for torchgeo.datamodules.seco

# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License.

"""Seasonal Contrast datamodule."""

from typing import Any

import kornia.augmentation as K
import torch
from einops import repeat

from ..datasets import SeasonalContrastS2
from ..transforms import AugmentationSequential
from .geo import NonGeoDataModule


[docs]class SeasonalContrastS2DataModule(NonGeoDataModule): """LightningDataModule implementation for the Seasonal Contrast dataset. .. versionadded:: 0.5 """
[docs] def __init__( self, batch_size: int = 64, num_workers: int = 0, **kwargs: Any ) -> None: """Initialize a new SeasonalContrastS2DataModule instance. Args: batch_size: Size of each mini-batch. num_workers: Number of workers for parallel data loading. **kwargs: Additional keyword arguments passed to :class:`~torchgeo.datasets.SeasonalContrastS2`. """ super().__init__(SeasonalContrastS2, batch_size, num_workers, **kwargs) bands = kwargs.get("bands", SeasonalContrastS2.rgb_bands) seasons = kwargs.get("seasons", 1) # Normalization only available for RGB dataset, defined here: # https://github.com/ServiceNow/seasonal-contrast/blob/8285173ec205b64bc3e53b880344dd6c3f79fa7a/datasets/seco_dataset.py # noqa: E501 if bands == SeasonalContrastS2.rgb_bands: _min = torch.tensor([3, 2, 0]) _max = torch.tensor([88, 103, 129]) _mean = torch.tensor([0.485, 0.456, 0.406]) _std = torch.tensor([0.229, 0.224, 0.225]) _min = repeat(_min, "c -> (t c)", t=seasons) _max = repeat(_max, "c -> (t c)", t=seasons) _mean = repeat(_mean, "c -> (t c)", t=seasons) _std = repeat(_std, "c -> (t c)", t=seasons) self.aug = AugmentationSequential( K.Normalize(mean=_min, std=_max - _min), K.Normalize(mean=torch.tensor(0), std=1 / torch.tensor(255)), K.Normalize(mean=_mean, std=_std), data_keys=["image"], )
[docs] def setup(self, stage: str) -> None: """Set up datasets. Args: stage: Either 'fit', 'validate', 'test', or 'predict'. """ self.dataset = SeasonalContrastS2(**self.kwargs)

© Copyright 2021, Microsoft Corporation. Revision acad7d47.

Built with Sphinx using a theme provided by Read the Docs.
Read the Docs v: latest
Versions
latest
stable
v0.5.2
v0.5.1
v0.5.0
v0.4.1
v0.4.0
v0.3.1
v0.3.0
v0.2.1
v0.2.0
v0.1.1
v0.1.0
Downloads
On Read the Docs
Project Home
Builds

Free document hosting provided by Read the Docs.

Docs

Access comprehensive developer documentation for PyTorch

View Docs

Tutorials

Get in-depth tutorials for beginners and advanced developers

View Tutorials

Resources

Find development resources and get your questions answered

View Resources