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
"docs/source/vscode:/vscode.git/clone" did not exist on "31a7d50964ae1c9d5693661567e7a3e034383bd7"
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
Show 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:
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
:
@
pytest
.
mark
.
parametrize
(
"min_size,max_size"
,
[([
5
,
9
],
20
),
([
5
,
9
],
None
)])
def
test__get_params
(
self
,
min_size
,
max_size
):
...
...
test/test_transforms_v2_refactored.py
View file @
a8c4875c
...
...
@@ -4788,3 +4788,41 @@ class TestRandomPhotometricDistort:
),
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