Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
MLAir
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container registry
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
esde
machine-learning
MLAir
Commits
2e7fc27b
Commit
2e7fc27b
authored
5 years ago
by
Felix Kleinert
Browse files
Options
Downloads
Patches
Plain Diff
update tests for Padding2D
parent
7d591f15
No related branches found
No related tags found
3 merge requests
!90
WIP: new release update
,
!89
Resolve "release branch / CI on gpu"
,
!69
Felix issue077 feat model like in paper
Pipeline
#31760
passed
5 years ago
Stage: test
Stage: pages
Stage: deploy
Changes
2
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
test/test_model_modules/test_advanced_paddings.py
+58
-0
58 additions, 0 deletions
test/test_model_modules/test_advanced_paddings.py
test/test_model_modules/test_inception_model.py
+0
-45
0 additions, 45 deletions
test/test_model_modules/test_inception_model.py
with
58 additions
and
45 deletions
test/test_model_modules/test_advanced_paddings.py
+
58
−
0
View file @
2e7fc27b
...
...
@@ -417,3 +417,61 @@ class TestSymmerticPadding2D:
sym_pad
=
SymmetricPadding2D
(
padding
=
pad
,
name
=
layer_name
)(
input_x
)
assert
sym_pad
.
get_shape
().
as_list
()
==
[
None
,
12
,
10
,
3
]
assert
sym_pad
.
name
==
'
SymPad_3x1/MirrorPad:0
'
class
TestPadding2D
:
@pytest.fixture
def
input_x
(
self
):
return
keras
.
Input
(
shape
=
(
32
,
32
,
3
))
def
test_init
(
self
):
padding_layer
=
Padding2D
(
'
SymPad2D
'
)
assert
padding_layer
.
padding_type
==
'
SymPad2D
'
assert
padding_layer
.
allowed_paddings
==
{
'
RefPad2D
'
:
ReflectionPadding2D
,
'
ReflectionPadding2D
'
:
ReflectionPadding2D
,
'
SymPad2D
'
:
SymmetricPadding2D
,
'
SymmetricPadding2D
'
:
SymmetricPadding2D
,
'
ZeroPad2D
'
:
ZeroPadding2D
,
'
ZeroPadding2D
'
:
ZeroPadding2D
}
def
test_check_and_get_padding_zero_padding
(
self
):
assert
Padding2D
(
'
ZeroPad2D
'
).
_check_and_get_padding
()
==
ZeroPadding2D
assert
Padding2D
(
'
ZeroPadding2D
'
).
_check_and_get_padding
()
==
ZeroPadding2D
assert
Padding2D
(
keras
.
layers
.
ZeroPadding2D
).
_check_and_get_padding
()
==
ZeroPadding2D
def
test_check_and_get_padding_sym_padding
(
self
):
assert
Padding2D
(
'
SymPad2D
'
).
_check_and_get_padding
()
==
SymmetricPadding2D
assert
Padding2D
(
'
SymmetricPadding2D
'
).
_check_and_get_padding
()
==
SymmetricPadding2D
assert
Padding2D
(
SymmetricPadding2D
).
_check_and_get_padding
()
==
SymmetricPadding2D
def
test_check_and_get_padding_ref_padding
(
self
):
assert
Padding2D
(
'
RefPad2D
'
).
_check_and_get_padding
()
==
ReflectionPadding2D
assert
Padding2D
(
'
ReflectionPadding2D
'
).
_check_and_get_padding
()
==
ReflectionPadding2D
assert
Padding2D
(
ReflectionPadding2D
).
_check_and_get_padding
()
==
ReflectionPadding2D
def
test_check_and_get_padding_raises
(
self
,):
with
pytest
.
raises
(
NotImplementedError
)
as
einfo
:
Padding2D
(
'
FalsePadding2D
'
).
_check_and_get_padding
()
assert
"
`
'
FalsePadding2D
''
is not implemented as padding.
"
\
"
Use one of those: i) `RefPad2D
'
, ii) `SymPad2D
'
, iii) `ZeroPad2D
'"
in
str
(
einfo
.
value
)
with
pytest
.
raises
(
TypeError
)
as
einfo
:
Padding2D
(
keras
.
layers
.
Conv2D
).
_check_and_get_padding
()
assert
"
`Conv2D
'
is not a valid padding layer type. Use one of those:
"
\
"
i) ReflectionPadding2D, ii) SymmetricPadding2D, iii) ZeroPadding2D
"
in
str
(
einfo
.
value
)
@pytest.mark.parametrize
(
"
pad_type
"
,
[
"
SymPad2D
"
,
"
SymmetricPadding2D
"
,
SymmetricPadding2D
,
"
RefPad2D
"
,
"
ReflectionPadding2D
"
,
ReflectionPadding2D
,
"
ZeroPad2D
"
,
"
ZeroPadding2D
"
,
ZeroPadding2D
])
def
test_call
(
self
,
pad_type
,
input_x
):
pd
=
Padding2D
(
pad_type
)
if
hasattr
(
pad_type
,
"
__name__
"
):
layer_name
=
pad_type
.
__name__
else
:
layer_name
=
pad_type
pd_ap
=
pd
(
padding
=
(
1
,
2
),
name
=
f
"
{
layer_name
}
_layer
"
)(
input_x
)
assert
pd_ap
.
_keras_history
[
0
].
input_shape
==
(
None
,
32
,
32
,
3
)
assert
pd_ap
.
_keras_history
[
0
].
output_shape
==
(
None
,
34
,
36
,
3
)
assert
pd_ap
.
_keras_history
[
0
].
padding
==
((
1
,
1
),
(
2
,
2
))
assert
pd_ap
.
_keras_history
[
0
].
name
==
f
"
{
layer_name
}
_layer
"
This diff is collapsed.
Click to expand it.
test/test_model_modules/test_inception_model.py
+
0
−
45
View file @
2e7fc27b
...
...
@@ -277,48 +277,3 @@ class TestInceptionModelBase:
bn
=
base
.
batch_normalisation
(
input_x
).
_keras_history
[
0
]
assert
isinstance
(
bn
,
keras
.
layers
.
normalization
.
BatchNormalization
)
assert
bn
.
name
==
"
Block_0a_BN
"
def
test_padding_layer_zero_padding
(
self
,
base
,
input_x
):
padding_size
=
((
1
,
1
),
(
0
,
0
))
zp
=
base
.
padding_layer
(
'
ZeroPad2D
'
)
assert
zp
==
keras
.
layers
.
convolutional
.
ZeroPadding2D
assert
base
.
padding_layer
(
'
ZeroPadding2D
'
)
==
keras
.
layers
.
convolutional
.
ZeroPadding2D
assert
base
.
padding_layer
(
keras
.
layers
.
ZeroPadding2D
)
==
keras
.
layers
.
convolutional
.
ZeroPadding2D
assert
zp
.
__name__
==
'
ZeroPadding2D
'
zp_ap
=
zp
(
padding
=
padding_size
)(
input_x
)
assert
zp_ap
.
_keras_history
[
0
].
padding
==
((
1
,
1
),
(
0
,
0
))
def
test_padding_layer_sym_padding
(
self
,
base
,
input_x
):
padding_size
=
((
1
,
1
),
(
0
,
0
))
zp
=
base
.
padding_layer
(
'
SymPad2D
'
)
assert
zp
==
SymmetricPadding2D
assert
base
.
padding_layer
(
'
SymmetricPadding2D
'
)
==
SymmetricPadding2D
assert
base
.
padding_layer
(
SymmetricPadding2D
)
==
SymmetricPadding2D
assert
zp
.
__name__
==
'
SymmetricPadding2D
'
zp_ap
=
zp
(
padding
=
padding_size
)(
input_x
)
assert
zp_ap
.
_keras_history
[
0
].
padding
==
((
1
,
1
),
(
0
,
0
))
def
test_padding_layer_ref_padding
(
self
,
base
,
input_x
):
padding_size
=
((
1
,
1
),
(
0
,
0
))
zp
=
base
.
padding_layer
(
'
RefPad2D
'
)
assert
zp
==
ReflectionPadding2D
assert
base
.
padding_layer
(
'
ReflectionPadding2D
'
)
==
ReflectionPadding2D
assert
base
.
padding_layer
(
ReflectionPadding2D
)
==
ReflectionPadding2D
assert
zp
.
__name__
==
'
ReflectionPadding2D
'
zp_ap
=
zp
(
padding
=
padding_size
)(
input_x
)
assert
zp_ap
.
_keras_history
[
0
].
padding
==
((
1
,
1
),
(
0
,
0
))
def
test_padding_layer_raises
(
self
,
base
,
input_x
):
with
pytest
.
raises
(
NotImplementedError
)
as
einfo
:
base
.
padding_layer
(
'
FalsePadding2D
'
)
assert
"
`
'
FalsePadding2D
''
is not implemented as padding.
"
\
"
Use one of those: i) `RefPad2D
'
, ii) `SymPad2D
'
, iii) `ZeroPad2D
'"
in
str
(
einfo
.
value
)
with
pytest
.
raises
(
TypeError
)
as
einfo
:
base
.
padding_layer
(
keras
.
layers
.
Conv2D
)
assert
"
`Conv2D
'
is not a valid padding layer type. Use one of those:
"
\
"
i) ReflectionPadding2D, ii) SymmetricPadding2D, iii) ZeroPadding2D
"
in
str
(
einfo
.
value
)
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment