Files
wehub-resource-sync 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
chore: import upstream snapshot with attribution
2026-07-13 12:49:27 +08:00

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)