Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
vision
Commits
a8c4875c
Unverified
Commit
a8c4875c
authored
Sep 28, 2023
by
Philip Meier
Committed by
GitHub
Sep 28, 2023
Browse files
port tests for transforms.ScaleJitter (#8001)
parent
c5dea7d4
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
38 additions
and
28 deletions
+38
-28
test/test_transforms_v2.py
test/test_transforms_v2.py
+0
-28
test/test_transforms_v2_refactored.py
test/test_transforms_v2_refactored.py
+38
-0
No files found.
test/test_transforms_v2.py
View file @
a8c4875c
...
@@ -519,34 +519,6 @@ class TestRandomIoUCrop:
...
@@ -519,34 +519,6 @@ class TestRandomIoUCrop:
assert
isinstance
(
output_masks
,
tv_tensors
.
Mask
)
assert
isinstance
(
output_masks
,
tv_tensors
.
Mask
)
class
TestScaleJitter
:
def
test__get_params
(
self
):
canvas_size
=
(
24
,
32
)
target_size
=
(
16
,
12
)
scale_range
=
(
0.5
,
1.5
)
transform
=
transforms
.
ScaleJitter
(
target_size
=
target_size
,
scale_range
=
scale_range
)
sample
=
make_image
(
canvas_size
)
n_samples
=
5
for
_
in
range
(
n_samples
):
params
=
transform
.
_get_params
([
sample
])
assert
"size"
in
params
size
=
params
[
"size"
]
assert
isinstance
(
size
,
tuple
)
and
len
(
size
)
==
2
height
,
width
=
size
r_min
=
min
(
target_size
[
1
]
/
canvas_size
[
0
],
target_size
[
0
]
/
canvas_size
[
1
])
*
scale_range
[
0
]
r_max
=
min
(
target_size
[
1
]
/
canvas_size
[
0
],
target_size
[
0
]
/
canvas_size
[
1
])
*
scale_range
[
1
]
assert
int
(
canvas_size
[
0
]
*
r_min
)
<=
height
<=
int
(
canvas_size
[
0
]
*
r_max
)
assert
int
(
canvas_size
[
1
]
*
r_min
)
<=
width
<=
int
(
canvas_size
[
1
]
*
r_max
)
class
TestRandomShortestSize
:
class
TestRandomShortestSize
:
@
pytest
.
mark
.
parametrize
(
"min_size,max_size"
,
[([
5
,
9
],
20
),
([
5
,
9
],
None
)])
@
pytest
.
mark
.
parametrize
(
"min_size,max_size"
,
[([
5
,
9
],
20
),
([
5
,
9
],
None
)])
def
test__get_params
(
self
,
min_size
,
max_size
):
def
test__get_params
(
self
,
min_size
,
max_size
):
...
...
test/test_transforms_v2_refactored.py
View file @
a8c4875c
...
@@ -4788,3 +4788,41 @@ class TestRandomPhotometricDistort:
...
@@ -4788,3 +4788,41 @@ class TestRandomPhotometricDistort:
),
),
make_input
(
dtype
=
dtype
,
device
=
device
),
make_input
(
dtype
=
dtype
,
device
=
device
),
)
)
class
TestScaleJitter
:
# Tests are light because this largely relies on the already tested `resize` kernels.
INPUT_SIZE
=
(
17
,
11
)
TARGET_SIZE
=
(
12
,
13
)
@
pytest
.
mark
.
parametrize
(
"make_input"
,
[
make_image_tensor
,
make_image_pil
,
make_image
,
make_bounding_boxes
,
make_segmentation_mask
,
make_video
],
)
@
pytest
.
mark
.
parametrize
(
"device"
,
cpu_and_cuda
())
def
test_transform
(
self
,
make_input
,
device
):
if
make_input
is
make_image_pil
and
device
!=
"cpu"
:
pytest
.
skip
(
"PIL image tests with parametrization device!='cpu' will degenerate to that anyway."
)
check_transform
(
transforms
.
ScaleJitter
(
self
.
TARGET_SIZE
),
make_input
(
self
.
INPUT_SIZE
,
device
=
device
))
def
test__get_params
(
self
):
input_size
=
self
.
INPUT_SIZE
target_size
=
self
.
TARGET_SIZE
scale_range
=
(
0.5
,
1.5
)
transform
=
transforms
.
ScaleJitter
(
target_size
=
target_size
,
scale_range
=
scale_range
)
params
=
transform
.
_get_params
([
make_image
(
input_size
)])
assert
"size"
in
params
size
=
params
[
"size"
]
assert
isinstance
(
size
,
tuple
)
and
len
(
size
)
==
2
height
,
width
=
size
r_min
=
min
(
target_size
[
1
]
/
input_size
[
0
],
target_size
[
0
]
/
input_size
[
1
])
*
scale_range
[
0
]
r_max
=
min
(
target_size
[
1
]
/
input_size
[
0
],
target_size
[
0
]
/
input_size
[
1
])
*
scale_range
[
1
]
assert
int
(
input_size
[
0
]
*
r_min
)
<=
height
<=
int
(
input_size
[
0
]
*
r_max
)
assert
int
(
input_size
[
1
]
*
r_min
)
<=
width
<=
int
(
input_size
[
1
]
*
r_max
)
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment