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
05e061f5
Unverified
Commit
05e061f5
authored
May 21, 2021
by
Nicolas Hug
Committed by
GitHub
May 21, 2021
Browse files
Use torch.testing.assert_close in datasets_video_utils.py (#3875)
Co-authored-by:
Philip Meier
<
github.pmeier@posteo.de
>
parent
05a3941f
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
23 additions
and
22 deletions
+23
-22
test/test_datasets_video_utils.py
test/test_datasets_video_utils.py
+23
-22
No files found.
test/test_datasets_video_utils.py
View file @
05e061f5
...
@@ -7,6 +7,7 @@ from torchvision import io
...
@@ -7,6 +7,7 @@ from torchvision import io
from
torchvision.datasets.video_utils
import
VideoClips
,
unfold
from
torchvision.datasets.video_utils
import
VideoClips
,
unfold
from
common_utils
import
get_tmp_dir
from
common_utils
import
get_tmp_dir
from
_assert_utils
import
assert_equal
@
contextlib
.
contextmanager
@
contextlib
.
contextmanager
...
@@ -40,7 +41,7 @@ class Tester(unittest.TestCase):
...
@@ -40,7 +41,7 @@ class Tester(unittest.TestCase):
[
0
,
1
,
2
],
[
0
,
1
,
2
],
[
3
,
4
,
5
],
[
3
,
4
,
5
],
])
])
self
.
assert
True
(
r
.
equal
(
expected
)
)
assert
_
equal
(
r
,
expected
,
check_stride
=
False
)
r
=
unfold
(
a
,
3
,
2
,
1
)
r
=
unfold
(
a
,
3
,
2
,
1
)
expected
=
torch
.
tensor
([
expected
=
torch
.
tensor
([
...
@@ -48,38 +49,38 @@ class Tester(unittest.TestCase):
...
@@ -48,38 +49,38 @@ class Tester(unittest.TestCase):
[
2
,
3
,
4
],
[
2
,
3
,
4
],
[
4
,
5
,
6
]
[
4
,
5
,
6
]
])
])
self
.
assert
True
(
r
.
equal
(
expected
)
)
assert
_
equal
(
r
,
expected
,
check_stride
=
False
)
r
=
unfold
(
a
,
3
,
2
,
2
)
r
=
unfold
(
a
,
3
,
2
,
2
)
expected
=
torch
.
tensor
([
expected
=
torch
.
tensor
([
[
0
,
2
,
4
],
[
0
,
2
,
4
],
[
2
,
4
,
6
],
[
2
,
4
,
6
],
])
])
self
.
assert
True
(
r
.
equal
(
expected
)
)
assert
_
equal
(
r
,
expected
,
check_stride
=
False
)
@
unittest
.
skipIf
(
not
io
.
video
.
_av_available
(),
"this test requires av"
)
@
unittest
.
skipIf
(
not
io
.
video
.
_av_available
(),
"this test requires av"
)
def
test_video_clips
(
self
):
def
test_video_clips
(
self
):
with
get_list_of_videos
(
num_videos
=
3
)
as
video_list
:
with
get_list_of_videos
(
num_videos
=
3
)
as
video_list
:
video_clips
=
VideoClips
(
video_list
,
5
,
5
,
num_workers
=
2
)
video_clips
=
VideoClips
(
video_list
,
5
,
5
,
num_workers
=
2
)
self
.
assert
Equal
(
video_clips
.
num_clips
()
,
1
+
2
+
3
)
assert
video_clips
.
num_clips
()
==
1
+
2
+
3
for
i
,
(
v_idx
,
c_idx
)
in
enumerate
([(
0
,
0
),
(
1
,
0
),
(
1
,
1
),
(
2
,
0
),
(
2
,
1
),
(
2
,
2
)]):
for
i
,
(
v_idx
,
c_idx
)
in
enumerate
([(
0
,
0
),
(
1
,
0
),
(
1
,
1
),
(
2
,
0
),
(
2
,
1
),
(
2
,
2
)]):
video_idx
,
clip_idx
=
video_clips
.
get_clip_location
(
i
)
video_idx
,
clip_idx
=
video_clips
.
get_clip_location
(
i
)
self
.
assert
Equal
(
video_idx
,
v_idx
)
assert
video_idx
==
v_idx
self
.
assert
Equal
(
clip_idx
,
c_idx
)
assert
clip_idx
==
c_idx
video_clips
=
VideoClips
(
video_list
,
6
,
6
)
video_clips
=
VideoClips
(
video_list
,
6
,
6
)
self
.
assert
Equal
(
video_clips
.
num_clips
()
,
0
+
1
+
2
)
assert
video_clips
.
num_clips
()
==
0
+
1
+
2
for
i
,
(
v_idx
,
c_idx
)
in
enumerate
([(
1
,
0
),
(
2
,
0
),
(
2
,
1
)]):
for
i
,
(
v_idx
,
c_idx
)
in
enumerate
([(
1
,
0
),
(
2
,
0
),
(
2
,
1
)]):
video_idx
,
clip_idx
=
video_clips
.
get_clip_location
(
i
)
video_idx
,
clip_idx
=
video_clips
.
get_clip_location
(
i
)
self
.
assert
Equal
(
video_idx
,
v_idx
)
assert
video_idx
==
v_idx
self
.
assert
Equal
(
clip_idx
,
c_idx
)
assert
clip_idx
==
c_idx
video_clips
=
VideoClips
(
video_list
,
6
,
1
)
video_clips
=
VideoClips
(
video_list
,
6
,
1
)
self
.
assert
Equal
(
video_clips
.
num_clips
()
,
0
+
(
10
-
6
+
1
)
+
(
15
-
6
+
1
)
)
assert
video_clips
.
num_clips
()
==
0
+
(
10
-
6
+
1
)
+
(
15
-
6
+
1
)
for
i
,
v_idx
,
c_idx
in
[(
0
,
1
,
0
),
(
4
,
1
,
4
),
(
5
,
2
,
0
),
(
6
,
2
,
1
)]:
for
i
,
v_idx
,
c_idx
in
[(
0
,
1
,
0
),
(
4
,
1
,
4
),
(
5
,
2
,
0
),
(
6
,
2
,
1
)]:
video_idx
,
clip_idx
=
video_clips
.
get_clip_location
(
i
)
video_idx
,
clip_idx
=
video_clips
.
get_clip_location
(
i
)
self
.
assert
Equal
(
video_idx
,
v_idx
)
assert
video_idx
==
v_idx
self
.
assert
Equal
(
clip_idx
,
c_idx
)
assert
clip_idx
==
c_idx
@
unittest
.
skipIf
(
not
io
.
video
.
_av_available
(),
"this test requires av"
)
@
unittest
.
skipIf
(
not
io
.
video
.
_av_available
(),
"this test requires av"
)
def
test_video_clips_custom_fps
(
self
):
def
test_video_clips_custom_fps
(
self
):
...
@@ -89,8 +90,8 @@ class Tester(unittest.TestCase):
...
@@ -89,8 +90,8 @@ class Tester(unittest.TestCase):
video_clips
=
VideoClips
(
video_list
,
num_frames
,
num_frames
,
fps
,
num_workers
=
2
)
video_clips
=
VideoClips
(
video_list
,
num_frames
,
num_frames
,
fps
,
num_workers
=
2
)
for
i
in
range
(
video_clips
.
num_clips
()):
for
i
in
range
(
video_clips
.
num_clips
()):
video
,
audio
,
info
,
video_idx
=
video_clips
.
get_clip
(
i
)
video
,
audio
,
info
,
video_idx
=
video_clips
.
get_clip
(
i
)
self
.
assert
Equal
(
video
.
shape
[
0
]
,
num_frames
)
assert
video
.
shape
[
0
]
==
num_frames
self
.
assert
Equal
(
info
[
"video_fps"
]
,
fps
)
assert
info
[
"video_fps"
]
==
fps
# TODO add tests checking that the content is right
# TODO add tests checking that the content is right
def
test_compute_clips_for_video
(
self
):
def
test_compute_clips_for_video
(
self
):
...
@@ -103,9 +104,9 @@ class Tester(unittest.TestCase):
...
@@ -103,9 +104,9 @@ class Tester(unittest.TestCase):
clips
,
idxs
=
VideoClips
.
compute_clips_for_video
(
video_pts
,
num_frames
,
num_frames
,
clips
,
idxs
=
VideoClips
.
compute_clips_for_video
(
video_pts
,
num_frames
,
num_frames
,
orig_fps
,
new_fps
)
orig_fps
,
new_fps
)
resampled_idxs
=
VideoClips
.
_resample_video_idx
(
int
(
duration
*
new_fps
),
orig_fps
,
new_fps
)
resampled_idxs
=
VideoClips
.
_resample_video_idx
(
int
(
duration
*
new_fps
),
orig_fps
,
new_fps
)
self
.
assert
Equal
(
len
(
clips
)
,
1
)
assert
len
(
clips
)
==
1
self
.
assert
True
(
clips
.
equal
(
idxs
)
)
assert
_equal
(
clips
,
idxs
)
self
.
assert
True
(
idxs
[
0
]
.
equal
(
resampled_idxs
)
)
assert
_equal
(
idxs
[
0
]
,
resampled_idxs
)
# case 2: all frames appear only once
# case 2: all frames appear only once
num_frames
=
4
num_frames
=
4
...
@@ -115,9 +116,9 @@ class Tester(unittest.TestCase):
...
@@ -115,9 +116,9 @@ class Tester(unittest.TestCase):
clips
,
idxs
=
VideoClips
.
compute_clips_for_video
(
video_pts
,
num_frames
,
num_frames
,
clips
,
idxs
=
VideoClips
.
compute_clips_for_video
(
video_pts
,
num_frames
,
num_frames
,
orig_fps
,
new_fps
)
orig_fps
,
new_fps
)
resampled_idxs
=
VideoClips
.
_resample_video_idx
(
int
(
duration
*
new_fps
),
orig_fps
,
new_fps
)
resampled_idxs
=
VideoClips
.
_resample_video_idx
(
int
(
duration
*
new_fps
),
orig_fps
,
new_fps
)
self
.
assert
Equal
(
len
(
clips
)
,
3
)
assert
len
(
clips
)
==
3
self
.
assert
True
(
clips
.
equal
(
idxs
)
)
assert
_equal
(
clips
,
idxs
)
self
.
assert
True
(
idxs
.
flatten
()
.
equal
(
resampled_idxs
)
)
assert
_equal
(
idxs
.
flatten
()
,
resampled_idxs
)
# case 3: frames aren't enough for a clip
# case 3: frames aren't enough for a clip
num_frames
=
32
num_frames
=
32
...
@@ -126,8 +127,8 @@ class Tester(unittest.TestCase):
...
@@ -126,8 +127,8 @@ class Tester(unittest.TestCase):
with
self
.
assertWarns
(
UserWarning
):
with
self
.
assertWarns
(
UserWarning
):
clips
,
idxs
=
VideoClips
.
compute_clips_for_video
(
video_pts
,
num_frames
,
num_frames
,
clips
,
idxs
=
VideoClips
.
compute_clips_for_video
(
video_pts
,
num_frames
,
num_frames
,
orig_fps
,
new_fps
)
orig_fps
,
new_fps
)
self
.
assert
Equal
(
len
(
clips
)
,
0
)
assert
len
(
clips
)
==
0
self
.
assert
Equal
(
len
(
idxs
)
,
0
)
assert
len
(
idxs
)
==
0
if
__name__
==
'__main__'
:
if
__name__
==
'__main__'
:
...
...
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