3a2c66702c
Tests on CPU (scheduled) / check-skip (push) Has been cancelled
Tests on CPU (scheduled) / pre-tests (push) Has been cancelled
Tests on CPU (scheduled) / tests-cpu-ubuntu (float32) (push) Has been cancelled
Tests on CPU (scheduled) / tests-cpu-ubuntu (float64) (push) Has been cancelled
Tests on CPU (scheduled) / tests-cpu-windows (3.11, float32, 2.5.1) (push) Has been cancelled
Tests on CPU (scheduled) / tests-cpu-windows (3.11, float32, 2.9.1) (push) Has been cancelled
Tests on CPU (scheduled) / tests-cpu-windows (3.11, float64, 2.5.1) (push) Has been cancelled
Tests on CPU (scheduled) / tests-cpu-windows (3.11, float64, 2.9.1) (push) Has been cancelled
Tests on CPU (scheduled) / tests-cpu-windows (3.12, float32, 2.5.1) (push) Has been cancelled
Tests on CPU (scheduled) / tests-cpu-windows (3.12, float32, 2.9.1) (push) Has been cancelled
Tests on CPU (scheduled) / tests-cpu-windows (3.12, float64, 2.5.1) (push) Has been cancelled
Tests on CPU (scheduled) / tests-cpu-windows (3.12, float64, 2.9.1) (push) Has been cancelled
Tests on CPU (scheduled) / tests-cpu-windows (3.13, float32, 2.9.1) (push) Has been cancelled
Tests on CPU (scheduled) / tests-cpu-windows (3.13, float64, 2.9.1) (push) Has been cancelled
Tests on CPU (scheduled) / tests-cpu-mac (3.11, float32, 2.5.1) (push) Has been cancelled
Tests on CPU (scheduled) / tests-cpu-mac (3.11, float32, 2.9.1) (push) Has been cancelled
Tests on CPU (scheduled) / tests-cpu-mac (3.12, float32, 2.5.1) (push) Has been cancelled
Tests on CPU (scheduled) / tests-cpu-mac (3.12, float32, 2.9.1) (push) Has been cancelled
Tests on CPU (scheduled) / tests-cpu-mac (3.13, float32, 2.9.1) (push) Has been cancelled
Tests on CPU (scheduled) / coverage (push) Has been cancelled
Tests on CPU (scheduled) / typing (push) Has been cancelled
Tests on CPU (scheduled) / tutorials (push) Has been cancelled
Tests on CPU (scheduled) / docs (push) Has been cancelled
Lint / TOML Format (push) Has been cancelled
103 lines
3.3 KiB
Python
103 lines
3.3 KiB
Python
# LICENSE HEADER MANAGED BY add-license-header
|
|
#
|
|
# Copyright 2018 Kornia Team
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
#
|
|
|
|
from __future__ import annotations
|
|
|
|
import torch.nn
|
|
from torch.utils.data import Dataset
|
|
|
|
from kornia.augmentation import (
|
|
ColorJiggle,
|
|
ColorJitter,
|
|
RandomAffine,
|
|
RandomAffine3D,
|
|
RandomCrop,
|
|
RandomCrop3D,
|
|
RandomCutMixV2,
|
|
RandomErasing,
|
|
RandomGaussianBlur,
|
|
RandomJigsaw,
|
|
RandomMixUpV2,
|
|
RandomMosaic,
|
|
RandomMotionBlur,
|
|
RandomMotionBlur3D,
|
|
RandomPerspective,
|
|
RandomPerspective3D,
|
|
RandomPlanckianJitter,
|
|
RandomPosterize,
|
|
RandomRain,
|
|
RandomRotation3D,
|
|
RandomShear,
|
|
RandomTranslate,
|
|
Resize,
|
|
)
|
|
|
|
|
|
class DummyMPDataset(Dataset):
|
|
def __init__(self, context: str):
|
|
super().__init__()
|
|
# we add all transforms that could potentially fail in
|
|
# multiprocessing with a spawn context below, that is all the
|
|
# transforms that define a RNG
|
|
transforms = [
|
|
RandomTranslate(),
|
|
RandomShear(0.1),
|
|
RandomPosterize(),
|
|
RandomErasing(),
|
|
RandomMotionBlur(kernel_size=3, angle=(0, 360), direction=(-1, 1)),
|
|
RandomGaussianBlur(3, (0.1, 2.0)),
|
|
RandomPerspective(),
|
|
ColorJitter(),
|
|
ColorJiggle(),
|
|
RandomJigsaw(),
|
|
RandomAffine(degrees=15),
|
|
RandomMotionBlur3D(kernel_size=3, angle=(0, 360), direction=(-1, 1)),
|
|
RandomPerspective3D(),
|
|
RandomAffine3D(degrees=15),
|
|
RandomRotation3D(degrees=15),
|
|
]
|
|
|
|
if context != "fork":
|
|
# random planckian jitter auto selects a GPU. But it is not possible
|
|
# to init a CUDA context in a forked process.
|
|
# So we skip it in this case.
|
|
transforms.append(RandomPlanckianJitter())
|
|
|
|
self._transform = torch.nn.Sequential()
|
|
|
|
self._resize = Resize((10, 10))
|
|
self._mosaic = RandomMosaic((2, 2))
|
|
self._crop = RandomCrop((5, 5))
|
|
self._crop3d = RandomCrop3D((5, 5, 5))
|
|
self._mixup = RandomMixUpV2()
|
|
self._cutmix = RandomCutMixV2()
|
|
self._rain = RandomRain(p=1, drop_height=(1, 2), drop_width=(1, 2), number_of_drops=(1, 1))
|
|
|
|
def __len__(self):
|
|
return 10
|
|
|
|
def __getitem__(self, _):
|
|
mosaic = self._mosaic(torch.rand(1, 3, 64, 64))
|
|
rain = self._rain(torch.rand(1, 1, 5, 5))
|
|
rain = self._resize(rain)
|
|
cropped = self._crop(torch.rand(3, 3, 64, 64))
|
|
cropped3d = self._crop3d(torch.rand(3, 64, 64, 64))
|
|
mixed = self._mixup(torch.rand(3, 3, 64, 64), torch.rand(3, 3, 64, 64))
|
|
mixed = self._cutmix(torch.rand(3, 3, 64, 64), mixed)
|
|
|
|
return (self._transform(mixed), cropped, cropped3d, mixed, mosaic, rain)
|