Register
Login
Resources
Docs Blog Datasets Glossary Case Studies Tutorials & Webinars
Product
Data Engine LLMs Platform Enterprise
Pricing Explore
Connect to our Discord channel

albumentations_test.py 3.6 KB

You have to be logged in to leave a comment. Sign In
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
  1. import unittest
  2. from pathlib import Path
  3. import numpy as np
  4. from super_gradients.training.datasets import Cifar10, Cifar100, ImageNetDataset, COCODetectionDataset
  5. from albumentations import Compose, HorizontalFlip, InvertImg
  6. class AlbumentationsIntegrationTest(unittest.TestCase):
  7. def _apply_aug(self, img_no_aug):
  8. pipe = Compose(transforms=[HorizontalFlip(p=1.0), InvertImg(p=1.0)])
  9. img_no_aug_transformed = pipe(image=np.array(img_no_aug))["image"]
  10. return img_no_aug_transformed
  11. def test_cifar10_albumentations_integration(self):
  12. ds_no_aug = Cifar10(root="./data/cifar10", train=True, download=True)
  13. img_no_aug, _ = ds_no_aug.__getitem__(0)
  14. ds = Cifar10(
  15. root="./data/cifar10",
  16. train=True,
  17. download=True,
  18. transforms={"Albumentations": {"Compose": {"transforms": [{"HorizontalFlip": {"p": 1.0}}, {"InvertImg": {"p": 1.0}}]}}},
  19. )
  20. img_aug, _ = ds.__getitem__(0)
  21. img_no_aug_transformed = self._apply_aug(img_no_aug)
  22. self.assertTrue(np.allclose(img_no_aug_transformed, img_aug))
  23. def test_cifar100_albumentations_integration(self):
  24. ds_no_aug = Cifar100(root="./data/cifar100", train=True, download=True)
  25. img_no_aug, _ = ds_no_aug.__getitem__(0)
  26. ds = Cifar100(
  27. root="./data/cifar100",
  28. train=True,
  29. download=True,
  30. transforms={"Albumentations": {"Compose": {"transforms": [{"HorizontalFlip": {"p": 1}}, {"InvertImg": {"p": 1.0}}]}}},
  31. )
  32. img_aug, _ = ds.__getitem__(0)
  33. img_no_aug_transformed = self._apply_aug(img_no_aug)
  34. self.assertTrue(np.allclose(img_no_aug_transformed, img_aug))
  35. def test_imagenet_albumentations_integration(self):
  36. ds_no_aug = ImageNetDataset(root="/data/Imagenet/val")
  37. img_no_aug, _ = ds_no_aug.__getitem__(0)
  38. ds = ImageNetDataset(
  39. root="/data/Imagenet/val", transforms={"Albumentations": {"Compose": {"transforms": [{"HorizontalFlip": {"p": 1}}, {"InvertImg": {"p": 1.0}}]}}}
  40. )
  41. img_aug, _ = ds.__getitem__(0)
  42. img_no_aug_transformed = self._apply_aug(img_no_aug)
  43. self.assertTrue(np.allclose(img_no_aug_transformed, img_aug))
  44. def test_coco_albumentations_integration(self):
  45. mini_coco_data_dir = str(Path(__file__).parent.parent / "data" / "tinycoco")
  46. train_dataset_params = {
  47. "data_dir": mini_coco_data_dir,
  48. "subdir": "images/train2017",
  49. "json_file": "instances_train2017.json",
  50. "cache": False,
  51. "input_dim": [512, 512],
  52. "transforms": [
  53. {"DetectionMosaic": {"input_dim": [640, 640], "prob": 1.0}},
  54. {
  55. "Albumentations": {
  56. "Compose": {
  57. "transforms": [{"HorizontalFlip": {"p": 0.5}}, {"RandomBrightnessContrast": {"p": 0.5}}],
  58. "bbox_params": {"min_area": 1, "min_visibility": 0, "min_width": 0, "min_height": 0, "check_each_transform": True},
  59. },
  60. }
  61. },
  62. {
  63. "DetectionMixup": {
  64. "input_dim": [640, 640],
  65. "mixup_scale": [0.5, 1.5],
  66. # random rescale range for the additional sample in mixup
  67. "prob": 1.0, # probability to apply per-sample mixup
  68. "flip_prob": 0.5,
  69. }
  70. },
  71. ],
  72. }
  73. ds = COCODetectionDataset(**train_dataset_params)
  74. ds.plot()
  75. if __name__ == "__main__":
  76. unittest.main()
Tip!

Press p or to see the previous file or, n or to see the next file

Comments

Loading...