Coverage for robustAI/advertrain/transforms.py: 100%
9 statements
« prev ^ index » next coverage.py v7.9.2, created at 2025-10-01 08:42 +0000
« prev ^ index » next coverage.py v7.9.2, created at 2025-10-01 08:42 +0000
1from torchvision import transforms
2from torchvision.transforms import Compose
5class DataTransformations:
6 """
7 Class to create and return training and test data transformations.
9 This class encapsulates the creation of data transformations used in training and testing.
10 It provides methods to get composed series of transformations for both scenarios.
11 """
13 def __init__(self, train_prob: float = 0.5):
14 """
15 Initializes the DataTransformations class.
17 Args:
18 train_prob (float): The probability of applying transformations in training. Default is 0.5.
19 """
20 self.train_prob = train_prob
22 def get_train_transforms(self) -> Compose:
23 """
24 Creates and returns a series of training data transformations.
26 Returns:
27 Compose: A composed series of transformations for training data.
28 """
29 return transforms.Compose(
30 [
31 transforms.Pad((0, 120)),
32 transforms.RandomHorizontalFlip(),
33 transforms.RandomVerticalFlip(),
34 transforms.RandomApply(
35 [
36 transforms.RandomAffine(5),
37 transforms.RandomAffine(0, translate=(0.02, 0.02)),
38 transforms.ColorJitter(
39 brightness=0.5, contrast=0.2, saturation=0.2, hue=0
40 ),
41 ],
42 p=self.train_prob,
43 ),
44 transforms.Resize(size=(64, 128)),
45 transforms.ToTensor(),
46 ]
47 )
49 def get_test_transforms(self) -> Compose:
50 """
51 Creates and returns a series of test data transformations.
53 Returns:
54 Compose: A composed series of transformations for test data.
55 """
56 return transforms.Compose(
57 [
58 transforms.Pad((0, 120)),
59 transforms.Resize((64, 128)),
60 transforms.ToTensor(),
61 ]
62 )