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
ModelZoo
ResNet50_tensorflow
Commits
31ca3b97
Commit
31ca3b97
authored
Jul 23, 2020
by
Kaushik Shivakumar
Browse files
resovle merge conflicts
parents
3e9d886d
7fcd7cba
Changes
392
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
2048 additions
and
1026 deletions
+2048
-1026
research/object_detection/models/center_net_mobilenet_v2_feature_extractor.py
...ction/models/center_net_mobilenet_v2_feature_extractor.py
+117
-0
research/object_detection/models/center_net_mobilenet_v2_feature_extractor_tf2_test.py
...els/center_net_mobilenet_v2_feature_extractor_tf2_test.py
+46
-0
research/object_detection/models/center_net_resnet_v1_fpn_feature_extractor.py
...tion/models/center_net_resnet_v1_fpn_feature_extractor.py
+30
-0
research/object_detection/models/center_net_resnet_v1_fpn_feature_extractor_tf2_test.py
...ls/center_net_resnet_v1_fpn_feature_extractor_tf2_test.py
+2
-0
research/object_detection/models/faster_rcnn_inception_resnet_v2_keras_feature_extractor.py
...aster_rcnn_inception_resnet_v2_keras_feature_extractor.py
+18
-952
research/object_detection/models/faster_rcnn_inception_resnet_v2_keras_feature_extractor_tf2_test.py
...n_inception_resnet_v2_keras_feature_extractor_tf2_test.py
+1
-1
research/object_detection/models/faster_rcnn_resnet_keras_feature_extractor.py
...tion/models/faster_rcnn_resnet_keras_feature_extractor.py
+0
-17
research/object_detection/models/faster_rcnn_resnet_v1_fpn_keras_feature_extractor.py
...dels/faster_rcnn_resnet_v1_fpn_keras_feature_extractor.py
+374
-0
research/object_detection/models/faster_rcnn_resnet_v1_fpn_keras_feature_extractor_tf2_test.py
...er_rcnn_resnet_v1_fpn_keras_feature_extractor_tf2_test.py
+94
-0
research/object_detection/models/keras_models/hourglass_network.py
...object_detection/models/keras_models/hourglass_network.py
+11
-4
research/object_detection/models/keras_models/resnet_v1.py
research/object_detection/models/keras_models/resnet_v1.py
+151
-7
research/object_detection/models/keras_models/resnet_v1_tf2_test.py
...bject_detection/models/keras_models/resnet_v1_tf2_test.py
+43
-1
research/object_detection/models/ssd_efficientnet_bifpn_feature_extractor.py
...ection/models/ssd_efficientnet_bifpn_feature_extractor.py
+925
-0
research/object_detection/models/ssd_efficientnet_bifpn_feature_extractor_tf2_test.py
...dels/ssd_efficientnet_bifpn_feature_extractor_tf2_test.py
+179
-0
research/object_detection/models/ssd_mobilenet_v1_keras_feature_extractor.py
...ection/models/ssd_mobilenet_v1_keras_feature_extractor.py
+0
-11
research/object_detection/models/ssd_mobilenet_v2_fpn_keras_feature_extractor.py
...on/models/ssd_mobilenet_v2_fpn_keras_feature_extractor.py
+0
-11
research/object_detection/models/ssd_mobilenet_v2_keras_feature_extractor.py
...ection/models/ssd_mobilenet_v2_keras_feature_extractor.py
+0
-11
research/object_detection/models/ssd_resnet_v1_fpn_keras_feature_extractor.py
...ction/models/ssd_resnet_v1_fpn_keras_feature_extractor.py
+0
-11
research/object_detection/packages/tf1/setup.py
research/object_detection/packages/tf1/setup.py
+27
-0
research/object_detection/packages/tf2/setup.py
research/object_detection/packages/tf2/setup.py
+30
-0
No files found.
research/object_detection/models/center_net_mobilenet_v2_feature_extractor.py
0 → 100644
View file @
31ca3b97
# Copyright 2020 The TensorFlow Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ==============================================================================
"""MobileNet V2[1] feature extractor for CenterNet[2] meta architecture.
[1]: https://arxiv.org/abs/1801.04381
[2]: https://arxiv.org/abs/1904.07850
"""
import
tensorflow.compat.v1
as
tf
from
object_detection.meta_architectures
import
center_net_meta_arch
from
object_detection.models.keras_models
import
mobilenet_v2
as
mobilenetv2
class
CenterNetMobileNetV2FeatureExtractor
(
center_net_meta_arch
.
CenterNetFeatureExtractor
):
"""The MobileNet V2 feature extractor for CenterNet."""
def
__init__
(
self
,
mobilenet_v2_net
,
channel_means
=
(
0.
,
0.
,
0.
),
channel_stds
=
(
1.
,
1.
,
1.
),
bgr_ordering
=
False
):
"""Intializes the feature extractor.
Args:
mobilenet_v2_net: The underlying mobilenet_v2 network to use.
channel_means: A tuple of floats, denoting the mean of each channel
which will be subtracted from it.
channel_stds: A tuple of floats, denoting the standard deviation of each
channel. Each channel will be divided by its standard deviation value.
bgr_ordering: bool, if set will change the channel ordering to be in the
[blue, red, green] order.
"""
super
(
CenterNetMobileNetV2FeatureExtractor
,
self
).
__init__
(
channel_means
=
channel_means
,
channel_stds
=
channel_stds
,
bgr_ordering
=
bgr_ordering
)
self
.
_network
=
mobilenet_v2_net
output
=
self
.
_network
(
self
.
_network
.
input
)
# TODO(nkhadke): Try out MobileNet+FPN next (skip connections are cheap and
# should help with performance).
# MobileNet by itself transforms a 224x224x3 volume into a 7x7x1280, which
# leads to a stride of 32. We perform upsampling to get it to a target
# stride of 4.
for
num_filters
in
[
256
,
128
,
64
]:
# 1. We use a simple convolution instead of a deformable convolution
conv
=
tf
.
keras
.
layers
.
Conv2D
(
filters
=
num_filters
,
kernel_size
=
1
,
strides
=
1
,
padding
=
'same'
)
output
=
conv
(
output
)
output
=
tf
.
keras
.
layers
.
BatchNormalization
()(
output
)
output
=
tf
.
keras
.
layers
.
ReLU
()(
output
)
# 2. We use the default initialization for the convolution layers
# instead of initializing it to do bilinear upsampling.
conv_transpose
=
tf
.
keras
.
layers
.
Conv2DTranspose
(
filters
=
num_filters
,
kernel_size
=
3
,
strides
=
2
,
padding
=
'same'
)
output
=
conv_transpose
(
output
)
output
=
tf
.
keras
.
layers
.
BatchNormalization
()(
output
)
output
=
tf
.
keras
.
layers
.
ReLU
()(
output
)
self
.
_network
=
tf
.
keras
.
models
.
Model
(
inputs
=
self
.
_network
.
input
,
outputs
=
output
)
def
preprocess
(
self
,
resized_inputs
):
resized_inputs
=
super
(
CenterNetMobileNetV2FeatureExtractor
,
self
).
preprocess
(
resized_inputs
)
return
tf
.
keras
.
applications
.
mobilenet_v2
.
preprocess_input
(
resized_inputs
)
def
load_feature_extractor_weights
(
self
,
path
):
self
.
_network
.
load_weights
(
path
)
def
get_base_model
(
self
):
return
self
.
_network
def
call
(
self
,
inputs
):
return
[
self
.
_network
(
inputs
)]
@
property
def
out_stride
(
self
):
"""The stride in the output image of the network."""
return
4
@
property
def
num_feature_outputs
(
self
):
"""The number of feature outputs returned by the feature extractor."""
return
1
def
get_model
(
self
):
return
self
.
_network
def
mobilenet_v2
(
channel_means
,
channel_stds
,
bgr_ordering
):
"""The MobileNetV2 backbone for CenterNet."""
# We set 'is_training' to True for now.
network
=
mobilenetv2
.
mobilenet_v2
(
True
,
include_top
=
False
)
return
CenterNetMobileNetV2FeatureExtractor
(
network
,
channel_means
=
channel_means
,
channel_stds
=
channel_stds
,
bgr_ordering
=
bgr_ordering
)
research/object_detection/models/center_net_mobilenet_v2_feature_extractor_tf2_test.py
0 → 100644
View file @
31ca3b97
# Copyright 2020 The TensorFlow Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ==============================================================================
"""Testing mobilenet_v2 feature extractor for CenterNet."""
import
unittest
import
numpy
as
np
import
tensorflow.compat.v1
as
tf
from
object_detection.models
import
center_net_mobilenet_v2_feature_extractor
from
object_detection.models.keras_models
import
mobilenet_v2
from
object_detection.utils
import
test_case
from
object_detection.utils
import
tf_version
@
unittest
.
skipIf
(
tf_version
.
is_tf1
(),
'Skipping TF2.X only test.'
)
class
CenterNetMobileNetV2FeatureExtractorTest
(
test_case
.
TestCase
):
def
test_center_net_mobilenet_v2_feature_extractor
(
self
):
net
=
mobilenet_v2
.
mobilenet_v2
(
True
,
include_top
=
False
)
model
=
center_net_mobilenet_v2_feature_extractor
.
CenterNetMobileNetV2FeatureExtractor
(
net
)
def
graph_fn
():
img
=
np
.
zeros
((
8
,
224
,
224
,
3
),
dtype
=
np
.
float32
)
processed_img
=
model
.
preprocess
(
img
)
return
model
(
processed_img
)
outputs
=
self
.
execute
(
graph_fn
,
[])
self
.
assertEqual
(
outputs
.
shape
,
(
8
,
56
,
56
,
64
))
if
__name__
==
'__main__'
:
tf
.
test
.
main
()
research/object_detection/models/center_net_resnet_v1_fpn_feature_extractor.py
View file @
31ca3b97
...
@@ -21,9 +21,14 @@
...
@@ -21,9 +21,14 @@
import
tensorflow.compat.v1
as
tf
import
tensorflow.compat.v1
as
tf
from
object_detection.meta_architectures.center_net_meta_arch
import
CenterNetFeatureExtractor
from
object_detection.meta_architectures.center_net_meta_arch
import
CenterNetFeatureExtractor
from
object_detection.models.keras_models
import
resnet_v1
_RESNET_MODEL_OUTPUT_LAYERS
=
{
_RESNET_MODEL_OUTPUT_LAYERS
=
{
'resnet_v1_18'
:
[
'conv2_block2_out'
,
'conv3_block2_out'
,
'conv4_block2_out'
,
'conv5_block2_out'
],
'resnet_v1_34'
:
[
'conv2_block3_out'
,
'conv3_block4_out'
,
'conv4_block6_out'
,
'conv5_block3_out'
],
'resnet_v1_50'
:
[
'conv2_block3_out'
,
'conv3_block4_out'
,
'resnet_v1_50'
:
[
'conv2_block3_out'
,
'conv3_block4_out'
,
'conv4_block6_out'
,
'conv5_block3_out'
],
'conv4_block6_out'
,
'conv5_block3_out'
],
'resnet_v1_101'
:
[
'conv2_block3_out'
,
'conv3_block4_out'
,
'resnet_v1_101'
:
[
'conv2_block3_out'
,
'conv3_block4_out'
,
...
@@ -69,6 +74,10 @@ class CenterNetResnetV1FpnFeatureExtractor(CenterNetFeatureExtractor):
...
@@ -69,6 +74,10 @@ class CenterNetResnetV1FpnFeatureExtractor(CenterNetFeatureExtractor):
self
.
_base_model
=
tf
.
keras
.
applications
.
ResNet50
(
weights
=
None
)
self
.
_base_model
=
tf
.
keras
.
applications
.
ResNet50
(
weights
=
None
)
elif
resnet_type
==
'resnet_v1_101'
:
elif
resnet_type
==
'resnet_v1_101'
:
self
.
_base_model
=
tf
.
keras
.
applications
.
ResNet101
(
weights
=
None
)
self
.
_base_model
=
tf
.
keras
.
applications
.
ResNet101
(
weights
=
None
)
elif
resnet_type
==
'resnet_v1_18'
:
self
.
_base_model
=
resnet_v1
.
resnet_v1_18
(
weights
=
None
)
elif
resnet_type
==
'resnet_v1_34'
:
self
.
_base_model
=
resnet_v1
.
resnet_v1_34
(
weights
=
None
)
else
:
else
:
raise
ValueError
(
'Unknown Resnet Model {}'
.
format
(
resnet_type
))
raise
ValueError
(
'Unknown Resnet Model {}'
.
format
(
resnet_type
))
output_layers
=
_RESNET_MODEL_OUTPUT_LAYERS
[
resnet_type
]
output_layers
=
_RESNET_MODEL_OUTPUT_LAYERS
[
resnet_type
]
...
@@ -174,3 +183,24 @@ def resnet_v1_50_fpn(channel_means, channel_stds, bgr_ordering):
...
@@ -174,3 +183,24 @@ def resnet_v1_50_fpn(channel_means, channel_stds, bgr_ordering):
channel_means
=
channel_means
,
channel_means
=
channel_means
,
channel_stds
=
channel_stds
,
channel_stds
=
channel_stds
,
bgr_ordering
=
bgr_ordering
)
bgr_ordering
=
bgr_ordering
)
def
resnet_v1_34_fpn
(
channel_means
,
channel_stds
,
bgr_ordering
):
"""The ResNet v1 34 FPN feature extractor."""
return
CenterNetResnetV1FpnFeatureExtractor
(
resnet_type
=
'resnet_v1_34'
,
channel_means
=
channel_means
,
channel_stds
=
channel_stds
,
bgr_ordering
=
bgr_ordering
)
def
resnet_v1_18_fpn
(
channel_means
,
channel_stds
,
bgr_ordering
):
"""The ResNet v1 18 FPN feature extractor."""
return
CenterNetResnetV1FpnFeatureExtractor
(
resnet_type
=
'resnet_v1_18'
,
channel_means
=
channel_means
,
channel_stds
=
channel_stds
,
bgr_ordering
=
bgr_ordering
)
research/object_detection/models/center_net_resnet_v1_fpn_feature_extractor_tf2_test.py
View file @
31ca3b97
...
@@ -31,6 +31,8 @@ class CenterNetResnetV1FpnFeatureExtractorTest(test_case.TestCase,
...
@@ -31,6 +31,8 @@ class CenterNetResnetV1FpnFeatureExtractorTest(test_case.TestCase,
@
parameterized
.
parameters
(
@
parameterized
.
parameters
(
{
'resnet_type'
:
'resnet_v1_50'
},
{
'resnet_type'
:
'resnet_v1_50'
},
{
'resnet_type'
:
'resnet_v1_101'
},
{
'resnet_type'
:
'resnet_v1_101'
},
{
'resnet_type'
:
'resnet_v1_18'
},
{
'resnet_type'
:
'resnet_v1_34'
},
)
)
def
test_correct_output_size
(
self
,
resnet_type
):
def
test_correct_output_size
(
self
,
resnet_type
):
"""Verify that shape of features returned by the backbone is correct."""
"""Verify that shape of features returned by the backbone is correct."""
...
...
research/object_detection/models/faster_rcnn_inception_resnet_v2_keras_feature_extractor.py
View file @
31ca3b97
...
@@ -59,6 +59,7 @@ class FasterRCNNInceptionResnetV2KerasFeatureExtractor(
...
@@ -59,6 +59,7 @@ class FasterRCNNInceptionResnetV2KerasFeatureExtractor(
is_training
,
first_stage_features_stride
,
batch_norm_trainable
,
is_training
,
first_stage_features_stride
,
batch_norm_trainable
,
weight_decay
)
weight_decay
)
self
.
_variable_dict
=
{}
self
.
_variable_dict
=
{}
self
.
classification_backbone
=
None
def
preprocess
(
self
,
resized_inputs
):
def
preprocess
(
self
,
resized_inputs
):
"""Faster R-CNN with Inception Resnet v2 preprocessing.
"""Faster R-CNN with Inception Resnet v2 preprocessing.
...
@@ -95,19 +96,20 @@ class FasterRCNNInceptionResnetV2KerasFeatureExtractor(
...
@@ -95,19 +96,20 @@ class FasterRCNNInceptionResnetV2KerasFeatureExtractor(
And returns rpn_feature_map:
And returns rpn_feature_map:
A tensor with shape [batch, height, width, depth]
A tensor with shape [batch, height, width, depth]
"""
"""
with
tf
.
name_scope
(
name
):
if
not
self
.
classification_backbone
:
with
tf
.
name_scope
(
'InceptionResnetV2'
):
self
.
classification_backbone
=
inception_resnet_v2
.
inception_resnet_v2
(
model
=
inception_resnet_v2
.
inception_resnet_v2
(
self
.
_train_batch_norm
,
self
.
_train_batch_norm
,
output_stride
=
self
.
_first_stage_features_stride
,
output_stride
=
self
.
_first_stage_features_stride
,
align_feature_maps
=
True
,
align_feature_maps
=
True
,
weight_decay
=
self
.
_weight_decay
,
weight_decay
=
self
.
_weight_decay
,
weights
=
None
,
weights
=
None
,
include_top
=
False
)
include_top
=
False
)
proposal_features
=
model
.
get_layer
(
with
tf
.
name_scope
(
name
):
with
tf
.
name_scope
(
'InceptionResnetV2'
):
proposal_features
=
self
.
classification_backbone
.
get_layer
(
name
=
'block17_20_ac'
).
output
name
=
'block17_20_ac'
).
output
keras_model
=
tf
.
keras
.
Model
(
keras_model
=
tf
.
keras
.
Model
(
inputs
=
model
.
inputs
,
inputs
=
self
.
classification_backbone
.
inputs
,
outputs
=
proposal_features
)
outputs
=
proposal_features
)
for
variable
in
keras_model
.
variables
:
for
variable
in
keras_model
.
variables
:
self
.
_variable_dict
[
variable
.
name
[:
-
2
]]
=
variable
self
.
_variable_dict
[
variable
.
name
[:
-
2
]]
=
variable
...
@@ -132,962 +134,26 @@ class FasterRCNNInceptionResnetV2KerasFeatureExtractor(
...
@@ -132,962 +134,26 @@ class FasterRCNNInceptionResnetV2KerasFeatureExtractor(
[batch_size * self.max_num_proposals, height, width, depth]
[batch_size * self.max_num_proposals, height, width, depth]
representing box classifier features for each proposal.
representing box classifier features for each proposal.
"""
"""
if
not
self
.
classification_backbone
:
self
.
classification_backbone
=
inception_resnet_v2
.
inception_resnet_v2
(
self
.
_train_batch_norm
,
output_stride
=
self
.
_first_stage_features_stride
,
align_feature_maps
=
True
,
weight_decay
=
self
.
_weight_decay
,
weights
=
None
,
include_top
=
False
)
with
tf
.
name_scope
(
name
):
with
tf
.
name_scope
(
name
):
with
tf
.
name_scope
(
'InceptionResnetV2'
):
with
tf
.
name_scope
(
'InceptionResnetV2'
):
model
=
inception_resnet_v2
.
inception_resnet_v2
(
proposal_feature_maps
=
self
.
classification_backbone
.
get_layer
(
self
.
_train_batch_norm
,
output_stride
=
16
,
align_feature_maps
=
False
,
weight_decay
=
self
.
_weight_decay
,
weights
=
None
,
include_top
=
False
)
proposal_feature_maps
=
model
.
get_layer
(
name
=
'block17_20_ac'
).
output
name
=
'block17_20_ac'
).
output
proposal_classifier_features
=
model
.
get_layer
(
proposal_classifier_features
=
self
.
classification_backbone
.
get_layer
(
name
=
'conv_7b_ac'
).
output
name
=
'conv_7b_ac'
).
output
keras_model
=
model_util
.
extract_submodel
(
keras_model
=
model_util
.
extract_submodel
(
model
=
model
,
model
=
self
.
classification_backbone
,
inputs
=
proposal_feature_maps
,
inputs
=
proposal_feature_maps
,
outputs
=
proposal_classifier_features
)
outputs
=
proposal_classifier_features
)
for
variable
in
keras_model
.
variables
:
for
variable
in
keras_model
.
variables
:
self
.
_variable_dict
[
variable
.
name
[:
-
2
]]
=
variable
self
.
_variable_dict
[
variable
.
name
[:
-
2
]]
=
variable
return
keras_model
return
keras_model
def
restore_from_classification_checkpoint_fn
(
self
,
first_stage_feature_extractor_scope
,
second_stage_feature_extractor_scope
):
"""Returns a map of variables to load from a foreign checkpoint.
This uses a hard-coded conversion to load into Keras from a slim-trained
inception_resnet_v2 checkpoint.
Note that this overrides the default implementation in
faster_rcnn_meta_arch.FasterRCNNKerasFeatureExtractor which does not work
for InceptionResnetV2 checkpoints.
Args:
first_stage_feature_extractor_scope: A scope name for the first stage
feature extractor.
second_stage_feature_extractor_scope: A scope name for the second stage
feature extractor.
Returns:
A dict mapping variable names (to load from a checkpoint) to variables in
the model graph.
"""
keras_to_slim_name_mapping
=
{
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d/kernel'
:
'InceptionResnetV2/Conv2d_1a_3x3/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm/beta'
:
'InceptionResnetV2/Conv2d_1a_3x3/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm/moving_mean'
:
'InceptionResnetV2/Conv2d_1a_3x3/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm/moving_variance'
:
'InceptionResnetV2/Conv2d_1a_3x3/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_1/kernel'
:
'InceptionResnetV2/Conv2d_2a_3x3/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_1/beta'
:
'InceptionResnetV2/Conv2d_2a_3x3/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_1/moving_mean'
:
'InceptionResnetV2/Conv2d_2a_3x3/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_1/moving_variance'
:
'InceptionResnetV2/Conv2d_2a_3x3/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_2/kernel'
:
'InceptionResnetV2/Conv2d_2b_3x3/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_2/beta'
:
'InceptionResnetV2/Conv2d_2b_3x3/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_2/moving_mean'
:
'InceptionResnetV2/Conv2d_2b_3x3/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_2/moving_variance'
:
'InceptionResnetV2/Conv2d_2b_3x3/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_3/kernel'
:
'InceptionResnetV2/Conv2d_3b_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_3/beta'
:
'InceptionResnetV2/Conv2d_3b_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_3/moving_mean'
:
'InceptionResnetV2/Conv2d_3b_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_3/moving_variance'
:
'InceptionResnetV2/Conv2d_3b_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_4/kernel'
:
'InceptionResnetV2/Conv2d_4a_3x3/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_4/beta'
:
'InceptionResnetV2/Conv2d_4a_3x3/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_4/moving_mean'
:
'InceptionResnetV2/Conv2d_4a_3x3/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_4/moving_variance'
:
'InceptionResnetV2/Conv2d_4a_3x3/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_5/kernel'
:
'InceptionResnetV2/Mixed_5b/Branch_0/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_5/beta'
:
'InceptionResnetV2/Mixed_5b/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_5/moving_mean'
:
'InceptionResnetV2/Mixed_5b/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_5/moving_variance'
:
'InceptionResnetV2/Mixed_5b/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_6/kernel'
:
'InceptionResnetV2/Mixed_5b/Branch_1/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_6/beta'
:
'InceptionResnetV2/Mixed_5b/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_6/moving_mean'
:
'InceptionResnetV2/Mixed_5b/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_6/moving_variance'
:
'InceptionResnetV2/Mixed_5b/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_7/kernel'
:
'InceptionResnetV2/Mixed_5b/Branch_1/Conv2d_0b_5x5/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_7/beta'
:
'InceptionResnetV2/Mixed_5b/Branch_1/Conv2d_0b_5x5/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_7/moving_mean'
:
'InceptionResnetV2/Mixed_5b/Branch_1/Conv2d_0b_5x5/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_7/moving_variance'
:
'InceptionResnetV2/Mixed_5b/Branch_1/Conv2d_0b_5x5/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_8/kernel'
:
'InceptionResnetV2/Mixed_5b/Branch_2/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_8/beta'
:
'InceptionResnetV2/Mixed_5b/Branch_2/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_8/moving_mean'
:
'InceptionResnetV2/Mixed_5b/Branch_2/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_8/moving_variance'
:
'InceptionResnetV2/Mixed_5b/Branch_2/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_9/kernel'
:
'InceptionResnetV2/Mixed_5b/Branch_2/Conv2d_0b_3x3/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_9/beta'
:
'InceptionResnetV2/Mixed_5b/Branch_2/Conv2d_0b_3x3/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_9/moving_mean'
:
'InceptionResnetV2/Mixed_5b/Branch_2/Conv2d_0b_3x3/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_9/moving_variance'
:
'InceptionResnetV2/Mixed_5b/Branch_2/Conv2d_0b_3x3/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_10/kernel'
:
'InceptionResnetV2/Mixed_5b/Branch_2/Conv2d_0c_3x3/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_10/beta'
:
'InceptionResnetV2/Mixed_5b/Branch_2/Conv2d_0c_3x3/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_10/moving_mean'
:
'InceptionResnetV2/Mixed_5b/Branch_2/Conv2d_0c_3x3/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_10/moving_variance'
:
'InceptionResnetV2/Mixed_5b/Branch_2/Conv2d_0c_3x3/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_11/kernel'
:
'InceptionResnetV2/Mixed_5b/Branch_3/Conv2d_0b_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_11/beta'
:
'InceptionResnetV2/Mixed_5b/Branch_3/Conv2d_0b_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_11/moving_mean'
:
'InceptionResnetV2/Mixed_5b/Branch_3/Conv2d_0b_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_11/moving_variance'
:
'InceptionResnetV2/Mixed_5b/Branch_3/Conv2d_0b_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_12/kernel'
:
'InceptionResnetV2/Repeat/block35_1/Branch_0/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_12/beta'
:
'InceptionResnetV2/Repeat/block35_1/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_12/moving_mean'
:
'InceptionResnetV2/Repeat/block35_1/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_12/moving_variance'
:
'InceptionResnetV2/Repeat/block35_1/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_13/kernel'
:
'InceptionResnetV2/Repeat/block35_1/Branch_1/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_13/beta'
:
'InceptionResnetV2/Repeat/block35_1/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_13/moving_mean'
:
'InceptionResnetV2/Repeat/block35_1/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_13/moving_variance'
:
'InceptionResnetV2/Repeat/block35_1/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_14/kernel'
:
'InceptionResnetV2/Repeat/block35_1/Branch_1/Conv2d_0b_3x3/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_14/beta'
:
'InceptionResnetV2/Repeat/block35_1/Branch_1/Conv2d_0b_3x3/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_14/moving_mean'
:
'InceptionResnetV2/Repeat/block35_1/Branch_1/Conv2d_0b_3x3/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_14/moving_variance'
:
'InceptionResnetV2/Repeat/block35_1/Branch_1/Conv2d_0b_3x3/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_15/kernel'
:
'InceptionResnetV2/Repeat/block35_1/Branch_2/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_15/beta'
:
'InceptionResnetV2/Repeat/block35_1/Branch_2/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_15/moving_mean'
:
'InceptionResnetV2/Repeat/block35_1/Branch_2/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_15/moving_variance'
:
'InceptionResnetV2/Repeat/block35_1/Branch_2/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_16/kernel'
:
'InceptionResnetV2/Repeat/block35_1/Branch_2/Conv2d_0b_3x3/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_16/beta'
:
'InceptionResnetV2/Repeat/block35_1/Branch_2/Conv2d_0b_3x3/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_16/moving_mean'
:
'InceptionResnetV2/Repeat/block35_1/Branch_2/Conv2d_0b_3x3/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_16/moving_variance'
:
'InceptionResnetV2/Repeat/block35_1/Branch_2/Conv2d_0b_3x3/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_17/kernel'
:
'InceptionResnetV2/Repeat/block35_1/Branch_2/Conv2d_0c_3x3/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_17/beta'
:
'InceptionResnetV2/Repeat/block35_1/Branch_2/Conv2d_0c_3x3/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_17/moving_mean'
:
'InceptionResnetV2/Repeat/block35_1/Branch_2/Conv2d_0c_3x3/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_17/moving_variance'
:
'InceptionResnetV2/Repeat/block35_1/Branch_2/Conv2d_0c_3x3/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block35_1_conv/kernel'
:
'InceptionResnetV2/Repeat/block35_1/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block35_1_conv/bias'
:
'InceptionResnetV2/Repeat/block35_1/Conv2d_1x1/biases'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_18/kernel'
:
'InceptionResnetV2/Repeat/block35_2/Branch_0/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_18/beta'
:
'InceptionResnetV2/Repeat/block35_2/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_18/moving_mean'
:
'InceptionResnetV2/Repeat/block35_2/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_18/moving_variance'
:
'InceptionResnetV2/Repeat/block35_2/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_19/kernel'
:
'InceptionResnetV2/Repeat/block35_2/Branch_1/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_19/beta'
:
'InceptionResnetV2/Repeat/block35_2/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_19/moving_mean'
:
'InceptionResnetV2/Repeat/block35_2/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_19/moving_variance'
:
'InceptionResnetV2/Repeat/block35_2/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_20/kernel'
:
'InceptionResnetV2/Repeat/block35_2/Branch_1/Conv2d_0b_3x3/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_20/beta'
:
'InceptionResnetV2/Repeat/block35_2/Branch_1/Conv2d_0b_3x3/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_20/moving_mean'
:
'InceptionResnetV2/Repeat/block35_2/Branch_1/Conv2d_0b_3x3/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_20/moving_variance'
:
'InceptionResnetV2/Repeat/block35_2/Branch_1/Conv2d_0b_3x3/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_21/kernel'
:
'InceptionResnetV2/Repeat/block35_2/Branch_2/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_21/beta'
:
'InceptionResnetV2/Repeat/block35_2/Branch_2/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_21/moving_mean'
:
'InceptionResnetV2/Repeat/block35_2/Branch_2/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_21/moving_variance'
:
'InceptionResnetV2/Repeat/block35_2/Branch_2/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_22/kernel'
:
'InceptionResnetV2/Repeat/block35_2/Branch_2/Conv2d_0b_3x3/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_22/beta'
:
'InceptionResnetV2/Repeat/block35_2/Branch_2/Conv2d_0b_3x3/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_22/moving_mean'
:
'InceptionResnetV2/Repeat/block35_2/Branch_2/Conv2d_0b_3x3/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_22/moving_variance'
:
'InceptionResnetV2/Repeat/block35_2/Branch_2/Conv2d_0b_3x3/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_23/kernel'
:
'InceptionResnetV2/Repeat/block35_2/Branch_2/Conv2d_0c_3x3/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_23/beta'
:
'InceptionResnetV2/Repeat/block35_2/Branch_2/Conv2d_0c_3x3/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_23/moving_mean'
:
'InceptionResnetV2/Repeat/block35_2/Branch_2/Conv2d_0c_3x3/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_23/moving_variance'
:
'InceptionResnetV2/Repeat/block35_2/Branch_2/Conv2d_0c_3x3/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block35_2_conv/kernel'
:
'InceptionResnetV2/Repeat/block35_2/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block35_2_conv/bias'
:
'InceptionResnetV2/Repeat/block35_2/Conv2d_1x1/biases'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_24/kernel'
:
'InceptionResnetV2/Repeat/block35_3/Branch_0/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_24/beta'
:
'InceptionResnetV2/Repeat/block35_3/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_24/moving_mean'
:
'InceptionResnetV2/Repeat/block35_3/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_24/moving_variance'
:
'InceptionResnetV2/Repeat/block35_3/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_25/kernel'
:
'InceptionResnetV2/Repeat/block35_3/Branch_1/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_25/beta'
:
'InceptionResnetV2/Repeat/block35_3/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_25/moving_mean'
:
'InceptionResnetV2/Repeat/block35_3/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_25/moving_variance'
:
'InceptionResnetV2/Repeat/block35_3/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_26/kernel'
:
'InceptionResnetV2/Repeat/block35_3/Branch_1/Conv2d_0b_3x3/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_26/beta'
:
'InceptionResnetV2/Repeat/block35_3/Branch_1/Conv2d_0b_3x3/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_26/moving_mean'
:
'InceptionResnetV2/Repeat/block35_3/Branch_1/Conv2d_0b_3x3/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_26/moving_variance'
:
'InceptionResnetV2/Repeat/block35_3/Branch_1/Conv2d_0b_3x3/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_27/kernel'
:
'InceptionResnetV2/Repeat/block35_3/Branch_2/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_27/beta'
:
'InceptionResnetV2/Repeat/block35_3/Branch_2/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_27/moving_mean'
:
'InceptionResnetV2/Repeat/block35_3/Branch_2/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_27/moving_variance'
:
'InceptionResnetV2/Repeat/block35_3/Branch_2/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_28/kernel'
:
'InceptionResnetV2/Repeat/block35_3/Branch_2/Conv2d_0b_3x3/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_28/beta'
:
'InceptionResnetV2/Repeat/block35_3/Branch_2/Conv2d_0b_3x3/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_28/moving_mean'
:
'InceptionResnetV2/Repeat/block35_3/Branch_2/Conv2d_0b_3x3/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_28/moving_variance'
:
'InceptionResnetV2/Repeat/block35_3/Branch_2/Conv2d_0b_3x3/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_29/kernel'
:
'InceptionResnetV2/Repeat/block35_3/Branch_2/Conv2d_0c_3x3/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_29/beta'
:
'InceptionResnetV2/Repeat/block35_3/Branch_2/Conv2d_0c_3x3/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_29/moving_mean'
:
'InceptionResnetV2/Repeat/block35_3/Branch_2/Conv2d_0c_3x3/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_29/moving_variance'
:
'InceptionResnetV2/Repeat/block35_3/Branch_2/Conv2d_0c_3x3/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block35_3_conv/kernel'
:
'InceptionResnetV2/Repeat/block35_3/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block35_3_conv/bias'
:
'InceptionResnetV2/Repeat/block35_3/Conv2d_1x1/biases'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_30/kernel'
:
'InceptionResnetV2/Repeat/block35_4/Branch_0/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_30/beta'
:
'InceptionResnetV2/Repeat/block35_4/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_30/moving_mean'
:
'InceptionResnetV2/Repeat/block35_4/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_30/moving_variance'
:
'InceptionResnetV2/Repeat/block35_4/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_31/kernel'
:
'InceptionResnetV2/Repeat/block35_4/Branch_1/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_31/beta'
:
'InceptionResnetV2/Repeat/block35_4/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_31/moving_mean'
:
'InceptionResnetV2/Repeat/block35_4/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_31/moving_variance'
:
'InceptionResnetV2/Repeat/block35_4/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_32/kernel'
:
'InceptionResnetV2/Repeat/block35_4/Branch_1/Conv2d_0b_3x3/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_32/beta'
:
'InceptionResnetV2/Repeat/block35_4/Branch_1/Conv2d_0b_3x3/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_32/moving_mean'
:
'InceptionResnetV2/Repeat/block35_4/Branch_1/Conv2d_0b_3x3/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_32/moving_variance'
:
'InceptionResnetV2/Repeat/block35_4/Branch_1/Conv2d_0b_3x3/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_33/kernel'
:
'InceptionResnetV2/Repeat/block35_4/Branch_2/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_33/beta'
:
'InceptionResnetV2/Repeat/block35_4/Branch_2/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_33/moving_mean'
:
'InceptionResnetV2/Repeat/block35_4/Branch_2/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_33/moving_variance'
:
'InceptionResnetV2/Repeat/block35_4/Branch_2/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_34/kernel'
:
'InceptionResnetV2/Repeat/block35_4/Branch_2/Conv2d_0b_3x3/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_34/beta'
:
'InceptionResnetV2/Repeat/block35_4/Branch_2/Conv2d_0b_3x3/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_34/moving_mean'
:
'InceptionResnetV2/Repeat/block35_4/Branch_2/Conv2d_0b_3x3/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_34/moving_variance'
:
'InceptionResnetV2/Repeat/block35_4/Branch_2/Conv2d_0b_3x3/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_35/kernel'
:
'InceptionResnetV2/Repeat/block35_4/Branch_2/Conv2d_0c_3x3/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_35/beta'
:
'InceptionResnetV2/Repeat/block35_4/Branch_2/Conv2d_0c_3x3/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_35/moving_mean'
:
'InceptionResnetV2/Repeat/block35_4/Branch_2/Conv2d_0c_3x3/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_35/moving_variance'
:
'InceptionResnetV2/Repeat/block35_4/Branch_2/Conv2d_0c_3x3/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block35_4_conv/kernel'
:
'InceptionResnetV2/Repeat/block35_4/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block35_4_conv/bias'
:
'InceptionResnetV2/Repeat/block35_4/Conv2d_1x1/biases'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_36/kernel'
:
'InceptionResnetV2/Repeat/block35_5/Branch_0/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_36/beta'
:
'InceptionResnetV2/Repeat/block35_5/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_36/moving_mean'
:
'InceptionResnetV2/Repeat/block35_5/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_36/moving_variance'
:
'InceptionResnetV2/Repeat/block35_5/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_37/kernel'
:
'InceptionResnetV2/Repeat/block35_5/Branch_1/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_37/beta'
:
'InceptionResnetV2/Repeat/block35_5/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_37/moving_mean'
:
'InceptionResnetV2/Repeat/block35_5/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_37/moving_variance'
:
'InceptionResnetV2/Repeat/block35_5/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_38/kernel'
:
'InceptionResnetV2/Repeat/block35_5/Branch_1/Conv2d_0b_3x3/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_38/beta'
:
'InceptionResnetV2/Repeat/block35_5/Branch_1/Conv2d_0b_3x3/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_38/moving_mean'
:
'InceptionResnetV2/Repeat/block35_5/Branch_1/Conv2d_0b_3x3/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_38/moving_variance'
:
'InceptionResnetV2/Repeat/block35_5/Branch_1/Conv2d_0b_3x3/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_39/kernel'
:
'InceptionResnetV2/Repeat/block35_5/Branch_2/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_39/beta'
:
'InceptionResnetV2/Repeat/block35_5/Branch_2/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_39/moving_mean'
:
'InceptionResnetV2/Repeat/block35_5/Branch_2/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_39/moving_variance'
:
'InceptionResnetV2/Repeat/block35_5/Branch_2/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_40/kernel'
:
'InceptionResnetV2/Repeat/block35_5/Branch_2/Conv2d_0b_3x3/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_40/beta'
:
'InceptionResnetV2/Repeat/block35_5/Branch_2/Conv2d_0b_3x3/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_40/moving_mean'
:
'InceptionResnetV2/Repeat/block35_5/Branch_2/Conv2d_0b_3x3/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_40/moving_variance'
:
'InceptionResnetV2/Repeat/block35_5/Branch_2/Conv2d_0b_3x3/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_41/kernel'
:
'InceptionResnetV2/Repeat/block35_5/Branch_2/Conv2d_0c_3x3/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_41/beta'
:
'InceptionResnetV2/Repeat/block35_5/Branch_2/Conv2d_0c_3x3/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_41/moving_mean'
:
'InceptionResnetV2/Repeat/block35_5/Branch_2/Conv2d_0c_3x3/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_41/moving_variance'
:
'InceptionResnetV2/Repeat/block35_5/Branch_2/Conv2d_0c_3x3/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block35_5_conv/kernel'
:
'InceptionResnetV2/Repeat/block35_5/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block35_5_conv/bias'
:
'InceptionResnetV2/Repeat/block35_5/Conv2d_1x1/biases'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_42/kernel'
:
'InceptionResnetV2/Repeat/block35_6/Branch_0/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_42/beta'
:
'InceptionResnetV2/Repeat/block35_6/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_42/moving_mean'
:
'InceptionResnetV2/Repeat/block35_6/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_42/moving_variance'
:
'InceptionResnetV2/Repeat/block35_6/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_43/kernel'
:
'InceptionResnetV2/Repeat/block35_6/Branch_1/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_43/beta'
:
'InceptionResnetV2/Repeat/block35_6/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_43/moving_mean'
:
'InceptionResnetV2/Repeat/block35_6/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_43/moving_variance'
:
'InceptionResnetV2/Repeat/block35_6/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_44/kernel'
:
'InceptionResnetV2/Repeat/block35_6/Branch_1/Conv2d_0b_3x3/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_44/beta'
:
'InceptionResnetV2/Repeat/block35_6/Branch_1/Conv2d_0b_3x3/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_44/moving_mean'
:
'InceptionResnetV2/Repeat/block35_6/Branch_1/Conv2d_0b_3x3/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_44/moving_variance'
:
'InceptionResnetV2/Repeat/block35_6/Branch_1/Conv2d_0b_3x3/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_45/kernel'
:
'InceptionResnetV2/Repeat/block35_6/Branch_2/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_45/beta'
:
'InceptionResnetV2/Repeat/block35_6/Branch_2/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_45/moving_mean'
:
'InceptionResnetV2/Repeat/block35_6/Branch_2/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_45/moving_variance'
:
'InceptionResnetV2/Repeat/block35_6/Branch_2/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_46/kernel'
:
'InceptionResnetV2/Repeat/block35_6/Branch_2/Conv2d_0b_3x3/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_46/beta'
:
'InceptionResnetV2/Repeat/block35_6/Branch_2/Conv2d_0b_3x3/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_46/moving_mean'
:
'InceptionResnetV2/Repeat/block35_6/Branch_2/Conv2d_0b_3x3/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_46/moving_variance'
:
'InceptionResnetV2/Repeat/block35_6/Branch_2/Conv2d_0b_3x3/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_47/kernel'
:
'InceptionResnetV2/Repeat/block35_6/Branch_2/Conv2d_0c_3x3/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_47/beta'
:
'InceptionResnetV2/Repeat/block35_6/Branch_2/Conv2d_0c_3x3/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_47/moving_mean'
:
'InceptionResnetV2/Repeat/block35_6/Branch_2/Conv2d_0c_3x3/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_47/moving_variance'
:
'InceptionResnetV2/Repeat/block35_6/Branch_2/Conv2d_0c_3x3/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block35_6_conv/kernel'
:
'InceptionResnetV2/Repeat/block35_6/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block35_6_conv/bias'
:
'InceptionResnetV2/Repeat/block35_6/Conv2d_1x1/biases'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_48/kernel'
:
'InceptionResnetV2/Repeat/block35_7/Branch_0/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_48/beta'
:
'InceptionResnetV2/Repeat/block35_7/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_48/moving_mean'
:
'InceptionResnetV2/Repeat/block35_7/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_48/moving_variance'
:
'InceptionResnetV2/Repeat/block35_7/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_49/kernel'
:
'InceptionResnetV2/Repeat/block35_7/Branch_1/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_49/beta'
:
'InceptionResnetV2/Repeat/block35_7/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_49/moving_mean'
:
'InceptionResnetV2/Repeat/block35_7/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_49/moving_variance'
:
'InceptionResnetV2/Repeat/block35_7/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_50/kernel'
:
'InceptionResnetV2/Repeat/block35_7/Branch_1/Conv2d_0b_3x3/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_50/beta'
:
'InceptionResnetV2/Repeat/block35_7/Branch_1/Conv2d_0b_3x3/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_50/moving_mean'
:
'InceptionResnetV2/Repeat/block35_7/Branch_1/Conv2d_0b_3x3/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_50/moving_variance'
:
'InceptionResnetV2/Repeat/block35_7/Branch_1/Conv2d_0b_3x3/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_51/kernel'
:
'InceptionResnetV2/Repeat/block35_7/Branch_2/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_51/beta'
:
'InceptionResnetV2/Repeat/block35_7/Branch_2/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_51/moving_mean'
:
'InceptionResnetV2/Repeat/block35_7/Branch_2/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_51/moving_variance'
:
'InceptionResnetV2/Repeat/block35_7/Branch_2/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_52/kernel'
:
'InceptionResnetV2/Repeat/block35_7/Branch_2/Conv2d_0b_3x3/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_52/beta'
:
'InceptionResnetV2/Repeat/block35_7/Branch_2/Conv2d_0b_3x3/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_52/moving_mean'
:
'InceptionResnetV2/Repeat/block35_7/Branch_2/Conv2d_0b_3x3/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_52/moving_variance'
:
'InceptionResnetV2/Repeat/block35_7/Branch_2/Conv2d_0b_3x3/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_53/kernel'
:
'InceptionResnetV2/Repeat/block35_7/Branch_2/Conv2d_0c_3x3/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_53/beta'
:
'InceptionResnetV2/Repeat/block35_7/Branch_2/Conv2d_0c_3x3/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_53/moving_mean'
:
'InceptionResnetV2/Repeat/block35_7/Branch_2/Conv2d_0c_3x3/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_53/moving_variance'
:
'InceptionResnetV2/Repeat/block35_7/Branch_2/Conv2d_0c_3x3/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block35_7_conv/kernel'
:
'InceptionResnetV2/Repeat/block35_7/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block35_7_conv/bias'
:
'InceptionResnetV2/Repeat/block35_7/Conv2d_1x1/biases'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_54/kernel'
:
'InceptionResnetV2/Repeat/block35_8/Branch_0/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_54/beta'
:
'InceptionResnetV2/Repeat/block35_8/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_54/moving_mean'
:
'InceptionResnetV2/Repeat/block35_8/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_54/moving_variance'
:
'InceptionResnetV2/Repeat/block35_8/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_55/kernel'
:
'InceptionResnetV2/Repeat/block35_8/Branch_1/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_55/beta'
:
'InceptionResnetV2/Repeat/block35_8/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_55/moving_mean'
:
'InceptionResnetV2/Repeat/block35_8/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_55/moving_variance'
:
'InceptionResnetV2/Repeat/block35_8/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_56/kernel'
:
'InceptionResnetV2/Repeat/block35_8/Branch_1/Conv2d_0b_3x3/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_56/beta'
:
'InceptionResnetV2/Repeat/block35_8/Branch_1/Conv2d_0b_3x3/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_56/moving_mean'
:
'InceptionResnetV2/Repeat/block35_8/Branch_1/Conv2d_0b_3x3/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_56/moving_variance'
:
'InceptionResnetV2/Repeat/block35_8/Branch_1/Conv2d_0b_3x3/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_57/kernel'
:
'InceptionResnetV2/Repeat/block35_8/Branch_2/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_57/beta'
:
'InceptionResnetV2/Repeat/block35_8/Branch_2/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_57/moving_mean'
:
'InceptionResnetV2/Repeat/block35_8/Branch_2/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_57/moving_variance'
:
'InceptionResnetV2/Repeat/block35_8/Branch_2/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_58/kernel'
:
'InceptionResnetV2/Repeat/block35_8/Branch_2/Conv2d_0b_3x3/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_58/beta'
:
'InceptionResnetV2/Repeat/block35_8/Branch_2/Conv2d_0b_3x3/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_58/moving_mean'
:
'InceptionResnetV2/Repeat/block35_8/Branch_2/Conv2d_0b_3x3/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_58/moving_variance'
:
'InceptionResnetV2/Repeat/block35_8/Branch_2/Conv2d_0b_3x3/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_59/kernel'
:
'InceptionResnetV2/Repeat/block35_8/Branch_2/Conv2d_0c_3x3/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_59/beta'
:
'InceptionResnetV2/Repeat/block35_8/Branch_2/Conv2d_0c_3x3/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_59/moving_mean'
:
'InceptionResnetV2/Repeat/block35_8/Branch_2/Conv2d_0c_3x3/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_59/moving_variance'
:
'InceptionResnetV2/Repeat/block35_8/Branch_2/Conv2d_0c_3x3/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block35_8_conv/kernel'
:
'InceptionResnetV2/Repeat/block35_8/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block35_8_conv/bias'
:
'InceptionResnetV2/Repeat/block35_8/Conv2d_1x1/biases'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_60/kernel'
:
'InceptionResnetV2/Repeat/block35_9/Branch_0/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_60/beta'
:
'InceptionResnetV2/Repeat/block35_9/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_60/moving_mean'
:
'InceptionResnetV2/Repeat/block35_9/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_60/moving_variance'
:
'InceptionResnetV2/Repeat/block35_9/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_61/kernel'
:
'InceptionResnetV2/Repeat/block35_9/Branch_1/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_61/beta'
:
'InceptionResnetV2/Repeat/block35_9/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_61/moving_mean'
:
'InceptionResnetV2/Repeat/block35_9/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_61/moving_variance'
:
'InceptionResnetV2/Repeat/block35_9/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_62/kernel'
:
'InceptionResnetV2/Repeat/block35_9/Branch_1/Conv2d_0b_3x3/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_62/beta'
:
'InceptionResnetV2/Repeat/block35_9/Branch_1/Conv2d_0b_3x3/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_62/moving_mean'
:
'InceptionResnetV2/Repeat/block35_9/Branch_1/Conv2d_0b_3x3/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_62/moving_variance'
:
'InceptionResnetV2/Repeat/block35_9/Branch_1/Conv2d_0b_3x3/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_63/kernel'
:
'InceptionResnetV2/Repeat/block35_9/Branch_2/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_63/beta'
:
'InceptionResnetV2/Repeat/block35_9/Branch_2/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_63/moving_mean'
:
'InceptionResnetV2/Repeat/block35_9/Branch_2/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_63/moving_variance'
:
'InceptionResnetV2/Repeat/block35_9/Branch_2/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_64/kernel'
:
'InceptionResnetV2/Repeat/block35_9/Branch_2/Conv2d_0b_3x3/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_64/beta'
:
'InceptionResnetV2/Repeat/block35_9/Branch_2/Conv2d_0b_3x3/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_64/moving_mean'
:
'InceptionResnetV2/Repeat/block35_9/Branch_2/Conv2d_0b_3x3/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_64/moving_variance'
:
'InceptionResnetV2/Repeat/block35_9/Branch_2/Conv2d_0b_3x3/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_65/kernel'
:
'InceptionResnetV2/Repeat/block35_9/Branch_2/Conv2d_0c_3x3/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_65/beta'
:
'InceptionResnetV2/Repeat/block35_9/Branch_2/Conv2d_0c_3x3/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_65/moving_mean'
:
'InceptionResnetV2/Repeat/block35_9/Branch_2/Conv2d_0c_3x3/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_65/moving_variance'
:
'InceptionResnetV2/Repeat/block35_9/Branch_2/Conv2d_0c_3x3/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block35_9_conv/kernel'
:
'InceptionResnetV2/Repeat/block35_9/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block35_9_conv/bias'
:
'InceptionResnetV2/Repeat/block35_9/Conv2d_1x1/biases'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_66/kernel'
:
'InceptionResnetV2/Repeat/block35_10/Branch_0/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_66/beta'
:
'InceptionResnetV2/Repeat/block35_10/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_66/moving_mean'
:
'InceptionResnetV2/Repeat/block35_10/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_66/moving_variance'
:
'InceptionResnetV2/Repeat/block35_10/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_67/kernel'
:
'InceptionResnetV2/Repeat/block35_10/Branch_1/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_67/beta'
:
'InceptionResnetV2/Repeat/block35_10/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_67/moving_mean'
:
'InceptionResnetV2/Repeat/block35_10/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_67/moving_variance'
:
'InceptionResnetV2/Repeat/block35_10/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_68/kernel'
:
'InceptionResnetV2/Repeat/block35_10/Branch_1/Conv2d_0b_3x3/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_68/beta'
:
'InceptionResnetV2/Repeat/block35_10/Branch_1/Conv2d_0b_3x3/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_68/moving_mean'
:
'InceptionResnetV2/Repeat/block35_10/Branch_1/Conv2d_0b_3x3/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_68/moving_variance'
:
'InceptionResnetV2/Repeat/block35_10/Branch_1/Conv2d_0b_3x3/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_69/kernel'
:
'InceptionResnetV2/Repeat/block35_10/Branch_2/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_69/beta'
:
'InceptionResnetV2/Repeat/block35_10/Branch_2/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_69/moving_mean'
:
'InceptionResnetV2/Repeat/block35_10/Branch_2/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_69/moving_variance'
:
'InceptionResnetV2/Repeat/block35_10/Branch_2/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_70/kernel'
:
'InceptionResnetV2/Repeat/block35_10/Branch_2/Conv2d_0b_3x3/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_70/beta'
:
'InceptionResnetV2/Repeat/block35_10/Branch_2/Conv2d_0b_3x3/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_70/moving_mean'
:
'InceptionResnetV2/Repeat/block35_10/Branch_2/Conv2d_0b_3x3/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_70/moving_variance'
:
'InceptionResnetV2/Repeat/block35_10/Branch_2/Conv2d_0b_3x3/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_71/kernel'
:
'InceptionResnetV2/Repeat/block35_10/Branch_2/Conv2d_0c_3x3/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_71/beta'
:
'InceptionResnetV2/Repeat/block35_10/Branch_2/Conv2d_0c_3x3/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_71/moving_mean'
:
'InceptionResnetV2/Repeat/block35_10/Branch_2/Conv2d_0c_3x3/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_71/moving_variance'
:
'InceptionResnetV2/Repeat/block35_10/Branch_2/Conv2d_0c_3x3/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block35_10_conv/kernel'
:
'InceptionResnetV2/Repeat/block35_10/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block35_10_conv/bias'
:
'InceptionResnetV2/Repeat/block35_10/Conv2d_1x1/biases'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_72/kernel'
:
'InceptionResnetV2/Mixed_6a/Branch_0/Conv2d_1a_3x3/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_72/beta'
:
'InceptionResnetV2/Mixed_6a/Branch_0/Conv2d_1a_3x3/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_72/moving_mean'
:
'InceptionResnetV2/Mixed_6a/Branch_0/Conv2d_1a_3x3/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_72/moving_variance'
:
'InceptionResnetV2/Mixed_6a/Branch_0/Conv2d_1a_3x3/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_73/kernel'
:
'InceptionResnetV2/Mixed_6a/Branch_1/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_73/beta'
:
'InceptionResnetV2/Mixed_6a/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_73/moving_mean'
:
'InceptionResnetV2/Mixed_6a/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_73/moving_variance'
:
'InceptionResnetV2/Mixed_6a/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_74/kernel'
:
'InceptionResnetV2/Mixed_6a/Branch_1/Conv2d_0b_3x3/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_74/beta'
:
'InceptionResnetV2/Mixed_6a/Branch_1/Conv2d_0b_3x3/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_74/moving_mean'
:
'InceptionResnetV2/Mixed_6a/Branch_1/Conv2d_0b_3x3/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_74/moving_variance'
:
'InceptionResnetV2/Mixed_6a/Branch_1/Conv2d_0b_3x3/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_75/kernel'
:
'InceptionResnetV2/Mixed_6a/Branch_1/Conv2d_1a_3x3/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_75/beta'
:
'InceptionResnetV2/Mixed_6a/Branch_1/Conv2d_1a_3x3/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_75/moving_mean'
:
'InceptionResnetV2/Mixed_6a/Branch_1/Conv2d_1a_3x3/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_75/moving_variance'
:
'InceptionResnetV2/Mixed_6a/Branch_1/Conv2d_1a_3x3/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_76/kernel'
:
'InceptionResnetV2/Repeat_1/block17_1/Branch_0/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_76/beta'
:
'InceptionResnetV2/Repeat_1/block17_1/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_76/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_1/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_76/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_1/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_77/kernel'
:
'InceptionResnetV2/Repeat_1/block17_1/Branch_1/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_77/beta'
:
'InceptionResnetV2/Repeat_1/block17_1/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_77/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_1/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_77/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_1/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_78/kernel'
:
'InceptionResnetV2/Repeat_1/block17_1/Branch_1/Conv2d_0b_1x7/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_78/beta'
:
'InceptionResnetV2/Repeat_1/block17_1/Branch_1/Conv2d_0b_1x7/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_78/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_1/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_78/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_1/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_79/kernel'
:
'InceptionResnetV2/Repeat_1/block17_1/Branch_1/Conv2d_0c_7x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_79/beta'
:
'InceptionResnetV2/Repeat_1/block17_1/Branch_1/Conv2d_0c_7x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_79/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_1/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_79/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_1/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_1_conv/kernel'
:
'InceptionResnetV2/Repeat_1/block17_1/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_1_conv/bias'
:
'InceptionResnetV2/Repeat_1/block17_1/Conv2d_1x1/biases'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_80/kernel'
:
'InceptionResnetV2/Repeat_1/block17_2/Branch_0/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_80/beta'
:
'InceptionResnetV2/Repeat_1/block17_2/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_80/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_2/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_80/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_2/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_81/kernel'
:
'InceptionResnetV2/Repeat_1/block17_2/Branch_1/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_81/beta'
:
'InceptionResnetV2/Repeat_1/block17_2/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_81/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_2/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_81/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_2/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_82/kernel'
:
'InceptionResnetV2/Repeat_1/block17_2/Branch_1/Conv2d_0b_1x7/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_82/beta'
:
'InceptionResnetV2/Repeat_1/block17_2/Branch_1/Conv2d_0b_1x7/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_82/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_2/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_82/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_2/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_83/kernel'
:
'InceptionResnetV2/Repeat_1/block17_2/Branch_1/Conv2d_0c_7x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_83/beta'
:
'InceptionResnetV2/Repeat_1/block17_2/Branch_1/Conv2d_0c_7x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_83/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_2/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_83/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_2/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_2_conv/kernel'
:
'InceptionResnetV2/Repeat_1/block17_2/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_2_conv/bias'
:
'InceptionResnetV2/Repeat_1/block17_2/Conv2d_1x1/biases'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_84/kernel'
:
'InceptionResnetV2/Repeat_1/block17_3/Branch_0/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_84/beta'
:
'InceptionResnetV2/Repeat_1/block17_3/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_84/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_3/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_84/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_3/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_85/kernel'
:
'InceptionResnetV2/Repeat_1/block17_3/Branch_1/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_85/beta'
:
'InceptionResnetV2/Repeat_1/block17_3/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_85/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_3/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_85/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_3/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_86/kernel'
:
'InceptionResnetV2/Repeat_1/block17_3/Branch_1/Conv2d_0b_1x7/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_86/beta'
:
'InceptionResnetV2/Repeat_1/block17_3/Branch_1/Conv2d_0b_1x7/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_86/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_3/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_86/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_3/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_87/kernel'
:
'InceptionResnetV2/Repeat_1/block17_3/Branch_1/Conv2d_0c_7x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_87/beta'
:
'InceptionResnetV2/Repeat_1/block17_3/Branch_1/Conv2d_0c_7x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_87/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_3/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_87/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_3/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_3_conv/kernel'
:
'InceptionResnetV2/Repeat_1/block17_3/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_3_conv/bias'
:
'InceptionResnetV2/Repeat_1/block17_3/Conv2d_1x1/biases'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_88/kernel'
:
'InceptionResnetV2/Repeat_1/block17_4/Branch_0/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_88/beta'
:
'InceptionResnetV2/Repeat_1/block17_4/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_88/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_4/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_88/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_4/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_89/kernel'
:
'InceptionResnetV2/Repeat_1/block17_4/Branch_1/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_89/beta'
:
'InceptionResnetV2/Repeat_1/block17_4/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_89/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_4/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_89/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_4/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_90/kernel'
:
'InceptionResnetV2/Repeat_1/block17_4/Branch_1/Conv2d_0b_1x7/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_90/beta'
:
'InceptionResnetV2/Repeat_1/block17_4/Branch_1/Conv2d_0b_1x7/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_90/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_4/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_90/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_4/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_91/kernel'
:
'InceptionResnetV2/Repeat_1/block17_4/Branch_1/Conv2d_0c_7x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_91/beta'
:
'InceptionResnetV2/Repeat_1/block17_4/Branch_1/Conv2d_0c_7x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_91/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_4/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_91/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_4/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_4_conv/kernel'
:
'InceptionResnetV2/Repeat_1/block17_4/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_4_conv/bias'
:
'InceptionResnetV2/Repeat_1/block17_4/Conv2d_1x1/biases'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_92/kernel'
:
'InceptionResnetV2/Repeat_1/block17_5/Branch_0/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_92/beta'
:
'InceptionResnetV2/Repeat_1/block17_5/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_92/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_5/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_92/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_5/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_93/kernel'
:
'InceptionResnetV2/Repeat_1/block17_5/Branch_1/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_93/beta'
:
'InceptionResnetV2/Repeat_1/block17_5/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_93/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_5/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_93/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_5/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_94/kernel'
:
'InceptionResnetV2/Repeat_1/block17_5/Branch_1/Conv2d_0b_1x7/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_94/beta'
:
'InceptionResnetV2/Repeat_1/block17_5/Branch_1/Conv2d_0b_1x7/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_94/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_5/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_94/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_5/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_95/kernel'
:
'InceptionResnetV2/Repeat_1/block17_5/Branch_1/Conv2d_0c_7x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_95/beta'
:
'InceptionResnetV2/Repeat_1/block17_5/Branch_1/Conv2d_0c_7x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_95/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_5/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_95/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_5/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_5_conv/kernel'
:
'InceptionResnetV2/Repeat_1/block17_5/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_5_conv/bias'
:
'InceptionResnetV2/Repeat_1/block17_5/Conv2d_1x1/biases'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_96/kernel'
:
'InceptionResnetV2/Repeat_1/block17_6/Branch_0/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_96/beta'
:
'InceptionResnetV2/Repeat_1/block17_6/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_96/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_6/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_96/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_6/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_97/kernel'
:
'InceptionResnetV2/Repeat_1/block17_6/Branch_1/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_97/beta'
:
'InceptionResnetV2/Repeat_1/block17_6/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_97/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_6/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_97/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_6/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_98/kernel'
:
'InceptionResnetV2/Repeat_1/block17_6/Branch_1/Conv2d_0b_1x7/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_98/beta'
:
'InceptionResnetV2/Repeat_1/block17_6/Branch_1/Conv2d_0b_1x7/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_98/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_6/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_98/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_6/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_99/kernel'
:
'InceptionResnetV2/Repeat_1/block17_6/Branch_1/Conv2d_0c_7x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_99/beta'
:
'InceptionResnetV2/Repeat_1/block17_6/Branch_1/Conv2d_0c_7x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_99/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_6/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_99/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_6/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_6_conv/kernel'
:
'InceptionResnetV2/Repeat_1/block17_6/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_6_conv/bias'
:
'InceptionResnetV2/Repeat_1/block17_6/Conv2d_1x1/biases'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_100/kernel'
:
'InceptionResnetV2/Repeat_1/block17_7/Branch_0/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_100/beta'
:
'InceptionResnetV2/Repeat_1/block17_7/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_100/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_7/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_100/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_7/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_101/kernel'
:
'InceptionResnetV2/Repeat_1/block17_7/Branch_1/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_101/beta'
:
'InceptionResnetV2/Repeat_1/block17_7/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_101/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_7/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_101/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_7/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_102/kernel'
:
'InceptionResnetV2/Repeat_1/block17_7/Branch_1/Conv2d_0b_1x7/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_102/beta'
:
'InceptionResnetV2/Repeat_1/block17_7/Branch_1/Conv2d_0b_1x7/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_102/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_7/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_102/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_7/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_103/kernel'
:
'InceptionResnetV2/Repeat_1/block17_7/Branch_1/Conv2d_0c_7x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_103/beta'
:
'InceptionResnetV2/Repeat_1/block17_7/Branch_1/Conv2d_0c_7x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_103/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_7/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_103/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_7/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_7_conv/kernel'
:
'InceptionResnetV2/Repeat_1/block17_7/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_7_conv/bias'
:
'InceptionResnetV2/Repeat_1/block17_7/Conv2d_1x1/biases'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_104/kernel'
:
'InceptionResnetV2/Repeat_1/block17_8/Branch_0/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_104/beta'
:
'InceptionResnetV2/Repeat_1/block17_8/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_104/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_8/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_104/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_8/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_105/kernel'
:
'InceptionResnetV2/Repeat_1/block17_8/Branch_1/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_105/beta'
:
'InceptionResnetV2/Repeat_1/block17_8/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_105/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_8/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_105/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_8/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_106/kernel'
:
'InceptionResnetV2/Repeat_1/block17_8/Branch_1/Conv2d_0b_1x7/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_106/beta'
:
'InceptionResnetV2/Repeat_1/block17_8/Branch_1/Conv2d_0b_1x7/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_106/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_8/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_106/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_8/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_107/kernel'
:
'InceptionResnetV2/Repeat_1/block17_8/Branch_1/Conv2d_0c_7x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_107/beta'
:
'InceptionResnetV2/Repeat_1/block17_8/Branch_1/Conv2d_0c_7x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_107/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_8/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_107/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_8/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_8_conv/kernel'
:
'InceptionResnetV2/Repeat_1/block17_8/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_8_conv/bias'
:
'InceptionResnetV2/Repeat_1/block17_8/Conv2d_1x1/biases'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_108/kernel'
:
'InceptionResnetV2/Repeat_1/block17_9/Branch_0/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_108/beta'
:
'InceptionResnetV2/Repeat_1/block17_9/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_108/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_9/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_108/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_9/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_109/kernel'
:
'InceptionResnetV2/Repeat_1/block17_9/Branch_1/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_109/beta'
:
'InceptionResnetV2/Repeat_1/block17_9/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_109/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_9/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_109/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_9/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_110/kernel'
:
'InceptionResnetV2/Repeat_1/block17_9/Branch_1/Conv2d_0b_1x7/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_110/beta'
:
'InceptionResnetV2/Repeat_1/block17_9/Branch_1/Conv2d_0b_1x7/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_110/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_9/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_110/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_9/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_111/kernel'
:
'InceptionResnetV2/Repeat_1/block17_9/Branch_1/Conv2d_0c_7x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_111/beta'
:
'InceptionResnetV2/Repeat_1/block17_9/Branch_1/Conv2d_0c_7x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_111/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_9/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_111/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_9/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_9_conv/kernel'
:
'InceptionResnetV2/Repeat_1/block17_9/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_9_conv/bias'
:
'InceptionResnetV2/Repeat_1/block17_9/Conv2d_1x1/biases'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_112/kernel'
:
'InceptionResnetV2/Repeat_1/block17_10/Branch_0/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_112/beta'
:
'InceptionResnetV2/Repeat_1/block17_10/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_112/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_10/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_112/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_10/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_113/kernel'
:
'InceptionResnetV2/Repeat_1/block17_10/Branch_1/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_113/beta'
:
'InceptionResnetV2/Repeat_1/block17_10/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_113/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_10/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_113/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_10/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_114/kernel'
:
'InceptionResnetV2/Repeat_1/block17_10/Branch_1/Conv2d_0b_1x7/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_114/beta'
:
'InceptionResnetV2/Repeat_1/block17_10/Branch_1/Conv2d_0b_1x7/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_114/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_10/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_114/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_10/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_115/kernel'
:
'InceptionResnetV2/Repeat_1/block17_10/Branch_1/Conv2d_0c_7x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_115/beta'
:
'InceptionResnetV2/Repeat_1/block17_10/Branch_1/Conv2d_0c_7x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_115/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_10/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_115/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_10/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_10_conv/kernel'
:
'InceptionResnetV2/Repeat_1/block17_10/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_10_conv/bias'
:
'InceptionResnetV2/Repeat_1/block17_10/Conv2d_1x1/biases'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_116/kernel'
:
'InceptionResnetV2/Repeat_1/block17_11/Branch_0/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_116/beta'
:
'InceptionResnetV2/Repeat_1/block17_11/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_116/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_11/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_116/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_11/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_117/kernel'
:
'InceptionResnetV2/Repeat_1/block17_11/Branch_1/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_117/beta'
:
'InceptionResnetV2/Repeat_1/block17_11/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_117/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_11/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_117/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_11/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_118/kernel'
:
'InceptionResnetV2/Repeat_1/block17_11/Branch_1/Conv2d_0b_1x7/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_118/beta'
:
'InceptionResnetV2/Repeat_1/block17_11/Branch_1/Conv2d_0b_1x7/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_118/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_11/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_118/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_11/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_119/kernel'
:
'InceptionResnetV2/Repeat_1/block17_11/Branch_1/Conv2d_0c_7x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_119/beta'
:
'InceptionResnetV2/Repeat_1/block17_11/Branch_1/Conv2d_0c_7x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_119/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_11/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_119/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_11/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_11_conv/kernel'
:
'InceptionResnetV2/Repeat_1/block17_11/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_11_conv/bias'
:
'InceptionResnetV2/Repeat_1/block17_11/Conv2d_1x1/biases'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_120/kernel'
:
'InceptionResnetV2/Repeat_1/block17_12/Branch_0/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_120/beta'
:
'InceptionResnetV2/Repeat_1/block17_12/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_120/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_12/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_120/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_12/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_121/kernel'
:
'InceptionResnetV2/Repeat_1/block17_12/Branch_1/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_121/beta'
:
'InceptionResnetV2/Repeat_1/block17_12/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_121/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_12/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_121/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_12/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_122/kernel'
:
'InceptionResnetV2/Repeat_1/block17_12/Branch_1/Conv2d_0b_1x7/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_122/beta'
:
'InceptionResnetV2/Repeat_1/block17_12/Branch_1/Conv2d_0b_1x7/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_122/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_12/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_122/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_12/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_123/kernel'
:
'InceptionResnetV2/Repeat_1/block17_12/Branch_1/Conv2d_0c_7x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_123/beta'
:
'InceptionResnetV2/Repeat_1/block17_12/Branch_1/Conv2d_0c_7x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_123/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_12/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_123/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_12/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_12_conv/kernel'
:
'InceptionResnetV2/Repeat_1/block17_12/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_12_conv/bias'
:
'InceptionResnetV2/Repeat_1/block17_12/Conv2d_1x1/biases'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_124/kernel'
:
'InceptionResnetV2/Repeat_1/block17_13/Branch_0/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_124/beta'
:
'InceptionResnetV2/Repeat_1/block17_13/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_124/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_13/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_124/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_13/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_125/kernel'
:
'InceptionResnetV2/Repeat_1/block17_13/Branch_1/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_125/beta'
:
'InceptionResnetV2/Repeat_1/block17_13/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_125/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_13/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_125/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_13/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_126/kernel'
:
'InceptionResnetV2/Repeat_1/block17_13/Branch_1/Conv2d_0b_1x7/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_126/beta'
:
'InceptionResnetV2/Repeat_1/block17_13/Branch_1/Conv2d_0b_1x7/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_126/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_13/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_126/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_13/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_127/kernel'
:
'InceptionResnetV2/Repeat_1/block17_13/Branch_1/Conv2d_0c_7x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_127/beta'
:
'InceptionResnetV2/Repeat_1/block17_13/Branch_1/Conv2d_0c_7x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_127/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_13/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_127/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_13/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_13_conv/kernel'
:
'InceptionResnetV2/Repeat_1/block17_13/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_13_conv/bias'
:
'InceptionResnetV2/Repeat_1/block17_13/Conv2d_1x1/biases'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_128/kernel'
:
'InceptionResnetV2/Repeat_1/block17_14/Branch_0/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_128/beta'
:
'InceptionResnetV2/Repeat_1/block17_14/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_128/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_14/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_128/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_14/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_129/kernel'
:
'InceptionResnetV2/Repeat_1/block17_14/Branch_1/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_129/beta'
:
'InceptionResnetV2/Repeat_1/block17_14/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_129/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_14/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_129/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_14/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_130/kernel'
:
'InceptionResnetV2/Repeat_1/block17_14/Branch_1/Conv2d_0b_1x7/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_130/beta'
:
'InceptionResnetV2/Repeat_1/block17_14/Branch_1/Conv2d_0b_1x7/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_130/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_14/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_130/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_14/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_131/kernel'
:
'InceptionResnetV2/Repeat_1/block17_14/Branch_1/Conv2d_0c_7x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_131/beta'
:
'InceptionResnetV2/Repeat_1/block17_14/Branch_1/Conv2d_0c_7x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_131/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_14/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_131/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_14/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_14_conv/kernel'
:
'InceptionResnetV2/Repeat_1/block17_14/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_14_conv/bias'
:
'InceptionResnetV2/Repeat_1/block17_14/Conv2d_1x1/biases'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_132/kernel'
:
'InceptionResnetV2/Repeat_1/block17_15/Branch_0/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_132/beta'
:
'InceptionResnetV2/Repeat_1/block17_15/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_132/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_15/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_132/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_15/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_133/kernel'
:
'InceptionResnetV2/Repeat_1/block17_15/Branch_1/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_133/beta'
:
'InceptionResnetV2/Repeat_1/block17_15/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_133/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_15/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_133/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_15/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_134/kernel'
:
'InceptionResnetV2/Repeat_1/block17_15/Branch_1/Conv2d_0b_1x7/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_134/beta'
:
'InceptionResnetV2/Repeat_1/block17_15/Branch_1/Conv2d_0b_1x7/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_134/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_15/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_134/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_15/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_135/kernel'
:
'InceptionResnetV2/Repeat_1/block17_15/Branch_1/Conv2d_0c_7x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_135/beta'
:
'InceptionResnetV2/Repeat_1/block17_15/Branch_1/Conv2d_0c_7x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_135/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_15/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_135/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_15/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_15_conv/kernel'
:
'InceptionResnetV2/Repeat_1/block17_15/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_15_conv/bias'
:
'InceptionResnetV2/Repeat_1/block17_15/Conv2d_1x1/biases'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_136/kernel'
:
'InceptionResnetV2/Repeat_1/block17_16/Branch_0/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_136/beta'
:
'InceptionResnetV2/Repeat_1/block17_16/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_136/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_16/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_136/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_16/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_137/kernel'
:
'InceptionResnetV2/Repeat_1/block17_16/Branch_1/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_137/beta'
:
'InceptionResnetV2/Repeat_1/block17_16/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_137/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_16/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_137/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_16/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_138/kernel'
:
'InceptionResnetV2/Repeat_1/block17_16/Branch_1/Conv2d_0b_1x7/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_138/beta'
:
'InceptionResnetV2/Repeat_1/block17_16/Branch_1/Conv2d_0b_1x7/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_138/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_16/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_138/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_16/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_139/kernel'
:
'InceptionResnetV2/Repeat_1/block17_16/Branch_1/Conv2d_0c_7x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_139/beta'
:
'InceptionResnetV2/Repeat_1/block17_16/Branch_1/Conv2d_0c_7x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_139/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_16/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_139/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_16/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_16_conv/kernel'
:
'InceptionResnetV2/Repeat_1/block17_16/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_16_conv/bias'
:
'InceptionResnetV2/Repeat_1/block17_16/Conv2d_1x1/biases'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_140/kernel'
:
'InceptionResnetV2/Repeat_1/block17_17/Branch_0/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_140/beta'
:
'InceptionResnetV2/Repeat_1/block17_17/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_140/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_17/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_140/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_17/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_141/kernel'
:
'InceptionResnetV2/Repeat_1/block17_17/Branch_1/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_141/beta'
:
'InceptionResnetV2/Repeat_1/block17_17/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_141/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_17/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_141/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_17/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_142/kernel'
:
'InceptionResnetV2/Repeat_1/block17_17/Branch_1/Conv2d_0b_1x7/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_142/beta'
:
'InceptionResnetV2/Repeat_1/block17_17/Branch_1/Conv2d_0b_1x7/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_142/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_17/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_142/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_17/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_143/kernel'
:
'InceptionResnetV2/Repeat_1/block17_17/Branch_1/Conv2d_0c_7x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_143/beta'
:
'InceptionResnetV2/Repeat_1/block17_17/Branch_1/Conv2d_0c_7x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_143/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_17/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_143/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_17/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_17_conv/kernel'
:
'InceptionResnetV2/Repeat_1/block17_17/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_17_conv/bias'
:
'InceptionResnetV2/Repeat_1/block17_17/Conv2d_1x1/biases'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_144/kernel'
:
'InceptionResnetV2/Repeat_1/block17_18/Branch_0/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_144/beta'
:
'InceptionResnetV2/Repeat_1/block17_18/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_144/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_18/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_144/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_18/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_145/kernel'
:
'InceptionResnetV2/Repeat_1/block17_18/Branch_1/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_145/beta'
:
'InceptionResnetV2/Repeat_1/block17_18/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_145/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_18/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_145/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_18/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_146/kernel'
:
'InceptionResnetV2/Repeat_1/block17_18/Branch_1/Conv2d_0b_1x7/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_146/beta'
:
'InceptionResnetV2/Repeat_1/block17_18/Branch_1/Conv2d_0b_1x7/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_146/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_18/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_146/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_18/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_147/kernel'
:
'InceptionResnetV2/Repeat_1/block17_18/Branch_1/Conv2d_0c_7x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_147/beta'
:
'InceptionResnetV2/Repeat_1/block17_18/Branch_1/Conv2d_0c_7x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_147/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_18/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_147/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_18/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_18_conv/kernel'
:
'InceptionResnetV2/Repeat_1/block17_18/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_18_conv/bias'
:
'InceptionResnetV2/Repeat_1/block17_18/Conv2d_1x1/biases'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_148/kernel'
:
'InceptionResnetV2/Repeat_1/block17_19/Branch_0/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_148/beta'
:
'InceptionResnetV2/Repeat_1/block17_19/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_148/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_19/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_148/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_19/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_149/kernel'
:
'InceptionResnetV2/Repeat_1/block17_19/Branch_1/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_149/beta'
:
'InceptionResnetV2/Repeat_1/block17_19/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_149/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_19/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_149/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_19/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_150/kernel'
:
'InceptionResnetV2/Repeat_1/block17_19/Branch_1/Conv2d_0b_1x7/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_150/beta'
:
'InceptionResnetV2/Repeat_1/block17_19/Branch_1/Conv2d_0b_1x7/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_150/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_19/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_150/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_19/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_151/kernel'
:
'InceptionResnetV2/Repeat_1/block17_19/Branch_1/Conv2d_0c_7x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_151/beta'
:
'InceptionResnetV2/Repeat_1/block17_19/Branch_1/Conv2d_0c_7x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_151/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_19/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_151/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_19/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_19_conv/kernel'
:
'InceptionResnetV2/Repeat_1/block17_19/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_19_conv/bias'
:
'InceptionResnetV2/Repeat_1/block17_19/Conv2d_1x1/biases'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_152/kernel'
:
'InceptionResnetV2/Repeat_1/block17_20/Branch_0/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_152/beta'
:
'InceptionResnetV2/Repeat_1/block17_20/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_152/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_20/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_152/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_20/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_153/kernel'
:
'InceptionResnetV2/Repeat_1/block17_20/Branch_1/Conv2d_0a_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_153/beta'
:
'InceptionResnetV2/Repeat_1/block17_20/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_153/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_20/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_153/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_20/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_154/kernel'
:
'InceptionResnetV2/Repeat_1/block17_20/Branch_1/Conv2d_0b_1x7/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_154/beta'
:
'InceptionResnetV2/Repeat_1/block17_20/Branch_1/Conv2d_0b_1x7/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_154/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_20/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_154/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_20/Branch_1/Conv2d_0b_1x7/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/conv2d_155/kernel'
:
'InceptionResnetV2/Repeat_1/block17_20/Branch_1/Conv2d_0c_7x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_155/beta'
:
'InceptionResnetV2/Repeat_1/block17_20/Branch_1/Conv2d_0c_7x1/BatchNorm/beta'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_155/moving_mean'
:
'InceptionResnetV2/Repeat_1/block17_20/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_mean'
,
'FirstStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_155/moving_variance'
:
'InceptionResnetV2/Repeat_1/block17_20/Branch_1/Conv2d_0c_7x1/BatchNorm/moving_variance'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_20_conv/kernel'
:
'InceptionResnetV2/Repeat_1/block17_20/Conv2d_1x1/weights'
,
'FirstStageFeatureExtractor/InceptionResnetV2/block17_20_conv/bias'
:
'InceptionResnetV2/Repeat_1/block17_20/Conv2d_1x1/biases'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_359/kernel'
:
'InceptionResnetV2/Mixed_7a/Branch_0/Conv2d_0a_1x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_359/beta'
:
'InceptionResnetV2/Mixed_7a/Branch_0/Conv2d_0a_1x1/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_359/moving_mean'
:
'InceptionResnetV2/Mixed_7a/Branch_0/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_359/moving_variance'
:
'InceptionResnetV2/Mixed_7a/Branch_0/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_360/kernel'
:
'InceptionResnetV2/Mixed_7a/Branch_0/Conv2d_1a_3x3/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_360/beta'
:
'InceptionResnetV2/Mixed_7a/Branch_0/Conv2d_1a_3x3/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_360/moving_mean'
:
'InceptionResnetV2/Mixed_7a/Branch_0/Conv2d_1a_3x3/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_360/moving_variance'
:
'InceptionResnetV2/Mixed_7a/Branch_0/Conv2d_1a_3x3/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_361/kernel'
:
'InceptionResnetV2/Mixed_7a/Branch_1/Conv2d_0a_1x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_361/beta'
:
'InceptionResnetV2/Mixed_7a/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_361/moving_mean'
:
'InceptionResnetV2/Mixed_7a/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_361/moving_variance'
:
'InceptionResnetV2/Mixed_7a/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_362/kernel'
:
'InceptionResnetV2/Mixed_7a/Branch_1/Conv2d_1a_3x3/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_362/beta'
:
'InceptionResnetV2/Mixed_7a/Branch_1/Conv2d_1a_3x3/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_362/moving_mean'
:
'InceptionResnetV2/Mixed_7a/Branch_1/Conv2d_1a_3x3/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_362/moving_variance'
:
'InceptionResnetV2/Mixed_7a/Branch_1/Conv2d_1a_3x3/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_363/kernel'
:
'InceptionResnetV2/Mixed_7a/Branch_2/Conv2d_0a_1x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_363/beta'
:
'InceptionResnetV2/Mixed_7a/Branch_2/Conv2d_0a_1x1/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_363/moving_mean'
:
'InceptionResnetV2/Mixed_7a/Branch_2/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_363/moving_variance'
:
'InceptionResnetV2/Mixed_7a/Branch_2/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_364/kernel'
:
'InceptionResnetV2/Mixed_7a/Branch_2/Conv2d_0b_3x3/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_364/beta'
:
'InceptionResnetV2/Mixed_7a/Branch_2/Conv2d_0b_3x3/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_364/moving_mean'
:
'InceptionResnetV2/Mixed_7a/Branch_2/Conv2d_0b_3x3/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_364/moving_variance'
:
'InceptionResnetV2/Mixed_7a/Branch_2/Conv2d_0b_3x3/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_365/kernel'
:
'InceptionResnetV2/Mixed_7a/Branch_2/Conv2d_1a_3x3/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_365/beta'
:
'InceptionResnetV2/Mixed_7a/Branch_2/Conv2d_1a_3x3/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_365/moving_mean'
:
'InceptionResnetV2/Mixed_7a/Branch_2/Conv2d_1a_3x3/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_365/moving_variance'
:
'InceptionResnetV2/Mixed_7a/Branch_2/Conv2d_1a_3x3/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_366/kernel'
:
'InceptionResnetV2/Repeat_2/block8_1/Branch_0/Conv2d_1x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_366/beta'
:
'InceptionResnetV2/Repeat_2/block8_1/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_366/moving_mean'
:
'InceptionResnetV2/Repeat_2/block8_1/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_366/moving_variance'
:
'InceptionResnetV2/Repeat_2/block8_1/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_367/kernel'
:
'InceptionResnetV2/Repeat_2/block8_1/Branch_1/Conv2d_0a_1x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_367/beta'
:
'InceptionResnetV2/Repeat_2/block8_1/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_367/moving_mean'
:
'InceptionResnetV2/Repeat_2/block8_1/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_367/moving_variance'
:
'InceptionResnetV2/Repeat_2/block8_1/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_368/kernel'
:
'InceptionResnetV2/Repeat_2/block8_1/Branch_1/Conv2d_0b_1x3/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_368/beta'
:
'InceptionResnetV2/Repeat_2/block8_1/Branch_1/Conv2d_0b_1x3/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_368/moving_mean'
:
'InceptionResnetV2/Repeat_2/block8_1/Branch_1/Conv2d_0b_1x3/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_368/moving_variance'
:
'InceptionResnetV2/Repeat_2/block8_1/Branch_1/Conv2d_0b_1x3/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_369/kernel'
:
'InceptionResnetV2/Repeat_2/block8_1/Branch_1/Conv2d_0c_3x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_369/beta'
:
'InceptionResnetV2/Repeat_2/block8_1/Branch_1/Conv2d_0c_3x1/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_369/moving_mean'
:
'InceptionResnetV2/Repeat_2/block8_1/Branch_1/Conv2d_0c_3x1/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_369/moving_variance'
:
'InceptionResnetV2/Repeat_2/block8_1/Branch_1/Conv2d_0c_3x1/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/block8_1_conv/kernel'
:
'InceptionResnetV2/Repeat_2/block8_1/Conv2d_1x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/block8_1_conv/bias'
:
'InceptionResnetV2/Repeat_2/block8_1/Conv2d_1x1/biases'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_370/kernel'
:
'InceptionResnetV2/Repeat_2/block8_2/Branch_0/Conv2d_1x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_370/beta'
:
'InceptionResnetV2/Repeat_2/block8_2/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_370/moving_mean'
:
'InceptionResnetV2/Repeat_2/block8_2/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_370/moving_variance'
:
'InceptionResnetV2/Repeat_2/block8_2/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_371/kernel'
:
'InceptionResnetV2/Repeat_2/block8_2/Branch_1/Conv2d_0a_1x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_371/beta'
:
'InceptionResnetV2/Repeat_2/block8_2/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_371/moving_mean'
:
'InceptionResnetV2/Repeat_2/block8_2/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_371/moving_variance'
:
'InceptionResnetV2/Repeat_2/block8_2/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_372/kernel'
:
'InceptionResnetV2/Repeat_2/block8_2/Branch_1/Conv2d_0b_1x3/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_372/beta'
:
'InceptionResnetV2/Repeat_2/block8_2/Branch_1/Conv2d_0b_1x3/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_372/moving_mean'
:
'InceptionResnetV2/Repeat_2/block8_2/Branch_1/Conv2d_0b_1x3/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_372/moving_variance'
:
'InceptionResnetV2/Repeat_2/block8_2/Branch_1/Conv2d_0b_1x3/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_373/kernel'
:
'InceptionResnetV2/Repeat_2/block8_2/Branch_1/Conv2d_0c_3x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_373/beta'
:
'InceptionResnetV2/Repeat_2/block8_2/Branch_1/Conv2d_0c_3x1/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_373/moving_mean'
:
'InceptionResnetV2/Repeat_2/block8_2/Branch_1/Conv2d_0c_3x1/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_373/moving_variance'
:
'InceptionResnetV2/Repeat_2/block8_2/Branch_1/Conv2d_0c_3x1/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/block8_2_conv/kernel'
:
'InceptionResnetV2/Repeat_2/block8_2/Conv2d_1x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/block8_2_conv/bias'
:
'InceptionResnetV2/Repeat_2/block8_2/Conv2d_1x1/biases'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_374/kernel'
:
'InceptionResnetV2/Repeat_2/block8_3/Branch_0/Conv2d_1x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_374/beta'
:
'InceptionResnetV2/Repeat_2/block8_3/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_374/moving_mean'
:
'InceptionResnetV2/Repeat_2/block8_3/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_374/moving_variance'
:
'InceptionResnetV2/Repeat_2/block8_3/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_375/kernel'
:
'InceptionResnetV2/Repeat_2/block8_3/Branch_1/Conv2d_0a_1x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_375/beta'
:
'InceptionResnetV2/Repeat_2/block8_3/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_375/moving_mean'
:
'InceptionResnetV2/Repeat_2/block8_3/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_375/moving_variance'
:
'InceptionResnetV2/Repeat_2/block8_3/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_376/kernel'
:
'InceptionResnetV2/Repeat_2/block8_3/Branch_1/Conv2d_0b_1x3/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_376/beta'
:
'InceptionResnetV2/Repeat_2/block8_3/Branch_1/Conv2d_0b_1x3/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_376/moving_mean'
:
'InceptionResnetV2/Repeat_2/block8_3/Branch_1/Conv2d_0b_1x3/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_376/moving_variance'
:
'InceptionResnetV2/Repeat_2/block8_3/Branch_1/Conv2d_0b_1x3/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_377/kernel'
:
'InceptionResnetV2/Repeat_2/block8_3/Branch_1/Conv2d_0c_3x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_377/beta'
:
'InceptionResnetV2/Repeat_2/block8_3/Branch_1/Conv2d_0c_3x1/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_377/moving_mean'
:
'InceptionResnetV2/Repeat_2/block8_3/Branch_1/Conv2d_0c_3x1/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_377/moving_variance'
:
'InceptionResnetV2/Repeat_2/block8_3/Branch_1/Conv2d_0c_3x1/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/block8_3_conv/kernel'
:
'InceptionResnetV2/Repeat_2/block8_3/Conv2d_1x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/block8_3_conv/bias'
:
'InceptionResnetV2/Repeat_2/block8_3/Conv2d_1x1/biases'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_378/kernel'
:
'InceptionResnetV2/Repeat_2/block8_4/Branch_0/Conv2d_1x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_378/beta'
:
'InceptionResnetV2/Repeat_2/block8_4/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_378/moving_mean'
:
'InceptionResnetV2/Repeat_2/block8_4/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_378/moving_variance'
:
'InceptionResnetV2/Repeat_2/block8_4/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_379/kernel'
:
'InceptionResnetV2/Repeat_2/block8_4/Branch_1/Conv2d_0a_1x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_379/beta'
:
'InceptionResnetV2/Repeat_2/block8_4/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_379/moving_mean'
:
'InceptionResnetV2/Repeat_2/block8_4/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_379/moving_variance'
:
'InceptionResnetV2/Repeat_2/block8_4/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_380/kernel'
:
'InceptionResnetV2/Repeat_2/block8_4/Branch_1/Conv2d_0b_1x3/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_380/beta'
:
'InceptionResnetV2/Repeat_2/block8_4/Branch_1/Conv2d_0b_1x3/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_380/moving_mean'
:
'InceptionResnetV2/Repeat_2/block8_4/Branch_1/Conv2d_0b_1x3/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_380/moving_variance'
:
'InceptionResnetV2/Repeat_2/block8_4/Branch_1/Conv2d_0b_1x3/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_381/kernel'
:
'InceptionResnetV2/Repeat_2/block8_4/Branch_1/Conv2d_0c_3x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_381/beta'
:
'InceptionResnetV2/Repeat_2/block8_4/Branch_1/Conv2d_0c_3x1/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_381/moving_mean'
:
'InceptionResnetV2/Repeat_2/block8_4/Branch_1/Conv2d_0c_3x1/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_381/moving_variance'
:
'InceptionResnetV2/Repeat_2/block8_4/Branch_1/Conv2d_0c_3x1/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/block8_4_conv/kernel'
:
'InceptionResnetV2/Repeat_2/block8_4/Conv2d_1x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/block8_4_conv/bias'
:
'InceptionResnetV2/Repeat_2/block8_4/Conv2d_1x1/biases'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_382/kernel'
:
'InceptionResnetV2/Repeat_2/block8_5/Branch_0/Conv2d_1x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_382/beta'
:
'InceptionResnetV2/Repeat_2/block8_5/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_382/moving_mean'
:
'InceptionResnetV2/Repeat_2/block8_5/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_382/moving_variance'
:
'InceptionResnetV2/Repeat_2/block8_5/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_383/kernel'
:
'InceptionResnetV2/Repeat_2/block8_5/Branch_1/Conv2d_0a_1x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_383/beta'
:
'InceptionResnetV2/Repeat_2/block8_5/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_383/moving_mean'
:
'InceptionResnetV2/Repeat_2/block8_5/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_383/moving_variance'
:
'InceptionResnetV2/Repeat_2/block8_5/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_384/kernel'
:
'InceptionResnetV2/Repeat_2/block8_5/Branch_1/Conv2d_0b_1x3/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_384/beta'
:
'InceptionResnetV2/Repeat_2/block8_5/Branch_1/Conv2d_0b_1x3/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_384/moving_mean'
:
'InceptionResnetV2/Repeat_2/block8_5/Branch_1/Conv2d_0b_1x3/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_384/moving_variance'
:
'InceptionResnetV2/Repeat_2/block8_5/Branch_1/Conv2d_0b_1x3/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_385/kernel'
:
'InceptionResnetV2/Repeat_2/block8_5/Branch_1/Conv2d_0c_3x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_385/beta'
:
'InceptionResnetV2/Repeat_2/block8_5/Branch_1/Conv2d_0c_3x1/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_385/moving_mean'
:
'InceptionResnetV2/Repeat_2/block8_5/Branch_1/Conv2d_0c_3x1/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_385/moving_variance'
:
'InceptionResnetV2/Repeat_2/block8_5/Branch_1/Conv2d_0c_3x1/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/block8_5_conv/kernel'
:
'InceptionResnetV2/Repeat_2/block8_5/Conv2d_1x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/block8_5_conv/bias'
:
'InceptionResnetV2/Repeat_2/block8_5/Conv2d_1x1/biases'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_386/kernel'
:
'InceptionResnetV2/Repeat_2/block8_6/Branch_0/Conv2d_1x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_386/beta'
:
'InceptionResnetV2/Repeat_2/block8_6/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_386/moving_mean'
:
'InceptionResnetV2/Repeat_2/block8_6/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_386/moving_variance'
:
'InceptionResnetV2/Repeat_2/block8_6/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_387/kernel'
:
'InceptionResnetV2/Repeat_2/block8_6/Branch_1/Conv2d_0a_1x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_387/beta'
:
'InceptionResnetV2/Repeat_2/block8_6/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_387/moving_mean'
:
'InceptionResnetV2/Repeat_2/block8_6/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_387/moving_variance'
:
'InceptionResnetV2/Repeat_2/block8_6/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_388/kernel'
:
'InceptionResnetV2/Repeat_2/block8_6/Branch_1/Conv2d_0b_1x3/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_388/beta'
:
'InceptionResnetV2/Repeat_2/block8_6/Branch_1/Conv2d_0b_1x3/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_388/moving_mean'
:
'InceptionResnetV2/Repeat_2/block8_6/Branch_1/Conv2d_0b_1x3/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_388/moving_variance'
:
'InceptionResnetV2/Repeat_2/block8_6/Branch_1/Conv2d_0b_1x3/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_389/kernel'
:
'InceptionResnetV2/Repeat_2/block8_6/Branch_1/Conv2d_0c_3x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_389/beta'
:
'InceptionResnetV2/Repeat_2/block8_6/Branch_1/Conv2d_0c_3x1/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_389/moving_mean'
:
'InceptionResnetV2/Repeat_2/block8_6/Branch_1/Conv2d_0c_3x1/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_389/moving_variance'
:
'InceptionResnetV2/Repeat_2/block8_6/Branch_1/Conv2d_0c_3x1/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/block8_6_conv/kernel'
:
'InceptionResnetV2/Repeat_2/block8_6/Conv2d_1x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/block8_6_conv/bias'
:
'InceptionResnetV2/Repeat_2/block8_6/Conv2d_1x1/biases'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_390/kernel'
:
'InceptionResnetV2/Repeat_2/block8_7/Branch_0/Conv2d_1x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_390/beta'
:
'InceptionResnetV2/Repeat_2/block8_7/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_390/moving_mean'
:
'InceptionResnetV2/Repeat_2/block8_7/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_390/moving_variance'
:
'InceptionResnetV2/Repeat_2/block8_7/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_391/kernel'
:
'InceptionResnetV2/Repeat_2/block8_7/Branch_1/Conv2d_0a_1x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_391/beta'
:
'InceptionResnetV2/Repeat_2/block8_7/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_391/moving_mean'
:
'InceptionResnetV2/Repeat_2/block8_7/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_391/moving_variance'
:
'InceptionResnetV2/Repeat_2/block8_7/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_392/kernel'
:
'InceptionResnetV2/Repeat_2/block8_7/Branch_1/Conv2d_0b_1x3/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_392/beta'
:
'InceptionResnetV2/Repeat_2/block8_7/Branch_1/Conv2d_0b_1x3/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_392/moving_mean'
:
'InceptionResnetV2/Repeat_2/block8_7/Branch_1/Conv2d_0b_1x3/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_392/moving_variance'
:
'InceptionResnetV2/Repeat_2/block8_7/Branch_1/Conv2d_0b_1x3/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_393/kernel'
:
'InceptionResnetV2/Repeat_2/block8_7/Branch_1/Conv2d_0c_3x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_393/beta'
:
'InceptionResnetV2/Repeat_2/block8_7/Branch_1/Conv2d_0c_3x1/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_393/moving_mean'
:
'InceptionResnetV2/Repeat_2/block8_7/Branch_1/Conv2d_0c_3x1/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_393/moving_variance'
:
'InceptionResnetV2/Repeat_2/block8_7/Branch_1/Conv2d_0c_3x1/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/block8_7_conv/kernel'
:
'InceptionResnetV2/Repeat_2/block8_7/Conv2d_1x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/block8_7_conv/bias'
:
'InceptionResnetV2/Repeat_2/block8_7/Conv2d_1x1/biases'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_394/kernel'
:
'InceptionResnetV2/Repeat_2/block8_8/Branch_0/Conv2d_1x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_394/beta'
:
'InceptionResnetV2/Repeat_2/block8_8/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_394/moving_mean'
:
'InceptionResnetV2/Repeat_2/block8_8/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_394/moving_variance'
:
'InceptionResnetV2/Repeat_2/block8_8/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_395/kernel'
:
'InceptionResnetV2/Repeat_2/block8_8/Branch_1/Conv2d_0a_1x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_395/beta'
:
'InceptionResnetV2/Repeat_2/block8_8/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_395/moving_mean'
:
'InceptionResnetV2/Repeat_2/block8_8/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_395/moving_variance'
:
'InceptionResnetV2/Repeat_2/block8_8/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_396/kernel'
:
'InceptionResnetV2/Repeat_2/block8_8/Branch_1/Conv2d_0b_1x3/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_396/beta'
:
'InceptionResnetV2/Repeat_2/block8_8/Branch_1/Conv2d_0b_1x3/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_396/moving_mean'
:
'InceptionResnetV2/Repeat_2/block8_8/Branch_1/Conv2d_0b_1x3/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_396/moving_variance'
:
'InceptionResnetV2/Repeat_2/block8_8/Branch_1/Conv2d_0b_1x3/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_397/kernel'
:
'InceptionResnetV2/Repeat_2/block8_8/Branch_1/Conv2d_0c_3x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_397/beta'
:
'InceptionResnetV2/Repeat_2/block8_8/Branch_1/Conv2d_0c_3x1/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_397/moving_mean'
:
'InceptionResnetV2/Repeat_2/block8_8/Branch_1/Conv2d_0c_3x1/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_397/moving_variance'
:
'InceptionResnetV2/Repeat_2/block8_8/Branch_1/Conv2d_0c_3x1/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/block8_8_conv/kernel'
:
'InceptionResnetV2/Repeat_2/block8_8/Conv2d_1x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/block8_8_conv/bias'
:
'InceptionResnetV2/Repeat_2/block8_8/Conv2d_1x1/biases'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_398/kernel'
:
'InceptionResnetV2/Repeat_2/block8_9/Branch_0/Conv2d_1x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_398/beta'
:
'InceptionResnetV2/Repeat_2/block8_9/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_398/moving_mean'
:
'InceptionResnetV2/Repeat_2/block8_9/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_398/moving_variance'
:
'InceptionResnetV2/Repeat_2/block8_9/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_399/kernel'
:
'InceptionResnetV2/Repeat_2/block8_9/Branch_1/Conv2d_0a_1x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_399/beta'
:
'InceptionResnetV2/Repeat_2/block8_9/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_399/moving_mean'
:
'InceptionResnetV2/Repeat_2/block8_9/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_399/moving_variance'
:
'InceptionResnetV2/Repeat_2/block8_9/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_400/kernel'
:
'InceptionResnetV2/Repeat_2/block8_9/Branch_1/Conv2d_0b_1x3/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_400/beta'
:
'InceptionResnetV2/Repeat_2/block8_9/Branch_1/Conv2d_0b_1x3/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_400/moving_mean'
:
'InceptionResnetV2/Repeat_2/block8_9/Branch_1/Conv2d_0b_1x3/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_400/moving_variance'
:
'InceptionResnetV2/Repeat_2/block8_9/Branch_1/Conv2d_0b_1x3/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_401/kernel'
:
'InceptionResnetV2/Repeat_2/block8_9/Branch_1/Conv2d_0c_3x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_401/beta'
:
'InceptionResnetV2/Repeat_2/block8_9/Branch_1/Conv2d_0c_3x1/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_401/moving_mean'
:
'InceptionResnetV2/Repeat_2/block8_9/Branch_1/Conv2d_0c_3x1/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_401/moving_variance'
:
'InceptionResnetV2/Repeat_2/block8_9/Branch_1/Conv2d_0c_3x1/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/block8_9_conv/kernel'
:
'InceptionResnetV2/Repeat_2/block8_9/Conv2d_1x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/block8_9_conv/bias'
:
'InceptionResnetV2/Repeat_2/block8_9/Conv2d_1x1/biases'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_402/kernel'
:
'InceptionResnetV2/Block8/Branch_0/Conv2d_1x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_402/beta'
:
'InceptionResnetV2/Block8/Branch_0/Conv2d_1x1/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_402/moving_mean'
:
'InceptionResnetV2/Block8/Branch_0/Conv2d_1x1/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_402/moving_variance'
:
'InceptionResnetV2/Block8/Branch_0/Conv2d_1x1/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_403/kernel'
:
'InceptionResnetV2/Block8/Branch_1/Conv2d_0a_1x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_403/beta'
:
'InceptionResnetV2/Block8/Branch_1/Conv2d_0a_1x1/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_403/moving_mean'
:
'InceptionResnetV2/Block8/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_403/moving_variance'
:
'InceptionResnetV2/Block8/Branch_1/Conv2d_0a_1x1/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_404/kernel'
:
'InceptionResnetV2/Block8/Branch_1/Conv2d_0b_1x3/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_404/beta'
:
'InceptionResnetV2/Block8/Branch_1/Conv2d_0b_1x3/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_404/moving_mean'
:
'InceptionResnetV2/Block8/Branch_1/Conv2d_0b_1x3/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_404/moving_variance'
:
'InceptionResnetV2/Block8/Branch_1/Conv2d_0b_1x3/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv2d_405/kernel'
:
'InceptionResnetV2/Block8/Branch_1/Conv2d_0c_3x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_405/beta'
:
'InceptionResnetV2/Block8/Branch_1/Conv2d_0c_3x1/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_405/moving_mean'
:
'InceptionResnetV2/Block8/Branch_1/Conv2d_0c_3x1/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/freezable_batch_norm_405/moving_variance'
:
'InceptionResnetV2/Block8/Branch_1/Conv2d_0c_3x1/BatchNorm/moving_variance'
,
'SecondStageFeatureExtractor/InceptionResnetV2/block8_10_conv/kernel'
:
'InceptionResnetV2/Block8/Conv2d_1x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/block8_10_conv/bias'
:
'InceptionResnetV2/Block8/Conv2d_1x1/biases'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv_7b/kernel'
:
'InceptionResnetV2/Conv2d_7b_1x1/weights'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv_7b_bn/beta'
:
'InceptionResnetV2/Conv2d_7b_1x1/BatchNorm/beta'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv_7b_bn/moving_mean'
:
'InceptionResnetV2/Conv2d_7b_1x1/BatchNorm/moving_mean'
,
'SecondStageFeatureExtractor/InceptionResnetV2/conv_7b_bn/moving_variance'
:
'InceptionResnetV2/Conv2d_7b_1x1/BatchNorm/moving_variance'
,
}
variables_to_restore
=
{}
if
tf
.
executing_eagerly
():
for
key
in
self
.
_variable_dict
:
# variable.name includes ":0" at the end, but the names in the
# checkpoint do not have the suffix ":0". So, we strip it here.
var_name
=
keras_to_slim_name_mapping
.
get
(
key
)
if
var_name
:
variables_to_restore
[
var_name
]
=
self
.
_variable_dict
[
key
]
else
:
for
variable
in
variables_helper
.
get_global_variables_safely
():
var_name
=
keras_to_slim_name_mapping
.
get
(
variable
.
op
.
name
)
if
var_name
:
variables_to_restore
[
var_name
]
=
variable
return
variables_to_restore
research/object_detection/models/faster_rcnn_inception_resnet_v2_keras_feature_extractor_tf2_test.py
View file @
31ca3b97
...
@@ -73,7 +73,7 @@ class FasterRcnnInceptionResnetV2KerasFeatureExtractorTest(tf.test.TestCase):
...
@@ -73,7 +73,7 @@ class FasterRcnnInceptionResnetV2KerasFeatureExtractorTest(tf.test.TestCase):
proposal_classifier_features
=
(
proposal_classifier_features
=
(
model
(
proposal_feature_maps
))
model
(
proposal_feature_maps
))
features_shape
=
tf
.
shape
(
proposal_classifier_features
)
features_shape
=
tf
.
shape
(
proposal_classifier_features
)
self
.
assertAllEqual
(
features_shape
.
numpy
(),
[
2
,
8
,
8
,
1536
])
self
.
assertAllEqual
(
features_shape
.
numpy
(),
[
2
,
9
,
9
,
1536
])
if
__name__
==
'__main__'
:
if
__name__
==
'__main__'
:
...
...
research/object_detection/models/faster_rcnn_resnet_keras_feature_extractor.py
View file @
31ca3b97
...
@@ -175,23 +175,6 @@ class FasterRCNNResnetKerasFeatureExtractor(
...
@@ -175,23 +175,6 @@ class FasterRCNNResnetKerasFeatureExtractor(
self
.
_variable_dict
[
variable
.
name
[:
-
2
]]
=
variable
self
.
_variable_dict
[
variable
.
name
[:
-
2
]]
=
variable
return
keras_model
return
keras_model
def
restore_from_classification_checkpoint_fn
(
self
,
first_stage_feature_extractor_scope
,
second_stage_feature_extractor_scope
):
"""Returns a map for restoring from an (object-based) checkpoint.
Args:
first_stage_feature_extractor_scope: A scope name for the first stage
feature extractor (unused).
second_stage_feature_extractor_scope: A scope name for the second stage
feature extractor (unused).
Returns:
A dict mapping keys to Keras models
"""
return
{
'feature_extractor'
:
self
.
classification_backbone
}
class
FasterRCNNResnet50KerasFeatureExtractor
(
class
FasterRCNNResnet50KerasFeatureExtractor
(
FasterRCNNResnetKerasFeatureExtractor
):
FasterRCNNResnetKerasFeatureExtractor
):
...
...
research/object_detection/models/faster_rcnn_resnet_v1_fpn_keras_feature_extractor.py
0 → 100644
View file @
31ca3b97
# Copyright 2020 The TensorFlow Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ==============================================================================
"""Faster RCNN Keras-based Resnet V1 FPN Feature Extractor."""
import
tensorflow.compat.v1
as
tf
from
object_detection.meta_architectures
import
faster_rcnn_meta_arch
from
object_detection.models
import
feature_map_generators
from
object_detection.models.keras_models
import
resnet_v1
_RESNET_MODEL_OUTPUT_LAYERS
=
{
'resnet_v1_50'
:
[
'conv2_block3_out'
,
'conv3_block4_out'
,
'conv4_block6_out'
,
'conv5_block3_out'
],
'resnet_v1_101'
:
[
'conv2_block3_out'
,
'conv3_block4_out'
,
'conv4_block23_out'
,
'conv5_block3_out'
],
'resnet_v1_152'
:
[
'conv2_block3_out'
,
'conv3_block8_out'
,
'conv4_block36_out'
,
'conv5_block3_out'
],
}
class
FasterRCNNResnetV1FpnKerasFeatureExtractor
(
faster_rcnn_meta_arch
.
FasterRCNNKerasFeatureExtractor
):
"""Faster RCNN Feature Extractor using Keras-based Resnet V1 FPN features."""
def
__init__
(
self
,
is_training
,
resnet_v1_base_model
,
resnet_v1_base_model_name
,
first_stage_features_stride
,
conv_hyperparams
,
batch_norm_trainable
=
False
,
weight_decay
=
0.0
,
fpn_min_level
=
2
,
fpn_max_level
=
6
,
additional_layer_depth
=
256
,
override_base_feature_extractor_hyperparams
=
False
):
"""Constructor.
Args:
is_training: See base class.
resnet_v1_base_model: base resnet v1 network to use. One of
the resnet_v1.resnet_v1_{50,101,152} models.
resnet_v1_base_model_name: model name under which to construct resnet v1.
first_stage_features_stride: See base class.
conv_hyperparams: a `hyperparams_builder.KerasLayerHyperparams` object
containing convolution hyperparameters for the layers added on top of
the base feature extractor.
batch_norm_trainable: See base class.
weight_decay: See base class.
fpn_min_level: the highest resolution feature map to use in FPN. The valid
values are {2, 3, 4, 5} which map to Resnet v1 layers.
fpn_max_level: the smallest resolution feature map to construct or use in
FPN. FPN constructions uses features maps starting from fpn_min_level
upto the fpn_max_level. In the case that there are not enough feature
maps in the backbone network, additional feature maps are created by
applying stride 2 convolutions until we get the desired number of fpn
levels.
additional_layer_depth: additional feature map layer channel depth.
override_base_feature_extractor_hyperparams: Whether to override
hyperparameters of the base feature extractor with the one from
`conv_hyperparams`.
Raises:
ValueError: If `first_stage_features_stride` is not 8 or 16.
"""
if
first_stage_features_stride
!=
8
and
first_stage_features_stride
!=
16
:
raise
ValueError
(
'`first_stage_features_stride` must be 8 or 16.'
)
super
(
FasterRCNNResnetV1FpnKerasFeatureExtractor
,
self
).
__init__
(
is_training
=
is_training
,
first_stage_features_stride
=
first_stage_features_stride
,
batch_norm_trainable
=
batch_norm_trainable
,
weight_decay
=
weight_decay
)
self
.
_resnet_v1_base_model
=
resnet_v1_base_model
self
.
_resnet_v1_base_model_name
=
resnet_v1_base_model_name
self
.
_conv_hyperparams
=
conv_hyperparams
self
.
_fpn_min_level
=
fpn_min_level
self
.
_fpn_max_level
=
fpn_max_level
self
.
_additional_layer_depth
=
additional_layer_depth
self
.
_freeze_batchnorm
=
(
not
batch_norm_trainable
)
self
.
_override_base_feature_extractor_hyperparams
=
\
override_base_feature_extractor_hyperparams
self
.
_resnet_block_names
=
[
'block1'
,
'block2'
,
'block3'
,
'block4'
]
self
.
classification_backbone
=
None
self
.
_fpn_features_generator
=
None
self
.
_coarse_feature_layers
=
[]
def
preprocess
(
self
,
resized_inputs
):
"""Faster R-CNN Resnet V1 preprocessing.
VGG style channel mean subtraction as described here:
https://gist.github.com/ksimonyan/211839e770f7b538e2d8#file-readme-md
Note that if the number of channels is not equal to 3, the mean subtraction
will be skipped and the original resized_inputs will be returned.
Args:
resized_inputs: A [batch, height_in, width_in, channels] float32 tensor
representing a batch of images with values between 0 and 255.0.
Returns:
preprocessed_inputs: A [batch, height_out, width_out, channels] float32
tensor representing a batch of images.
"""
if
resized_inputs
.
shape
.
as_list
()[
3
]
==
3
:
channel_means
=
[
123.68
,
116.779
,
103.939
]
return
resized_inputs
-
[[
channel_means
]]
else
:
return
resized_inputs
def
get_proposal_feature_extractor_model
(
self
,
name
=
None
):
"""Returns a model that extracts first stage RPN features.
Extracts features using the Resnet v1 FPN network.
Args:
name: A scope name to construct all variables within.
Returns:
A Keras model that takes preprocessed_inputs:
A [batch, height, width, channels] float32 tensor
representing a batch of images.
And returns rpn_feature_map:
A list of tensors with shape [batch, height, width, depth]
"""
with
tf
.
name_scope
(
name
):
with
tf
.
name_scope
(
'ResnetV1FPN'
):
full_resnet_v1_model
=
self
.
_resnet_v1_base_model
(
batchnorm_training
=
self
.
_train_batch_norm
,
conv_hyperparams
=
(
self
.
_conv_hyperparams
if
self
.
_override_base_feature_extractor_hyperparams
else
None
),
classes
=
None
,
weights
=
None
,
include_top
=
False
)
output_layers
=
_RESNET_MODEL_OUTPUT_LAYERS
[
self
.
_resnet_v1_base_model_name
]
outputs
=
[
full_resnet_v1_model
.
get_layer
(
output_layer_name
).
output
for
output_layer_name
in
output_layers
]
self
.
classification_backbone
=
tf
.
keras
.
Model
(
inputs
=
full_resnet_v1_model
.
inputs
,
outputs
=
outputs
)
backbone_outputs
=
self
.
classification_backbone
(
full_resnet_v1_model
.
inputs
)
# construct FPN feature generator
self
.
_base_fpn_max_level
=
min
(
self
.
_fpn_max_level
,
5
)
self
.
_num_levels
=
self
.
_base_fpn_max_level
+
1
-
self
.
_fpn_min_level
self
.
_fpn_features_generator
=
(
feature_map_generators
.
KerasFpnTopDownFeatureMaps
(
num_levels
=
self
.
_num_levels
,
depth
=
self
.
_additional_layer_depth
,
is_training
=
self
.
_is_training
,
conv_hyperparams
=
self
.
_conv_hyperparams
,
freeze_batchnorm
=
self
.
_freeze_batchnorm
,
name
=
'FeatureMaps'
))
feature_block_list
=
[]
for
level
in
range
(
self
.
_fpn_min_level
,
self
.
_base_fpn_max_level
+
1
):
feature_block_list
.
append
(
'block{}'
.
format
(
level
-
1
))
feature_block_map
=
dict
(
list
(
zip
(
self
.
_resnet_block_names
,
backbone_outputs
)))
fpn_input_image_features
=
[
(
feature_block
,
feature_block_map
[
feature_block
])
for
feature_block
in
feature_block_list
]
fpn_features
=
self
.
_fpn_features_generator
(
fpn_input_image_features
)
# Construct coarse feature layers
for
i
in
range
(
self
.
_base_fpn_max_level
,
self
.
_fpn_max_level
):
layers
=
[]
layer_name
=
'bottom_up_block{}'
.
format
(
i
)
layers
.
append
(
tf
.
keras
.
layers
.
Conv2D
(
self
.
_additional_layer_depth
,
[
3
,
3
],
padding
=
'SAME'
,
strides
=
2
,
name
=
layer_name
+
'_conv'
,
**
self
.
_conv_hyperparams
.
params
()))
layers
.
append
(
self
.
_conv_hyperparams
.
build_batch_norm
(
training
=
(
self
.
_is_training
and
not
self
.
_freeze_batchnorm
),
name
=
layer_name
+
'_batchnorm'
))
layers
.
append
(
self
.
_conv_hyperparams
.
build_activation_layer
(
name
=
layer_name
))
self
.
_coarse_feature_layers
.
append
(
layers
)
feature_maps
=
[]
for
level
in
range
(
self
.
_fpn_min_level
,
self
.
_base_fpn_max_level
+
1
):
feature_maps
.
append
(
fpn_features
[
'top_down_block{}'
.
format
(
level
-
1
)])
last_feature_map
=
fpn_features
[
'top_down_block{}'
.
format
(
self
.
_base_fpn_max_level
-
1
)]
for
coarse_feature_layers
in
self
.
_coarse_feature_layers
:
for
layer
in
coarse_feature_layers
:
last_feature_map
=
layer
(
last_feature_map
)
feature_maps
.
append
(
last_feature_map
)
feature_extractor_model
=
tf
.
keras
.
models
.
Model
(
inputs
=
full_resnet_v1_model
.
inputs
,
outputs
=
feature_maps
)
return
feature_extractor_model
def
get_box_classifier_feature_extractor_model
(
self
,
name
=
None
):
"""Returns a model that extracts second stage box classifier features.
Construct two fully connected layer to extract the box classifier features.
Args:
name: A scope name to construct all variables within.
Returns:
A Keras model that takes proposal_feature_maps:
A 4-D float tensor with shape
[batch_size * self.max_num_proposals, crop_height, crop_width, depth]
representing the feature map cropped to each proposal.
And returns proposal_classifier_features:
A 4-D float tensor with shape
[batch_size * self.max_num_proposals, 1024]
representing box classifier features for each proposal.
"""
with
tf
.
name_scope
(
name
):
with
tf
.
name_scope
(
'ResnetV1FPN'
):
# TODO(yiming): Add a batchnorm layer between two fc layers.
feature_extractor_model
=
tf
.
keras
.
models
.
Sequential
([
tf
.
keras
.
layers
.
Flatten
(),
tf
.
keras
.
layers
.
Dense
(
units
=
1024
,
activation
=
'relu'
),
tf
.
keras
.
layers
.
Dense
(
units
=
1024
,
activation
=
'relu'
)
])
return
feature_extractor_model
class
FasterRCNNResnet50FpnKerasFeatureExtractor
(
FasterRCNNResnetV1FpnKerasFeatureExtractor
):
"""Faster RCNN with Resnet50 FPN feature extractor."""
def
__init__
(
self
,
is_training
,
first_stage_features_stride
=
16
,
conv_hyperparams
=
None
,
batch_norm_trainable
=
False
,
weight_decay
=
0.0
,
fpn_min_level
=
2
,
fpn_max_level
=
6
,
additional_layer_depth
=
256
,
override_base_feature_extractor_hyperparams
=
False
):
"""Constructor.
Args:
is_training: See base class.
first_stage_features_stride: See base class.
conv_hyperparams: See base class.
batch_norm_trainable: See base class.
weight_decay: See base class.
fpn_min_level: See base class.
fpn_max_level: See base class.
additional_layer_depth: See base class.
override_base_feature_extractor_hyperparams: See base class.
"""
super
(
FasterRCNNResnet50FpnKerasFeatureExtractor
,
self
).
__init__
(
is_training
=
is_training
,
first_stage_features_stride
=
first_stage_features_stride
,
conv_hyperparams
=
conv_hyperparams
,
resnet_v1_base_model
=
resnet_v1
.
resnet_v1_50
,
resnet_v1_base_model_name
=
'resnet_v1_50'
,
batch_norm_trainable
=
batch_norm_trainable
,
weight_decay
=
weight_decay
,
fpn_min_level
=
fpn_min_level
,
fpn_max_level
=
fpn_max_level
,
additional_layer_depth
=
additional_layer_depth
,
override_base_feature_extractor_hyperparams
=
override_base_feature_extractor_hyperparams
)
class
FasterRCNNResnet101FpnKerasFeatureExtractor
(
FasterRCNNResnetV1FpnKerasFeatureExtractor
):
"""Faster RCNN with Resnet101 FPN feature extractor."""
def
__init__
(
self
,
is_training
,
first_stage_features_stride
=
16
,
conv_hyperparams
=
None
,
batch_norm_trainable
=
False
,
weight_decay
=
0.0
,
fpn_min_level
=
2
,
fpn_max_level
=
6
,
additional_layer_depth
=
256
,
override_base_feature_extractor_hyperparams
=
False
):
"""Constructor.
Args:
is_training: See base class.
first_stage_features_stride: See base class.
conv_hyperparams: See base class.
batch_norm_trainable: See base class.
weight_decay: See base class.
fpn_min_level: See base class.
fpn_max_level: See base class.
additional_layer_depth: See base class.
override_base_feature_extractor_hyperparams: See base class.
"""
super
(
FasterRCNNResnet101FpnKerasFeatureExtractor
,
self
).
__init__
(
is_training
=
is_training
,
first_stage_features_stride
=
first_stage_features_stride
,
conv_hyperparams
=
conv_hyperparams
,
resnet_v1_base_model
=
resnet_v1
.
resnet_v1_101
,
resnet_v1_base_model_name
=
'resnet_v1_101'
,
batch_norm_trainable
=
batch_norm_trainable
,
weight_decay
=
weight_decay
,
fpn_min_level
=
fpn_min_level
,
fpn_max_level
=
fpn_max_level
,
additional_layer_depth
=
additional_layer_depth
,
override_base_feature_extractor_hyperparams
=
override_base_feature_extractor_hyperparams
)
class
FasterRCNNResnet152FpnKerasFeatureExtractor
(
FasterRCNNResnetV1FpnKerasFeatureExtractor
):
"""Faster RCNN with Resnet152 FPN feature extractor."""
def
__init__
(
self
,
is_training
,
first_stage_features_stride
=
16
,
conv_hyperparams
=
None
,
batch_norm_trainable
=
False
,
weight_decay
=
0.0
,
fpn_min_level
=
2
,
fpn_max_level
=
6
,
additional_layer_depth
=
256
,
override_base_feature_extractor_hyperparams
=
False
):
"""Constructor.
Args:
is_training: See base class.
first_stage_features_stride: See base class.
conv_hyperparams: See base class.
batch_norm_trainable: See base class.
weight_decay: See base class.
fpn_min_level: See base class.
fpn_max_level: See base class.
additional_layer_depth: See base class.
override_base_feature_extractor_hyperparams: See base class.
"""
super
(
FasterRCNNResnet152FpnKerasFeatureExtractor
,
self
).
__init__
(
is_training
=
is_training
,
first_stage_features_stride
=
first_stage_features_stride
,
conv_hyperparams
=
conv_hyperparams
,
resnet_v1_base_model
=
resnet_v1
.
resnet_v1_152
,
resnet_v1_base_model_name
=
'resnet_v1_152'
,
batch_norm_trainable
=
batch_norm_trainable
,
weight_decay
=
weight_decay
,
fpn_min_level
=
fpn_min_level
,
fpn_max_level
=
fpn_max_level
,
additional_layer_depth
=
additional_layer_depth
,
override_base_feature_extractor_hyperparams
=
override_base_feature_extractor_hyperparams
)
research/object_detection/models/faster_rcnn_resnet_v1_fpn_keras_feature_extractor_tf2_test.py
0 → 100644
View file @
31ca3b97
# Copyright 2020 The TensorFlow Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ==============================================================================
"""Tests for models.faster_rcnn_resnet_v1_fpn_keras_feature_extractor."""
import
unittest
import
tensorflow.compat.v1
as
tf
from
google.protobuf
import
text_format
from
object_detection.builders
import
hyperparams_builder
from
object_detection.models
import
faster_rcnn_resnet_v1_fpn_keras_feature_extractor
as
frcnn_res_fpn
from
object_detection.protos
import
hyperparams_pb2
from
object_detection.utils
import
tf_version
@
unittest
.
skipIf
(
tf_version
.
is_tf1
(),
'Skipping TF2.X only test.'
)
class
FasterRCNNResnetV1FpnKerasFeatureExtractorTest
(
tf
.
test
.
TestCase
):
def
_build_conv_hyperparams
(
self
):
conv_hyperparams
=
hyperparams_pb2
.
Hyperparams
()
conv_hyperparams_text_proto
=
"""
regularizer {
l2_regularizer {
}
}
initializer {
truncated_normal_initializer {
}
}
"""
text_format
.
Parse
(
conv_hyperparams_text_proto
,
conv_hyperparams
)
return
hyperparams_builder
.
KerasLayerHyperparams
(
conv_hyperparams
)
def
_build_feature_extractor
(
self
):
return
frcnn_res_fpn
.
FasterRCNNResnet50FpnKerasFeatureExtractor
(
is_training
=
False
,
conv_hyperparams
=
self
.
_build_conv_hyperparams
(),
first_stage_features_stride
=
16
,
batch_norm_trainable
=
False
,
weight_decay
=
0.0
)
def
test_extract_proposal_features_returns_expected_size
(
self
):
feature_extractor
=
self
.
_build_feature_extractor
()
preprocessed_inputs
=
tf
.
random_uniform
(
[
2
,
448
,
448
,
3
],
maxval
=
255
,
dtype
=
tf
.
float32
)
rpn_feature_maps
=
feature_extractor
.
get_proposal_feature_extractor_model
(
name
=
'TestScope'
)(
preprocessed_inputs
)
features_shapes
=
[
tf
.
shape
(
rpn_feature_map
)
for
rpn_feature_map
in
rpn_feature_maps
]
self
.
assertAllEqual
(
features_shapes
[
0
].
numpy
(),
[
2
,
112
,
112
,
256
])
self
.
assertAllEqual
(
features_shapes
[
1
].
numpy
(),
[
2
,
56
,
56
,
256
])
self
.
assertAllEqual
(
features_shapes
[
2
].
numpy
(),
[
2
,
28
,
28
,
256
])
self
.
assertAllEqual
(
features_shapes
[
3
].
numpy
(),
[
2
,
14
,
14
,
256
])
self
.
assertAllEqual
(
features_shapes
[
4
].
numpy
(),
[
2
,
7
,
7
,
256
])
def
test_extract_proposal_features_half_size_input
(
self
):
feature_extractor
=
self
.
_build_feature_extractor
()
preprocessed_inputs
=
tf
.
random_uniform
(
[
2
,
224
,
224
,
3
],
maxval
=
255
,
dtype
=
tf
.
float32
)
rpn_feature_maps
=
feature_extractor
.
get_proposal_feature_extractor_model
(
name
=
'TestScope'
)(
preprocessed_inputs
)
features_shapes
=
[
tf
.
shape
(
rpn_feature_map
)
for
rpn_feature_map
in
rpn_feature_maps
]
self
.
assertAllEqual
(
features_shapes
[
0
].
numpy
(),
[
2
,
56
,
56
,
256
])
self
.
assertAllEqual
(
features_shapes
[
1
].
numpy
(),
[
2
,
28
,
28
,
256
])
self
.
assertAllEqual
(
features_shapes
[
2
].
numpy
(),
[
2
,
14
,
14
,
256
])
self
.
assertAllEqual
(
features_shapes
[
3
].
numpy
(),
[
2
,
7
,
7
,
256
])
self
.
assertAllEqual
(
features_shapes
[
4
].
numpy
(),
[
2
,
4
,
4
,
256
])
def
test_extract_box_classifier_features_returns_expected_size
(
self
):
feature_extractor
=
self
.
_build_feature_extractor
()
proposal_feature_maps
=
tf
.
random_uniform
(
[
3
,
7
,
7
,
1024
],
maxval
=
255
,
dtype
=
tf
.
float32
)
model
=
feature_extractor
.
get_box_classifier_feature_extractor_model
(
name
=
'TestScope'
)
proposal_classifier_features
=
(
model
(
proposal_feature_maps
))
features_shape
=
tf
.
shape
(
proposal_classifier_features
)
self
.
assertAllEqual
(
features_shape
.
numpy
(),
[
3
,
1024
])
research/object_detection/models/keras_models/hourglass_network.py
View file @
31ca3b97
...
@@ -43,6 +43,15 @@ def _get_padding_for_kernel_size(kernel_size):
...
@@ -43,6 +43,15 @@ def _get_padding_for_kernel_size(kernel_size):
kernel_size
))
kernel_size
))
def
batchnorm
():
try
:
return
tf
.
keras
.
layers
.
experimental
.
SyncBatchNormalization
(
name
=
'batchnorm'
,
epsilon
=
1e-5
,
momentum
=
0.1
)
except
AttributeError
:
return
tf
.
keras
.
layers
.
BatchNormalization
(
name
=
'batchnorm'
,
epsilon
=
1e-5
,
momentum
=
0.1
,
fused
=
BATCH_NORM_FUSED
)
class
ConvolutionalBlock
(
tf
.
keras
.
layers
.
Layer
):
class
ConvolutionalBlock
(
tf
.
keras
.
layers
.
Layer
):
"""Block that aggregates Convolution + Norm layer + ReLU."""
"""Block that aggregates Convolution + Norm layer + ReLU."""
...
@@ -73,8 +82,7 @@ class ConvolutionalBlock(tf.keras.layers.Layer):
...
@@ -73,8 +82,7 @@ class ConvolutionalBlock(tf.keras.layers.Layer):
filters
=
out_channels
,
kernel_size
=
kernel_size
,
use_bias
=
False
,
filters
=
out_channels
,
kernel_size
=
kernel_size
,
use_bias
=
False
,
strides
=
stride
,
padding
=
padding
)
strides
=
stride
,
padding
=
padding
)
self
.
norm
=
tf
.
keras
.
layers
.
experimental
.
SyncBatchNormalization
(
self
.
norm
=
batchnorm
()
name
=
'batchnorm'
,
epsilon
=
1e-5
,
momentum
=
0.1
)
if
relu
:
if
relu
:
self
.
relu
=
tf
.
keras
.
layers
.
ReLU
()
self
.
relu
=
tf
.
keras
.
layers
.
ReLU
()
...
@@ -124,8 +132,7 @@ class ResidualBlock(tf.keras.layers.Layer):
...
@@ -124,8 +132,7 @@ class ResidualBlock(tf.keras.layers.Layer):
self
.
conv
=
tf
.
keras
.
layers
.
Conv2D
(
self
.
conv
=
tf
.
keras
.
layers
.
Conv2D
(
filters
=
out_channels
,
kernel_size
=
kernel_size
,
use_bias
=
False
,
filters
=
out_channels
,
kernel_size
=
kernel_size
,
use_bias
=
False
,
strides
=
1
,
padding
=
padding
)
strides
=
1
,
padding
=
padding
)
self
.
norm
=
tf
.
keras
.
layers
.
experimental
.
SyncBatchNormalization
(
self
.
norm
=
batchnorm
()
name
=
'batchnorm'
,
epsilon
=
1e-5
,
momentum
=
0.1
)
if
skip_conv
:
if
skip_conv
:
self
.
skip
=
SkipConvolution
(
out_channels
=
out_channels
,
self
.
skip
=
SkipConvolution
(
out_channels
=
out_channels
,
...
...
research/object_detection/models/keras_models/resnet_v1.py
View file @
31ca3b97
...
@@ -21,6 +21,7 @@ from __future__ import print_function
...
@@ -21,6 +21,7 @@ from __future__ import print_function
import
tensorflow.compat.v1
as
tf
import
tensorflow.compat.v1
as
tf
from
tensorflow.python.keras.applications
import
resnet
from
object_detection.core
import
freezable_batch_norm
from
object_detection.core
import
freezable_batch_norm
from
object_detection.models.keras_models
import
model_utils
from
object_detection.models.keras_models
import
model_utils
...
@@ -95,11 +96,11 @@ class _LayersOverride(object):
...
@@ -95,11 +96,11 @@ class _LayersOverride(object):
self
.
regularizer
=
tf
.
keras
.
regularizers
.
l2
(
weight_decay
)
self
.
regularizer
=
tf
.
keras
.
regularizers
.
l2
(
weight_decay
)
self
.
initializer
=
tf
.
variance_scaling_initializer
()
self
.
initializer
=
tf
.
variance_scaling_initializer
()
def
_FixedPaddingLayer
(
self
,
kernel_size
,
rate
=
1
):
def
_FixedPaddingLayer
(
self
,
kernel_size
,
rate
=
1
):
# pylint: disable=invalid-name
return
tf
.
keras
.
layers
.
Lambda
(
return
tf
.
keras
.
layers
.
Lambda
(
lambda
x
:
_fixed_padding
(
x
,
kernel_size
,
rate
))
lambda
x
:
_fixed_padding
(
x
,
kernel_size
,
rate
))
def
Conv2D
(
self
,
filters
,
kernel_size
,
**
kwargs
):
def
Conv2D
(
self
,
filters
,
kernel_size
,
**
kwargs
):
# pylint: disable=invalid-name
"""Builds a Conv2D layer according to the current Object Detection config.
"""Builds a Conv2D layer according to the current Object Detection config.
Overrides the Keras Resnet application's convolutions with ones that
Overrides the Keras Resnet application's convolutions with ones that
...
@@ -141,7 +142,7 @@ class _LayersOverride(object):
...
@@ -141,7 +142,7 @@ class _LayersOverride(object):
else
:
else
:
return
tf
.
keras
.
layers
.
Conv2D
(
filters
,
kernel_size
,
**
kwargs
)
return
tf
.
keras
.
layers
.
Conv2D
(
filters
,
kernel_size
,
**
kwargs
)
def
Activation
(
self
,
*
args
,
**
kwargs
):
# pylint: disable=unused-argument
def
Activation
(
self
,
*
args
,
**
kwargs
):
# pylint: disable=unused-argument
,invalid-name
"""Builds an activation layer.
"""Builds an activation layer.
Overrides the Keras application Activation layer specified by the
Overrides the Keras application Activation layer specified by the
...
@@ -163,7 +164,7 @@ class _LayersOverride(object):
...
@@ -163,7 +164,7 @@ class _LayersOverride(object):
else
:
else
:
return
tf
.
keras
.
layers
.
Lambda
(
tf
.
nn
.
relu
,
name
=
name
)
return
tf
.
keras
.
layers
.
Lambda
(
tf
.
nn
.
relu
,
name
=
name
)
def
BatchNormalization
(
self
,
**
kwargs
):
def
BatchNormalization
(
self
,
**
kwargs
):
# pylint: disable=invalid-name
"""Builds a normalization layer.
"""Builds a normalization layer.
Overrides the Keras application batch norm with the norm specified by the
Overrides the Keras application batch norm with the norm specified by the
...
@@ -191,7 +192,7 @@ class _LayersOverride(object):
...
@@ -191,7 +192,7 @@ class _LayersOverride(object):
momentum
=
self
.
_default_batchnorm_momentum
,
momentum
=
self
.
_default_batchnorm_momentum
,
**
kwargs
)
**
kwargs
)
def
Input
(
self
,
shape
):
def
Input
(
self
,
shape
):
# pylint: disable=invalid-name
"""Builds an Input layer.
"""Builds an Input layer.
Overrides the Keras application Input layer with one that uses a
Overrides the Keras application Input layer with one that uses a
...
@@ -219,7 +220,7 @@ class _LayersOverride(object):
...
@@ -219,7 +220,7 @@ class _LayersOverride(object):
input
=
input_tensor
,
shape
=
[
None
]
+
shape
)
input
=
input_tensor
,
shape
=
[
None
]
+
shape
)
return
model_utils
.
input_layer
(
shape
,
placeholder_with_default
)
return
model_utils
.
input_layer
(
shape
,
placeholder_with_default
)
def
MaxPooling2D
(
self
,
pool_size
,
**
kwargs
):
def
MaxPooling2D
(
self
,
pool_size
,
**
kwargs
):
# pylint: disable=invalid-name
"""Builds a MaxPooling2D layer with default padding as 'SAME'.
"""Builds a MaxPooling2D layer with default padding as 'SAME'.
This is specified by the default resnet arg_scope in slim.
This is specified by the default resnet arg_scope in slim.
...
@@ -237,7 +238,7 @@ class _LayersOverride(object):
...
@@ -237,7 +238,7 @@ class _LayersOverride(object):
# Add alias as Keras also has it.
# Add alias as Keras also has it.
MaxPool2D
=
MaxPooling2D
# pylint: disable=invalid-name
MaxPool2D
=
MaxPooling2D
# pylint: disable=invalid-name
def
ZeroPadding2D
(
self
,
padding
,
**
kwargs
):
# pylint: disable=unused-argument
def
ZeroPadding2D
(
self
,
padding
,
**
kwargs
):
# pylint: disable=unused-argument
,invalid-name
"""Replaces explicit padding in the Keras application with a no-op.
"""Replaces explicit padding in the Keras application with a no-op.
Args:
Args:
...
@@ -395,3 +396,146 @@ def resnet_v1_152(batchnorm_training,
...
@@ -395,3 +396,146 @@ def resnet_v1_152(batchnorm_training,
return
tf
.
keras
.
applications
.
resnet
.
ResNet152
(
return
tf
.
keras
.
applications
.
resnet
.
ResNet152
(
layers
=
layers_override
,
**
kwargs
)
layers
=
layers_override
,
**
kwargs
)
# pylint: enable=invalid-name
# pylint: enable=invalid-name
# The following codes are based on the existing keras ResNet model pattern:
# google3/third_party/tensorflow/python/keras/applications/resnet.py
def
block_basic
(
x
,
filters
,
kernel_size
=
3
,
stride
=
1
,
conv_shortcut
=
False
,
name
=
None
):
"""A residual block for ResNet18/34.
Arguments:
x: input tensor.
filters: integer, filters of the bottleneck layer.
kernel_size: default 3, kernel size of the bottleneck layer.
stride: default 1, stride of the first layer.
conv_shortcut: default False, use convolution shortcut if True, otherwise
identity shortcut.
name: string, block label.
Returns:
Output tensor for the residual block.
"""
layers
=
tf
.
keras
.
layers
bn_axis
=
3
if
tf
.
keras
.
backend
.
image_data_format
()
==
'channels_last'
else
1
preact
=
layers
.
BatchNormalization
(
axis
=
bn_axis
,
epsilon
=
1.001e-5
,
name
=
name
+
'_preact_bn'
)(
x
)
preact
=
layers
.
Activation
(
'relu'
,
name
=
name
+
'_preact_relu'
)(
preact
)
if
conv_shortcut
:
shortcut
=
layers
.
Conv2D
(
filters
,
1
,
strides
=
1
,
name
=
name
+
'_0_conv'
)(
preact
)
else
:
shortcut
=
layers
.
MaxPooling2D
(
1
,
strides
=
stride
)(
x
)
if
stride
>
1
else
x
x
=
layers
.
ZeroPadding2D
(
padding
=
((
1
,
1
),
(
1
,
1
)),
name
=
name
+
'_1_pad'
)(
preact
)
x
=
layers
.
Conv2D
(
filters
,
kernel_size
,
strides
=
1
,
use_bias
=
False
,
name
=
name
+
'_1_conv'
)(
x
)
x
=
layers
.
BatchNormalization
(
axis
=
bn_axis
,
epsilon
=
1.001e-5
,
name
=
name
+
'_1_bn'
)(
x
)
x
=
layers
.
Activation
(
'relu'
,
name
=
name
+
'_1_relu'
)(
x
)
x
=
layers
.
ZeroPadding2D
(
padding
=
((
1
,
1
),
(
1
,
1
)),
name
=
name
+
'_2_pad'
)(
x
)
x
=
layers
.
Conv2D
(
filters
,
kernel_size
,
strides
=
stride
,
use_bias
=
False
,
name
=
name
+
'_2_conv'
)(
x
)
x
=
layers
.
BatchNormalization
(
axis
=
bn_axis
,
epsilon
=
1.001e-5
,
name
=
name
+
'_2_bn'
)(
x
)
x
=
layers
.
Activation
(
'relu'
,
name
=
name
+
'_2_relu'
)(
x
)
x
=
layers
.
Add
(
name
=
name
+
'_out'
)([
shortcut
,
x
])
return
x
def
stack_basic
(
x
,
filters
,
blocks
,
stride1
=
2
,
name
=
None
):
"""A set of stacked residual blocks for ResNet18/34.
Arguments:
x: input tensor.
filters: integer, filters of the bottleneck layer in a block.
blocks: integer, blocks in the stacked blocks.
stride1: default 2, stride of the first layer in the first block.
name: string, stack label.
Returns:
Output tensor for the stacked blocks.
"""
x
=
block_basic
(
x
,
filters
,
conv_shortcut
=
True
,
name
=
name
+
'_block1'
)
for
i
in
range
(
2
,
blocks
):
x
=
block_basic
(
x
,
filters
,
name
=
name
+
'_block'
+
str
(
i
))
x
=
block_basic
(
x
,
filters
,
stride
=
stride1
,
name
=
name
+
'_block'
+
str
(
blocks
))
return
x
def
resnet_v1_18
(
include_top
=
True
,
weights
=
'imagenet'
,
input_tensor
=
None
,
input_shape
=
None
,
pooling
=
None
,
classes
=
1000
,
classifier_activation
=
'softmax'
):
"""Instantiates the ResNet18 architecture."""
def
stack_fn
(
x
):
x
=
stack_basic
(
x
,
64
,
2
,
stride1
=
1
,
name
=
'conv2'
)
x
=
stack_basic
(
x
,
128
,
2
,
name
=
'conv3'
)
x
=
stack_basic
(
x
,
256
,
2
,
name
=
'conv4'
)
return
stack_basic
(
x
,
512
,
2
,
name
=
'conv5'
)
return
resnet
.
ResNet
(
stack_fn
,
True
,
True
,
'resnet18'
,
include_top
,
weights
,
input_tensor
,
input_shape
,
pooling
,
classes
,
classifier_activation
=
classifier_activation
)
def
resnet_v1_34
(
include_top
=
True
,
weights
=
'imagenet'
,
input_tensor
=
None
,
input_shape
=
None
,
pooling
=
None
,
classes
=
1000
,
classifier_activation
=
'softmax'
):
"""Instantiates the ResNet34 architecture."""
def
stack_fn
(
x
):
x
=
stack_basic
(
x
,
64
,
3
,
stride1
=
1
,
name
=
'conv2'
)
x
=
stack_basic
(
x
,
128
,
4
,
name
=
'conv3'
)
x
=
stack_basic
(
x
,
256
,
6
,
name
=
'conv4'
)
return
stack_basic
(
x
,
512
,
3
,
name
=
'conv5'
)
return
resnet
.
ResNet
(
stack_fn
,
True
,
True
,
'resnet34'
,
include_top
,
weights
,
input_tensor
,
input_shape
,
pooling
,
classes
,
classifier_activation
=
classifier_activation
)
research/object_detection/models/keras_models/resnet_v1_tf2_test.py
View file @
31ca3b97
...
@@ -20,12 +20,13 @@ object detection. To verify the consistency of the two models, we compare:
...
@@ -20,12 +20,13 @@ object detection. To verify the consistency of the two models, we compare:
2. Number of global variables.
2. Number of global variables.
"""
"""
import
unittest
import
unittest
from
absl.testing
import
parameterized
import
numpy
as
np
import
numpy
as
np
from
six.moves
import
zip
from
six.moves
import
zip
import
tensorflow.compat.v1
as
tf
import
tensorflow.compat.v1
as
tf
from
google.protobuf
import
text_format
from
google.protobuf
import
text_format
from
object_detection.builders
import
hyperparams_builder
from
object_detection.builders
import
hyperparams_builder
from
object_detection.models.keras_models
import
resnet_v1
from
object_detection.models.keras_models
import
resnet_v1
from
object_detection.protos
import
hyperparams_pb2
from
object_detection.protos
import
hyperparams_pb2
...
@@ -180,5 +181,46 @@ class ResnetV1Test(test_case.TestCase):
...
@@ -180,5 +181,46 @@ class ResnetV1Test(test_case.TestCase):
self
.
assertEqual
(
len
(
variables
),
var_num
)
self
.
assertEqual
(
len
(
variables
),
var_num
)
class
ResnetShapeTest
(
test_case
.
TestCase
,
parameterized
.
TestCase
):
@
unittest
.
skipIf
(
tf_version
.
is_tf1
(),
'Skipping TF2.X only test.'
)
@
parameterized
.
parameters
(
{
'resnet_type'
:
'resnet_v1_34'
,
'output_layer_names'
:
[
'conv2_block3_out'
,
'conv3_block4_out'
,
'conv4_block6_out'
,
'conv5_block3_out'
]
},
{
'resnet_type'
:
'resnet_v1_18'
,
'output_layer_names'
:
[
'conv2_block2_out'
,
'conv3_block2_out'
,
'conv4_block2_out'
,
'conv5_block2_out'
]
})
def
test_output_shapes
(
self
,
resnet_type
,
output_layer_names
):
if
resnet_type
==
'resnet_v1_34'
:
model
=
resnet_v1
.
resnet_v1_34
(
weights
=
None
)
else
:
model
=
resnet_v1
.
resnet_v1_18
(
weights
=
None
)
outputs
=
[
model
.
get_layer
(
output_layer_name
).
output
for
output_layer_name
in
output_layer_names
]
resnet_model
=
tf
.
keras
.
models
.
Model
(
inputs
=
model
.
input
,
outputs
=
outputs
)
outputs
=
resnet_model
(
np
.
zeros
((
2
,
64
,
64
,
3
),
dtype
=
np
.
float32
))
# Check the shape of 'conv2_block3_out':
self
.
assertEqual
(
outputs
[
0
].
shape
,
[
2
,
16
,
16
,
64
])
# Check the shape of 'conv3_block4_out':
self
.
assertEqual
(
outputs
[
1
].
shape
,
[
2
,
8
,
8
,
128
])
# Check the shape of 'conv4_block6_out':
self
.
assertEqual
(
outputs
[
2
].
shape
,
[
2
,
4
,
4
,
256
])
# Check the shape of 'conv5_block3_out':
self
.
assertEqual
(
outputs
[
3
].
shape
,
[
2
,
2
,
2
,
512
])
if
__name__
==
'__main__'
:
if
__name__
==
'__main__'
:
tf
.
test
.
main
()
tf
.
test
.
main
()
research/object_detection/models/ssd_efficientnet_bifpn_feature_extractor.py
0 → 100644
View file @
31ca3b97
# Copyright 2020 The TensorFlow Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ==============================================================================
"""SSD Keras-based EfficientNet + BiFPN (EfficientDet) Feature Extractor."""
from
__future__
import
absolute_import
from
__future__
import
division
from
__future__
import
print_function
from
absl
import
logging
from
six.moves
import
range
from
six.moves
import
zip
import
tensorflow.compat.v2
as
tf
from
object_detection.meta_architectures
import
ssd_meta_arch
from
object_detection.models
import
bidirectional_feature_pyramid_generators
as
bifpn_generators
from
object_detection.utils
import
ops
from
object_detection.utils
import
shape_utils
from
object_detection.utils
import
tf_version
# pylint: disable=g-import-not-at-top
if
tf_version
.
is_tf2
():
from
official.vision.image_classification.efficientnet
import
efficientnet_model
_EFFICIENTNET_LEVEL_ENDPOINTS
=
{
1
:
'stack_0/block_0/project_bn'
,
2
:
'stack_1/block_1/add'
,
3
:
'stack_2/block_1/add'
,
4
:
'stack_4/block_2/add'
,
5
:
'stack_6/block_0/project_bn'
,
}
class
SSDEfficientNetBiFPNKerasFeatureExtractor
(
ssd_meta_arch
.
SSDKerasFeatureExtractor
):
"""SSD Keras-based EfficientNetBiFPN (EfficientDet) Feature Extractor."""
def
__init__
(
self
,
is_training
,
depth_multiplier
,
min_depth
,
pad_to_multiple
,
conv_hyperparams
,
freeze_batchnorm
,
inplace_batchnorm_update
,
bifpn_min_level
,
bifpn_max_level
,
bifpn_num_iterations
,
bifpn_num_filters
,
bifpn_combine_method
,
efficientnet_version
,
use_explicit_padding
=
None
,
use_depthwise
=
None
,
override_base_feature_extractor_hyperparams
=
None
,
name
=
None
):
"""SSD Keras-based EfficientNetBiFPN (EfficientDet) feature extractor.
Args:
is_training: whether the network is in training mode.
depth_multiplier: unsupported by EfficientNetBiFPN. float, depth
multiplier for the feature extractor.
min_depth: minimum feature extractor depth.
pad_to_multiple: the nearest multiple to zero pad the input height and
width dimensions to.
conv_hyperparams: a `hyperparams_builder.KerasLayerHyperparams` object
containing convolution hyperparameters for the layers added on top of
the base feature extractor.
freeze_batchnorm: whether to freeze batch norm parameters during training
or not. When training with a small batch size (e.g. 1), it is desirable
to freeze batch norm update and use pretrained batch norm params.
inplace_batchnorm_update: whether to update batch norm moving average
values inplace. When this is false train op must add a control
dependency on tf.graphkeys.UPDATE_OPS collection in order to update
batch norm statistics.
bifpn_min_level: the highest resolution feature map to use in BiFPN. The
valid values are {2, 3, 4, 5} which map to Resnet blocks {1, 2, 3, 4}
respectively.
bifpn_max_level: the smallest resolution feature map to use in the BiFPN.
BiFPN constructions uses features maps starting from bifpn_min_level
upto the bifpn_max_level. In the case that there are not enough feature
maps in the backbone network, additional feature maps are created by
applying stride 2 convolutions until we get the desired number of BiFPN
levels.
bifpn_num_iterations: number of BiFPN iterations. Overrided if
efficientdet_version is provided.
bifpn_num_filters: number of filters (channels) in all BiFPN layers.
Overrided if efficientdet_version is provided.
bifpn_combine_method: the method used to combine BiFPN nodes.
efficientnet_version: the EfficientNet version to use for this feature
extractor's backbone.
use_explicit_padding: unsupported by EfficientNetBiFPN. Whether to use
explicit padding when extracting features.
use_depthwise: unsupported by EfficientNetBiFPN, since BiFPN uses regular
convolutions when inputs to a node have a differing number of channels,
and use separable convolutions after combine operations.
override_base_feature_extractor_hyperparams: unsupported. Whether to
override hyperparameters of the base feature extractor with the one from
`conv_hyperparams`.
name: a string name scope to assign to the model. If 'None', Keras will
auto-generate one from the class name.
"""
super
(
SSDEfficientNetBiFPNKerasFeatureExtractor
,
self
).
__init__
(
is_training
=
is_training
,
depth_multiplier
=
depth_multiplier
,
min_depth
=
min_depth
,
pad_to_multiple
=
pad_to_multiple
,
conv_hyperparams
=
conv_hyperparams
,
freeze_batchnorm
=
freeze_batchnorm
,
inplace_batchnorm_update
=
inplace_batchnorm_update
,
use_explicit_padding
=
None
,
use_depthwise
=
None
,
override_base_feature_extractor_hyperparams
=
override_base_feature_extractor_hyperparams
,
name
=
name
)
if
depth_multiplier
!=
1.0
:
raise
ValueError
(
'EfficientNetBiFPN does not support a non-default '
'depth_multiplier.'
)
if
use_explicit_padding
:
raise
ValueError
(
'EfficientNetBiFPN does not support explicit padding.'
)
if
use_depthwise
:
raise
ValueError
(
'EfficientNetBiFPN does not support use_depthwise.'
)
if
override_base_feature_extractor_hyperparams
:
raise
ValueError
(
'EfficientNetBiFPN does not support '
'override_base_feature_extractor_hyperparams.'
)
self
.
_bifpn_min_level
=
bifpn_min_level
self
.
_bifpn_max_level
=
bifpn_max_level
self
.
_bifpn_num_iterations
=
bifpn_num_iterations
self
.
_bifpn_num_filters
=
max
(
bifpn_num_filters
,
min_depth
)
self
.
_bifpn_node_params
=
{
'combine_method'
:
bifpn_combine_method
}
self
.
_efficientnet_version
=
efficientnet_version
logging
.
info
(
'EfficientDet EfficientNet backbone version: %s'
,
self
.
_efficientnet_version
)
logging
.
info
(
'EfficientDet BiFPN num filters: %d'
,
self
.
_bifpn_num_filters
)
logging
.
info
(
'EfficientDet BiFPN num iterations: %d'
,
self
.
_bifpn_num_iterations
)
self
.
_backbone_max_level
=
min
(
max
(
_EFFICIENTNET_LEVEL_ENDPOINTS
.
keys
()),
bifpn_max_level
)
self
.
_output_layer_names
=
[
_EFFICIENTNET_LEVEL_ENDPOINTS
[
i
]
for
i
in
range
(
bifpn_min_level
,
self
.
_backbone_max_level
+
1
)]
self
.
_output_layer_alias
=
[
'level_{}'
.
format
(
i
)
for
i
in
range
(
bifpn_min_level
,
self
.
_backbone_max_level
+
1
)]
# Initialize the EfficientNet backbone.
# Note, this is currently done in the init method rather than in the build
# method, since doing so introduces an error which is not well understood.
efficientnet_base
=
efficientnet_model
.
EfficientNet
.
from_name
(
model_name
=
self
.
_efficientnet_version
,
overrides
=
{
'rescale_input'
:
False
})
outputs
=
[
efficientnet_base
.
get_layer
(
output_layer_name
).
output
for
output_layer_name
in
self
.
_output_layer_names
]
self
.
_efficientnet
=
tf
.
keras
.
Model
(
inputs
=
efficientnet_base
.
inputs
,
outputs
=
outputs
)
self
.
classification_backbone
=
efficientnet_base
self
.
_bifpn_stage
=
None
def
build
(
self
,
input_shape
):
self
.
_bifpn_stage
=
bifpn_generators
.
KerasBiFpnFeatureMaps
(
bifpn_num_iterations
=
self
.
_bifpn_num_iterations
,
bifpn_num_filters
=
self
.
_bifpn_num_filters
,
fpn_min_level
=
self
.
_bifpn_min_level
,
fpn_max_level
=
self
.
_bifpn_max_level
,
input_max_level
=
self
.
_backbone_max_level
,
is_training
=
self
.
_is_training
,
conv_hyperparams
=
self
.
_conv_hyperparams
,
freeze_batchnorm
=
self
.
_freeze_batchnorm
,
bifpn_node_params
=
self
.
_bifpn_node_params
,
name
=
'bifpn'
)
self
.
built
=
True
def
preprocess
(
self
,
inputs
):
"""SSD preprocessing.
Channel-wise mean subtraction and scaling.
Args:
inputs: a [batch, height, width, channels] float tensor representing a
batch of images.
Returns:
preprocessed_inputs: a [batch, height, width, channels] float tensor
representing a batch of images.
"""
if
inputs
.
shape
.
as_list
()[
3
]
==
3
:
# Input images are expected to be in the range [0, 255].
channel_offset
=
[
0.485
,
0.456
,
0.406
]
channel_scale
=
[
0.229
,
0.224
,
0.225
]
return
((
inputs
/
255.0
)
-
[[
channel_offset
]])
/
[[
channel_scale
]]
else
:
return
inputs
def
_extract_features
(
self
,
preprocessed_inputs
):
"""Extract features from preprocessed inputs.
Args:
preprocessed_inputs: a [batch, height, width, channels] float tensor
representing a batch of images.
Returns:
feature_maps: a list of tensors where the ith tensor has shape
[batch, height_i, width_i, depth_i]
"""
preprocessed_inputs
=
shape_utils
.
check_min_image_dim
(
129
,
preprocessed_inputs
)
base_feature_maps
=
self
.
_efficientnet
(
ops
.
pad_to_multiple
(
preprocessed_inputs
,
self
.
_pad_to_multiple
))
output_feature_map_dict
=
self
.
_bifpn_stage
(
list
(
zip
(
self
.
_output_layer_alias
,
base_feature_maps
)))
return
list
(
output_feature_map_dict
.
values
())
class
SSDEfficientNetB0BiFPNKerasFeatureExtractor
(
SSDEfficientNetBiFPNKerasFeatureExtractor
):
"""SSD Keras EfficientNet-b0 BiFPN (EfficientDet-d0) Feature Extractor."""
def
__init__
(
self
,
is_training
,
depth_multiplier
,
min_depth
,
pad_to_multiple
,
conv_hyperparams
,
freeze_batchnorm
,
inplace_batchnorm_update
,
bifpn_min_level
=
3
,
bifpn_max_level
=
7
,
bifpn_num_iterations
=
3
,
bifpn_num_filters
=
64
,
bifpn_combine_method
=
'fast_attention'
,
use_explicit_padding
=
None
,
use_depthwise
=
None
,
override_base_feature_extractor_hyperparams
=
None
,
name
=
'EfficientDet-D0'
):
"""SSD Keras EfficientNet-b0 BiFPN (EfficientDet-d0) Feature Extractor.
Args:
is_training: whether the network is in training mode.
depth_multiplier: unsupported by EfficientNetBiFPN. float, depth
multiplier for the feature extractor.
min_depth: minimum feature extractor depth.
pad_to_multiple: the nearest multiple to zero pad the input height and
width dimensions to.
conv_hyperparams: a `hyperparams_builder.KerasLayerHyperparams` object
containing convolution hyperparameters for the layers added on top of
the base feature extractor.
freeze_batchnorm: whether to freeze batch norm parameters during training
or not. When training with a small batch size (e.g. 1), it is desirable
to freeze batch norm update and use pretrained batch norm params.
inplace_batchnorm_update: whether to update batch norm moving average
values inplace. When this is false train op must add a control
dependency on tf.graphkeys.UPDATE_OPS collection in order to update
batch norm statistics.
bifpn_min_level: the highest resolution feature map to use in BiFPN. The
valid values are {2, 3, 4, 5} which map to Resnet blocks {1, 2, 3, 4}
respectively.
bifpn_max_level: the smallest resolution feature map to use in the BiFPN.
BiFPN constructions uses features maps starting from bifpn_min_level
upto the bifpn_max_level. In the case that there are not enough feature
maps in the backbone network, additional feature maps are created by
applying stride 2 convolutions until we get the desired number of BiFPN
levels.
bifpn_num_iterations: number of BiFPN iterations. Overrided if
efficientdet_version is provided.
bifpn_num_filters: number of filters (channels) in all BiFPN layers.
Overrided if efficientdet_version is provided.
bifpn_combine_method: the method used to combine BiFPN nodes.
use_explicit_padding: unsupported by EfficientNetBiFPN. Whether to use
explicit padding when extracting features.
use_depthwise: unsupported by EfficientNetBiFPN, since BiFPN uses regular
convolutions when inputs to a node have a differing number of channels,
and use separable convolutions after combine operations.
override_base_feature_extractor_hyperparams: unsupported. Whether to
override hyperparameters of the base feature extractor with the one from
`conv_hyperparams`.
name: a string name scope to assign to the model. If 'None', Keras will
auto-generate one from the class name.
"""
super
(
SSDEfficientNetB0BiFPNKerasFeatureExtractor
,
self
).
__init__
(
is_training
=
is_training
,
depth_multiplier
=
depth_multiplier
,
min_depth
=
min_depth
,
pad_to_multiple
=
pad_to_multiple
,
conv_hyperparams
=
conv_hyperparams
,
freeze_batchnorm
=
freeze_batchnorm
,
inplace_batchnorm_update
=
inplace_batchnorm_update
,
bifpn_min_level
=
bifpn_min_level
,
bifpn_max_level
=
bifpn_max_level
,
bifpn_num_iterations
=
bifpn_num_iterations
,
bifpn_num_filters
=
bifpn_num_filters
,
bifpn_combine_method
=
bifpn_combine_method
,
efficientnet_version
=
'efficientnet-b0'
,
use_explicit_padding
=
use_explicit_padding
,
use_depthwise
=
use_depthwise
,
override_base_feature_extractor_hyperparams
=
override_base_feature_extractor_hyperparams
,
name
=
name
)
class
SSDEfficientNetB1BiFPNKerasFeatureExtractor
(
SSDEfficientNetBiFPNKerasFeatureExtractor
):
"""SSD Keras EfficientNet-b1 BiFPN (EfficientDet-d1) Feature Extractor."""
def
__init__
(
self
,
is_training
,
depth_multiplier
,
min_depth
,
pad_to_multiple
,
conv_hyperparams
,
freeze_batchnorm
,
inplace_batchnorm_update
,
bifpn_min_level
=
3
,
bifpn_max_level
=
7
,
bifpn_num_iterations
=
4
,
bifpn_num_filters
=
88
,
bifpn_combine_method
=
'fast_attention'
,
use_explicit_padding
=
None
,
use_depthwise
=
None
,
override_base_feature_extractor_hyperparams
=
None
,
name
=
'EfficientDet-D1'
):
"""SSD Keras EfficientNet-b1 BiFPN (EfficientDet-d1) Feature Extractor.
Args:
is_training: whether the network is in training mode.
depth_multiplier: unsupported by EfficientNetBiFPN. float, depth
multiplier for the feature extractor.
min_depth: minimum feature extractor depth.
pad_to_multiple: the nearest multiple to zero pad the input height and
width dimensions to.
conv_hyperparams: a `hyperparams_builder.KerasLayerHyperparams` object
containing convolution hyperparameters for the layers added on top of
the base feature extractor.
freeze_batchnorm: whether to freeze batch norm parameters during training
or not. When training with a small batch size (e.g. 1), it is desirable
to freeze batch norm update and use pretrained batch norm params.
inplace_batchnorm_update: whether to update batch norm moving average
values inplace. When this is false train op must add a control
dependency on tf.graphkeys.UPDATE_OPS collection in order to update
batch norm statistics.
bifpn_min_level: the highest resolution feature map to use in BiFPN. The
valid values are {2, 3, 4, 5} which map to Resnet blocks {1, 2, 3, 4}
respectively.
bifpn_max_level: the smallest resolution feature map to use in the BiFPN.
BiFPN constructions uses features maps starting from bifpn_min_level
upto the bifpn_max_level. In the case that there are not enough feature
maps in the backbone network, additional feature maps are created by
applying stride 2 convolutions until we get the desired number of BiFPN
levels.
bifpn_num_iterations: number of BiFPN iterations. Overrided if
efficientdet_version is provided.
bifpn_num_filters: number of filters (channels) in all BiFPN layers.
Overrided if efficientdet_version is provided.
bifpn_combine_method: the method used to combine BiFPN nodes.
use_explicit_padding: unsupported by EfficientNetBiFPN. Whether to use
explicit padding when extracting features.
use_depthwise: unsupported by EfficientNetBiFPN, since BiFPN uses regular
convolutions when inputs to a node have a differing number of channels,
and use separable convolutions after combine operations.
override_base_feature_extractor_hyperparams: unsupported. Whether to
override hyperparameters of the base feature extractor with the one from
`conv_hyperparams`.
name: a string name scope to assign to the model. If 'None', Keras will
auto-generate one from the class name.
"""
super
(
SSDEfficientNetB1BiFPNKerasFeatureExtractor
,
self
).
__init__
(
is_training
=
is_training
,
depth_multiplier
=
depth_multiplier
,
min_depth
=
min_depth
,
pad_to_multiple
=
pad_to_multiple
,
conv_hyperparams
=
conv_hyperparams
,
freeze_batchnorm
=
freeze_batchnorm
,
inplace_batchnorm_update
=
inplace_batchnorm_update
,
bifpn_min_level
=
bifpn_min_level
,
bifpn_max_level
=
bifpn_max_level
,
bifpn_num_iterations
=
bifpn_num_iterations
,
bifpn_num_filters
=
bifpn_num_filters
,
bifpn_combine_method
=
bifpn_combine_method
,
efficientnet_version
=
'efficientnet-b1'
,
use_explicit_padding
=
use_explicit_padding
,
use_depthwise
=
use_depthwise
,
override_base_feature_extractor_hyperparams
=
override_base_feature_extractor_hyperparams
,
name
=
name
)
class
SSDEfficientNetB2BiFPNKerasFeatureExtractor
(
SSDEfficientNetBiFPNKerasFeatureExtractor
):
"""SSD Keras EfficientNet-b2 BiFPN (EfficientDet-d2) Feature Extractor."""
def
__init__
(
self
,
is_training
,
depth_multiplier
,
min_depth
,
pad_to_multiple
,
conv_hyperparams
,
freeze_batchnorm
,
inplace_batchnorm_update
,
bifpn_min_level
=
3
,
bifpn_max_level
=
7
,
bifpn_num_iterations
=
5
,
bifpn_num_filters
=
112
,
bifpn_combine_method
=
'fast_attention'
,
use_explicit_padding
=
None
,
use_depthwise
=
None
,
override_base_feature_extractor_hyperparams
=
None
,
name
=
'EfficientDet-D2'
):
"""SSD Keras EfficientNet-b2 BiFPN (EfficientDet-d2) Feature Extractor.
Args:
is_training: whether the network is in training mode.
depth_multiplier: unsupported by EfficientNetBiFPN. float, depth
multiplier for the feature extractor.
min_depth: minimum feature extractor depth.
pad_to_multiple: the nearest multiple to zero pad the input height and
width dimensions to.
conv_hyperparams: a `hyperparams_builder.KerasLayerHyperparams` object
containing convolution hyperparameters for the layers added on top of
the base feature extractor.
freeze_batchnorm: whether to freeze batch norm parameters during training
or not. When training with a small batch size (e.g. 1), it is desirable
to freeze batch norm update and use pretrained batch norm params.
inplace_batchnorm_update: whether to update batch norm moving average
values inplace. When this is false train op must add a control
dependency on tf.graphkeys.UPDATE_OPS collection in order to update
batch norm statistics.
bifpn_min_level: the highest resolution feature map to use in BiFPN. The
valid values are {2, 3, 4, 5} which map to Resnet blocks {1, 2, 3, 4}
respectively.
bifpn_max_level: the smallest resolution feature map to use in the BiFPN.
BiFPN constructions uses features maps starting from bifpn_min_level
upto the bifpn_max_level. In the case that there are not enough feature
maps in the backbone network, additional feature maps are created by
applying stride 2 convolutions until we get the desired number of BiFPN
levels.
bifpn_num_iterations: number of BiFPN iterations. Overrided if
efficientdet_version is provided.
bifpn_num_filters: number of filters (channels) in all BiFPN layers.
Overrided if efficientdet_version is provided.
bifpn_combine_method: the method used to combine BiFPN nodes.
use_explicit_padding: unsupported by EfficientNetBiFPN. Whether to use
explicit padding when extracting features.
use_depthwise: unsupported by EfficientNetBiFPN, since BiFPN uses regular
convolutions when inputs to a node have a differing number of channels,
and use separable convolutions after combine operations.
override_base_feature_extractor_hyperparams: unsupported. Whether to
override hyperparameters of the base feature extractor with the one from
`conv_hyperparams`.
name: a string name scope to assign to the model. If 'None', Keras will
auto-generate one from the class name.
"""
super
(
SSDEfficientNetB2BiFPNKerasFeatureExtractor
,
self
).
__init__
(
is_training
=
is_training
,
depth_multiplier
=
depth_multiplier
,
min_depth
=
min_depth
,
pad_to_multiple
=
pad_to_multiple
,
conv_hyperparams
=
conv_hyperparams
,
freeze_batchnorm
=
freeze_batchnorm
,
inplace_batchnorm_update
=
inplace_batchnorm_update
,
bifpn_min_level
=
bifpn_min_level
,
bifpn_max_level
=
bifpn_max_level
,
bifpn_num_iterations
=
bifpn_num_iterations
,
bifpn_num_filters
=
bifpn_num_filters
,
bifpn_combine_method
=
bifpn_combine_method
,
efficientnet_version
=
'efficientnet-b2'
,
use_explicit_padding
=
use_explicit_padding
,
use_depthwise
=
use_depthwise
,
override_base_feature_extractor_hyperparams
=
override_base_feature_extractor_hyperparams
,
name
=
name
)
class
SSDEfficientNetB3BiFPNKerasFeatureExtractor
(
SSDEfficientNetBiFPNKerasFeatureExtractor
):
"""SSD Keras EfficientNet-b3 BiFPN (EfficientDet-d3) Feature Extractor."""
def
__init__
(
self
,
is_training
,
depth_multiplier
,
min_depth
,
pad_to_multiple
,
conv_hyperparams
,
freeze_batchnorm
,
inplace_batchnorm_update
,
bifpn_min_level
=
3
,
bifpn_max_level
=
7
,
bifpn_num_iterations
=
6
,
bifpn_num_filters
=
160
,
bifpn_combine_method
=
'fast_attention'
,
use_explicit_padding
=
None
,
use_depthwise
=
None
,
override_base_feature_extractor_hyperparams
=
None
,
name
=
'EfficientDet-D3'
):
"""SSD Keras EfficientNet-b3 BiFPN (EfficientDet-d3) Feature Extractor.
Args:
is_training: whether the network is in training mode.
depth_multiplier: unsupported by EfficientNetBiFPN. float, depth
multiplier for the feature extractor.
min_depth: minimum feature extractor depth.
pad_to_multiple: the nearest multiple to zero pad the input height and
width dimensions to.
conv_hyperparams: a `hyperparams_builder.KerasLayerHyperparams` object
containing convolution hyperparameters for the layers added on top of
the base feature extractor.
freeze_batchnorm: whether to freeze batch norm parameters during training
or not. When training with a small batch size (e.g. 1), it is desirable
to freeze batch norm update and use pretrained batch norm params.
inplace_batchnorm_update: whether to update batch norm moving average
values inplace. When this is false train op must add a control
dependency on tf.graphkeys.UPDATE_OPS collection in order to update
batch norm statistics.
bifpn_min_level: the highest resolution feature map to use in BiFPN. The
valid values are {2, 3, 4, 5} which map to Resnet blocks {1, 2, 3, 4}
respectively.
bifpn_max_level: the smallest resolution feature map to use in the BiFPN.
BiFPN constructions uses features maps starting from bifpn_min_level
upto the bifpn_max_level. In the case that there are not enough feature
maps in the backbone network, additional feature maps are created by
applying stride 2 convolutions until we get the desired number of BiFPN
levels.
bifpn_num_iterations: number of BiFPN iterations. Overrided if
efficientdet_version is provided.
bifpn_num_filters: number of filters (channels) in all BiFPN layers.
Overrided if efficientdet_version is provided.
bifpn_combine_method: the method used to combine BiFPN nodes.
use_explicit_padding: unsupported by EfficientNetBiFPN. Whether to use
explicit padding when extracting features.
use_depthwise: unsupported by EfficientNetBiFPN, since BiFPN uses regular
convolutions when inputs to a node have a differing number of channels,
and use separable convolutions after combine operations.
override_base_feature_extractor_hyperparams: unsupported. Whether to
override hyperparameters of the base feature extractor with the one from
`conv_hyperparams`.
name: a string name scope to assign to the model. If 'None', Keras will
auto-generate one from the class name.
"""
super
(
SSDEfficientNetB3BiFPNKerasFeatureExtractor
,
self
).
__init__
(
is_training
=
is_training
,
depth_multiplier
=
depth_multiplier
,
min_depth
=
min_depth
,
pad_to_multiple
=
pad_to_multiple
,
conv_hyperparams
=
conv_hyperparams
,
freeze_batchnorm
=
freeze_batchnorm
,
inplace_batchnorm_update
=
inplace_batchnorm_update
,
bifpn_min_level
=
bifpn_min_level
,
bifpn_max_level
=
bifpn_max_level
,
bifpn_num_iterations
=
bifpn_num_iterations
,
bifpn_num_filters
=
bifpn_num_filters
,
bifpn_combine_method
=
bifpn_combine_method
,
efficientnet_version
=
'efficientnet-b3'
,
use_explicit_padding
=
use_explicit_padding
,
use_depthwise
=
use_depthwise
,
override_base_feature_extractor_hyperparams
=
override_base_feature_extractor_hyperparams
,
name
=
name
)
class
SSDEfficientNetB4BiFPNKerasFeatureExtractor
(
SSDEfficientNetBiFPNKerasFeatureExtractor
):
"""SSD Keras EfficientNet-b4 BiFPN (EfficientDet-d4) Feature Extractor."""
def
__init__
(
self
,
is_training
,
depth_multiplier
,
min_depth
,
pad_to_multiple
,
conv_hyperparams
,
freeze_batchnorm
,
inplace_batchnorm_update
,
bifpn_min_level
=
3
,
bifpn_max_level
=
7
,
bifpn_num_iterations
=
7
,
bifpn_num_filters
=
224
,
bifpn_combine_method
=
'fast_attention'
,
use_explicit_padding
=
None
,
use_depthwise
=
None
,
override_base_feature_extractor_hyperparams
=
None
,
name
=
'EfficientDet-D4'
):
"""SSD Keras EfficientNet-b4 BiFPN (EfficientDet-d4) Feature Extractor.
Args:
is_training: whether the network is in training mode.
depth_multiplier: unsupported by EfficientNetBiFPN. float, depth
multiplier for the feature extractor.
min_depth: minimum feature extractor depth.
pad_to_multiple: the nearest multiple to zero pad the input height and
width dimensions to.
conv_hyperparams: a `hyperparams_builder.KerasLayerHyperparams` object
containing convolution hyperparameters for the layers added on top of
the base feature extractor.
freeze_batchnorm: whether to freeze batch norm parameters during training
or not. When training with a small batch size (e.g. 1), it is desirable
to freeze batch norm update and use pretrained batch norm params.
inplace_batchnorm_update: whether to update batch norm moving average
values inplace. When this is false train op must add a control
dependency on tf.graphkeys.UPDATE_OPS collection in order to update
batch norm statistics.
bifpn_min_level: the highest resolution feature map to use in BiFPN. The
valid values are {2, 3, 4, 5} which map to Resnet blocks {1, 2, 3, 4}
respectively.
bifpn_max_level: the smallest resolution feature map to use in the BiFPN.
BiFPN constructions uses features maps starting from bifpn_min_level
upto the bifpn_max_level. In the case that there are not enough feature
maps in the backbone network, additional feature maps are created by
applying stride 2 convolutions until we get the desired number of BiFPN
levels.
bifpn_num_iterations: number of BiFPN iterations. Overrided if
efficientdet_version is provided.
bifpn_num_filters: number of filters (channels) in all BiFPN layers.
Overrided if efficientdet_version is provided.
bifpn_combine_method: the method used to combine BiFPN nodes.
use_explicit_padding: unsupported by EfficientNetBiFPN. Whether to use
explicit padding when extracting features.
use_depthwise: unsupported by EfficientNetBiFPN, since BiFPN uses regular
convolutions when inputs to a node have a differing number of channels,
and use separable convolutions after combine operations.
override_base_feature_extractor_hyperparams: unsupported. Whether to
override hyperparameters of the base feature extractor with the one from
`conv_hyperparams`.
name: a string name scope to assign to the model. If 'None', Keras will
auto-generate one from the class name.
"""
super
(
SSDEfficientNetB4BiFPNKerasFeatureExtractor
,
self
).
__init__
(
is_training
=
is_training
,
depth_multiplier
=
depth_multiplier
,
min_depth
=
min_depth
,
pad_to_multiple
=
pad_to_multiple
,
conv_hyperparams
=
conv_hyperparams
,
freeze_batchnorm
=
freeze_batchnorm
,
inplace_batchnorm_update
=
inplace_batchnorm_update
,
bifpn_min_level
=
bifpn_min_level
,
bifpn_max_level
=
bifpn_max_level
,
bifpn_num_iterations
=
bifpn_num_iterations
,
bifpn_num_filters
=
bifpn_num_filters
,
bifpn_combine_method
=
bifpn_combine_method
,
efficientnet_version
=
'efficientnet-b4'
,
use_explicit_padding
=
use_explicit_padding
,
use_depthwise
=
use_depthwise
,
override_base_feature_extractor_hyperparams
=
override_base_feature_extractor_hyperparams
,
name
=
name
)
class
SSDEfficientNetB5BiFPNKerasFeatureExtractor
(
SSDEfficientNetBiFPNKerasFeatureExtractor
):
"""SSD Keras EfficientNet-b5 BiFPN (EfficientDet-d5) Feature Extractor."""
def
__init__
(
self
,
is_training
,
depth_multiplier
,
min_depth
,
pad_to_multiple
,
conv_hyperparams
,
freeze_batchnorm
,
inplace_batchnorm_update
,
bifpn_min_level
=
3
,
bifpn_max_level
=
7
,
bifpn_num_iterations
=
7
,
bifpn_num_filters
=
288
,
bifpn_combine_method
=
'fast_attention'
,
use_explicit_padding
=
None
,
use_depthwise
=
None
,
override_base_feature_extractor_hyperparams
=
None
,
name
=
'EfficientDet-D5'
):
"""SSD Keras EfficientNet-b5 BiFPN (EfficientDet-d5) Feature Extractor.
Args:
is_training: whether the network is in training mode.
depth_multiplier: unsupported by EfficientNetBiFPN. float, depth
multiplier for the feature extractor.
min_depth: minimum feature extractor depth.
pad_to_multiple: the nearest multiple to zero pad the input height and
width dimensions to.
conv_hyperparams: a `hyperparams_builder.KerasLayerHyperparams` object
containing convolution hyperparameters for the layers added on top of
the base feature extractor.
freeze_batchnorm: whether to freeze batch norm parameters during training
or not. When training with a small batch size (e.g. 1), it is desirable
to freeze batch norm update and use pretrained batch norm params.
inplace_batchnorm_update: whether to update batch norm moving average
values inplace. When this is false train op must add a control
dependency on tf.graphkeys.UPDATE_OPS collection in order to update
batch norm statistics.
bifpn_min_level: the highest resolution feature map to use in BiFPN. The
valid values are {2, 3, 4, 5} which map to Resnet blocks {1, 2, 3, 4}
respectively.
bifpn_max_level: the smallest resolution feature map to use in the BiFPN.
BiFPN constructions uses features maps starting from bifpn_min_level
upto the bifpn_max_level. In the case that there are not enough feature
maps in the backbone network, additional feature maps are created by
applying stride 2 convolutions until we get the desired number of BiFPN
levels.
bifpn_num_iterations: number of BiFPN iterations. Overrided if
efficientdet_version is provided.
bifpn_num_filters: number of filters (channels) in all BiFPN layers.
Overrided if efficientdet_version is provided.
bifpn_combine_method: the method used to combine BiFPN nodes.
use_explicit_padding: unsupported by EfficientNetBiFPN. Whether to use
explicit padding when extracting features.
use_depthwise: unsupported by EfficientNetBiFPN, since BiFPN uses regular
convolutions when inputs to a node have a differing number of channels,
and use separable convolutions after combine operations.
override_base_feature_extractor_hyperparams: unsupported. Whether to
override hyperparameters of the base feature extractor with the one from
`conv_hyperparams`.
name: a string name scope to assign to the model. If 'None', Keras will
auto-generate one from the class name.
"""
super
(
SSDEfficientNetB5BiFPNKerasFeatureExtractor
,
self
).
__init__
(
is_training
=
is_training
,
depth_multiplier
=
depth_multiplier
,
min_depth
=
min_depth
,
pad_to_multiple
=
pad_to_multiple
,
conv_hyperparams
=
conv_hyperparams
,
freeze_batchnorm
=
freeze_batchnorm
,
inplace_batchnorm_update
=
inplace_batchnorm_update
,
bifpn_min_level
=
bifpn_min_level
,
bifpn_max_level
=
bifpn_max_level
,
bifpn_num_iterations
=
bifpn_num_iterations
,
bifpn_num_filters
=
bifpn_num_filters
,
bifpn_combine_method
=
bifpn_combine_method
,
efficientnet_version
=
'efficientnet-b5'
,
use_explicit_padding
=
use_explicit_padding
,
use_depthwise
=
use_depthwise
,
override_base_feature_extractor_hyperparams
=
override_base_feature_extractor_hyperparams
,
name
=
name
)
class
SSDEfficientNetB6BiFPNKerasFeatureExtractor
(
SSDEfficientNetBiFPNKerasFeatureExtractor
):
"""SSD Keras EfficientNet-b6 BiFPN (EfficientDet-d[6,7]) Feature Extractor."""
def
__init__
(
self
,
is_training
,
depth_multiplier
,
min_depth
,
pad_to_multiple
,
conv_hyperparams
,
freeze_batchnorm
,
inplace_batchnorm_update
,
bifpn_min_level
=
3
,
bifpn_max_level
=
7
,
bifpn_num_iterations
=
8
,
bifpn_num_filters
=
384
,
bifpn_combine_method
=
'sum'
,
use_explicit_padding
=
None
,
use_depthwise
=
None
,
override_base_feature_extractor_hyperparams
=
None
,
name
=
'EfficientDet-D6-D7'
):
"""SSD Keras EfficientNet-b6 BiFPN (EfficientDet-d[6,7]) Feature Extractor.
SSD Keras EfficientNet-b6 BiFPN Feature Extractor, a.k.a. EfficientDet-d6
and EfficientDet-d7. The EfficientDet-d[6,7] models use the same backbone
EfficientNet-b6 and the same BiFPN architecture, and therefore have the same
number of parameters. They only differ in their input resolutions.
Args:
is_training: whether the network is in training mode.
depth_multiplier: unsupported by EfficientNetBiFPN. float, depth
multiplier for the feature extractor.
min_depth: minimum feature extractor depth.
pad_to_multiple: the nearest multiple to zero pad the input height and
width dimensions to.
conv_hyperparams: a `hyperparams_builder.KerasLayerHyperparams` object
containing convolution hyperparameters for the layers added on top of
the base feature extractor.
freeze_batchnorm: whether to freeze batch norm parameters during training
or not. When training with a small batch size (e.g. 1), it is desirable
to freeze batch norm update and use pretrained batch norm params.
inplace_batchnorm_update: whether to update batch norm moving average
values inplace. When this is false train op must add a control
dependency on tf.graphkeys.UPDATE_OPS collection in order to update
batch norm statistics.
bifpn_min_level: the highest resolution feature map to use in BiFPN. The
valid values are {2, 3, 4, 5} which map to Resnet blocks {1, 2, 3, 4}
respectively.
bifpn_max_level: the smallest resolution feature map to use in the BiFPN.
BiFPN constructions uses features maps starting from bifpn_min_level
upto the bifpn_max_level. In the case that there are not enough feature
maps in the backbone network, additional feature maps are created by
applying stride 2 convolutions until we get the desired number of BiFPN
levels.
bifpn_num_iterations: number of BiFPN iterations. Overrided if
efficientdet_version is provided.
bifpn_num_filters: number of filters (channels) in all BiFPN layers.
Overrided if efficientdet_version is provided.
bifpn_combine_method: the method used to combine BiFPN nodes.
use_explicit_padding: unsupported by EfficientNetBiFPN. Whether to use
explicit padding when extracting features.
use_depthwise: unsupported by EfficientNetBiFPN, since BiFPN uses regular
convolutions when inputs to a node have a differing number of channels,
and use separable convolutions after combine operations.
override_base_feature_extractor_hyperparams: unsupported. Whether to
override hyperparameters of the base feature extractor with the one from
`conv_hyperparams`.
name: a string name scope to assign to the model. If 'None', Keras will
auto-generate one from the class name.
"""
super
(
SSDEfficientNetB6BiFPNKerasFeatureExtractor
,
self
).
__init__
(
is_training
=
is_training
,
depth_multiplier
=
depth_multiplier
,
min_depth
=
min_depth
,
pad_to_multiple
=
pad_to_multiple
,
conv_hyperparams
=
conv_hyperparams
,
freeze_batchnorm
=
freeze_batchnorm
,
inplace_batchnorm_update
=
inplace_batchnorm_update
,
bifpn_min_level
=
bifpn_min_level
,
bifpn_max_level
=
bifpn_max_level
,
bifpn_num_iterations
=
bifpn_num_iterations
,
bifpn_num_filters
=
bifpn_num_filters
,
bifpn_combine_method
=
bifpn_combine_method
,
efficientnet_version
=
'efficientnet-b6'
,
use_explicit_padding
=
use_explicit_padding
,
use_depthwise
=
use_depthwise
,
override_base_feature_extractor_hyperparams
=
override_base_feature_extractor_hyperparams
,
name
=
name
)
class
SSDEfficientNetB7BiFPNKerasFeatureExtractor
(
SSDEfficientNetBiFPNKerasFeatureExtractor
):
"""SSD Keras EfficientNet-b7 BiFPN Feature Extractor."""
def
__init__
(
self
,
is_training
,
depth_multiplier
,
min_depth
,
pad_to_multiple
,
conv_hyperparams
,
freeze_batchnorm
,
inplace_batchnorm_update
,
bifpn_min_level
=
3
,
bifpn_max_level
=
7
,
bifpn_num_iterations
=
8
,
bifpn_num_filters
=
384
,
bifpn_combine_method
=
'sum'
,
use_explicit_padding
=
None
,
use_depthwise
=
None
,
override_base_feature_extractor_hyperparams
=
None
,
name
=
'EfficientNet-B7_BiFPN'
):
"""SSD Keras EfficientNet-b7 BiFPN Feature Extractor.
Args:
is_training: whether the network is in training mode.
depth_multiplier: unsupported by EfficientNetBiFPN. float, depth
multiplier for the feature extractor.
min_depth: minimum feature extractor depth.
pad_to_multiple: the nearest multiple to zero pad the input height and
width dimensions to.
conv_hyperparams: a `hyperparams_builder.KerasLayerHyperparams` object
containing convolution hyperparameters for the layers added on top of
the base feature extractor.
freeze_batchnorm: whether to freeze batch norm parameters during training
or not. When training with a small batch size (e.g. 1), it is desirable
to freeze batch norm update and use pretrained batch norm params.
inplace_batchnorm_update: whether to update batch norm moving average
values inplace. When this is false train op must add a control
dependency on tf.graphkeys.UPDATE_OPS collection in order to update
batch norm statistics.
bifpn_min_level: the highest resolution feature map to use in BiFPN. The
valid values are {2, 3, 4, 5} which map to Resnet blocks {1, 2, 3, 4}
respectively.
bifpn_max_level: the smallest resolution feature map to use in the BiFPN.
BiFPN constructions uses features maps starting from bifpn_min_level
upto the bifpn_max_level. In the case that there are not enough feature
maps in the backbone network, additional feature maps are created by
applying stride 2 convolutions until we get the desired number of BiFPN
levels.
bifpn_num_iterations: number of BiFPN iterations. Overrided if
efficientdet_version is provided.
bifpn_num_filters: number of filters (channels) in all BiFPN layers.
Overrided if efficientdet_version is provided.
bifpn_combine_method: the method used to combine BiFPN nodes.
use_explicit_padding: unsupported by EfficientNetBiFPN. Whether to use
explicit padding when extracting features.
use_depthwise: unsupported by EfficientNetBiFPN, since BiFPN uses regular
convolutions when inputs to a node have a differing number of channels,
and use separable convolutions after combine operations.
override_base_feature_extractor_hyperparams: unsupported. Whether to
override hyperparameters of the base feature extractor with the one from
`conv_hyperparams`.
name: a string name scope to assign to the model. If 'None', Keras will
auto-generate one from the class name.
"""
super
(
SSDEfficientNetB7BiFPNKerasFeatureExtractor
,
self
).
__init__
(
is_training
=
is_training
,
depth_multiplier
=
depth_multiplier
,
min_depth
=
min_depth
,
pad_to_multiple
=
pad_to_multiple
,
conv_hyperparams
=
conv_hyperparams
,
freeze_batchnorm
=
freeze_batchnorm
,
inplace_batchnorm_update
=
inplace_batchnorm_update
,
bifpn_min_level
=
bifpn_min_level
,
bifpn_max_level
=
bifpn_max_level
,
bifpn_num_iterations
=
bifpn_num_iterations
,
bifpn_num_filters
=
bifpn_num_filters
,
bifpn_combine_method
=
bifpn_combine_method
,
efficientnet_version
=
'efficientnet-b7'
,
use_explicit_padding
=
use_explicit_padding
,
use_depthwise
=
use_depthwise
,
override_base_feature_extractor_hyperparams
=
override_base_feature_extractor_hyperparams
,
name
=
name
)
research/object_detection/models/ssd_efficientnet_bifpn_feature_extractor_tf2_test.py
0 → 100644
View file @
31ca3b97
# Copyright 2020 The TensorFlow Authors. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# ==============================================================================
"""Tests for the ssd_efficientnet_bifpn_feature_extractor."""
import
unittest
from
absl.testing
import
parameterized
import
numpy
as
np
import
tensorflow.compat.v2
as
tf
from
google.protobuf
import
text_format
from
object_detection.builders
import
hyperparams_builder
from
object_detection.models
import
ssd_efficientnet_bifpn_feature_extractor
from
object_detection.protos
import
hyperparams_pb2
from
object_detection.utils
import
test_case
from
object_detection.utils
import
tf_version
def
_count_params
(
model
,
trainable_only
=
True
):
"""Returns the count of all model parameters, or just trainable ones."""
if
not
trainable_only
:
return
model
.
count_params
()
else
:
return
int
(
np
.
sum
([
tf
.
keras
.
backend
.
count_params
(
p
)
for
p
in
model
.
trainable_weights
]))
@
parameterized
.
parameters
(
{
'efficientdet_version'
:
'efficientdet-d0'
,
'efficientnet_version'
:
'efficientnet-b0'
,
'bifpn_num_iterations'
:
3
,
'bifpn_num_filters'
:
64
,
'bifpn_combine_method'
:
'fast_attention'
},
{
'efficientdet_version'
:
'efficientdet-d1'
,
'efficientnet_version'
:
'efficientnet-b1'
,
'bifpn_num_iterations'
:
4
,
'bifpn_num_filters'
:
88
,
'bifpn_combine_method'
:
'fast_attention'
},
{
'efficientdet_version'
:
'efficientdet-d2'
,
'efficientnet_version'
:
'efficientnet-b2'
,
'bifpn_num_iterations'
:
5
,
'bifpn_num_filters'
:
112
,
'bifpn_combine_method'
:
'fast_attention'
},
{
'efficientdet_version'
:
'efficientdet-d3'
,
'efficientnet_version'
:
'efficientnet-b3'
,
'bifpn_num_iterations'
:
6
,
'bifpn_num_filters'
:
160
,
'bifpn_combine_method'
:
'fast_attention'
},
{
'efficientdet_version'
:
'efficientdet-d4'
,
'efficientnet_version'
:
'efficientnet-b4'
,
'bifpn_num_iterations'
:
7
,
'bifpn_num_filters'
:
224
,
'bifpn_combine_method'
:
'fast_attention'
},
{
'efficientdet_version'
:
'efficientdet-d5'
,
'efficientnet_version'
:
'efficientnet-b5'
,
'bifpn_num_iterations'
:
7
,
'bifpn_num_filters'
:
288
,
'bifpn_combine_method'
:
'fast_attention'
},
# efficientdet-d6 and efficientdet-d7 only differ in input size.
{
'efficientdet_version'
:
'efficientdet-d6-d7'
,
'efficientnet_version'
:
'efficientnet-b6'
,
'bifpn_num_iterations'
:
8
,
'bifpn_num_filters'
:
384
,
'bifpn_combine_method'
:
'sum'
})
@
unittest
.
skipIf
(
tf_version
.
is_tf1
(),
'Skipping TF2.X only test.'
)
class
SSDEfficientNetBiFPNFeatureExtractorTest
(
test_case
.
TestCase
,
parameterized
.
TestCase
):
def
_build_conv_hyperparams
(
self
,
add_batch_norm
=
True
):
conv_hyperparams
=
hyperparams_pb2
.
Hyperparams
()
conv_hyperparams_text_proto
=
"""
force_use_bias: true
activation: SWISH
regularizer {
l2_regularizer {
weight: 0.0004
}
}
initializer {
truncated_normal_initializer {
stddev: 0.03
mean: 0.0
}
}
"""
if
add_batch_norm
:
batch_norm_proto
=
"""
batch_norm {
scale: true,
decay: 0.99,
epsilon: 0.001,
}
"""
conv_hyperparams_text_proto
+=
batch_norm_proto
text_format
.
Merge
(
conv_hyperparams_text_proto
,
conv_hyperparams
)
return
hyperparams_builder
.
KerasLayerHyperparams
(
conv_hyperparams
)
def
_create_feature_extractor
(
self
,
efficientnet_version
=
'efficientnet-b0'
,
bifpn_num_iterations
=
3
,
bifpn_num_filters
=
64
,
bifpn_combine_method
=
'fast_attention'
):
"""Constructs a new EfficientNetBiFPN feature extractor."""
depth_multiplier
=
1.0
pad_to_multiple
=
1
min_depth
=
16
return
(
ssd_efficientnet_bifpn_feature_extractor
.
SSDEfficientNetBiFPNKerasFeatureExtractor
(
is_training
=
True
,
depth_multiplier
=
depth_multiplier
,
min_depth
=
min_depth
,
pad_to_multiple
=
pad_to_multiple
,
conv_hyperparams
=
self
.
_build_conv_hyperparams
(),
freeze_batchnorm
=
False
,
inplace_batchnorm_update
=
False
,
bifpn_min_level
=
3
,
bifpn_max_level
=
7
,
bifpn_num_iterations
=
bifpn_num_iterations
,
bifpn_num_filters
=
bifpn_num_filters
,
bifpn_combine_method
=
bifpn_combine_method
,
efficientnet_version
=
efficientnet_version
))
def
test_efficientdet_feature_extractor_shapes
(
self
,
efficientdet_version
,
efficientnet_version
,
bifpn_num_iterations
,
bifpn_num_filters
,
bifpn_combine_method
):
feature_extractor
=
self
.
_create_feature_extractor
(
efficientnet_version
=
efficientnet_version
,
bifpn_num_iterations
=
bifpn_num_iterations
,
bifpn_num_filters
=
bifpn_num_filters
,
bifpn_combine_method
=
bifpn_combine_method
)
outputs
=
feature_extractor
(
np
.
zeros
((
2
,
256
,
256
,
3
),
dtype
=
np
.
float32
))
self
.
assertEqual
(
outputs
[
0
].
shape
,
(
2
,
32
,
32
,
bifpn_num_filters
))
self
.
assertEqual
(
outputs
[
1
].
shape
,
(
2
,
16
,
16
,
bifpn_num_filters
))
self
.
assertEqual
(
outputs
[
2
].
shape
,
(
2
,
8
,
8
,
bifpn_num_filters
))
self
.
assertEqual
(
outputs
[
3
].
shape
,
(
2
,
4
,
4
,
bifpn_num_filters
))
self
.
assertEqual
(
outputs
[
4
].
shape
,
(
2
,
2
,
2
,
bifpn_num_filters
))
def
test_efficientdet_feature_extractor_params
(
self
,
efficientdet_version
,
efficientnet_version
,
bifpn_num_iterations
,
bifpn_num_filters
,
bifpn_combine_method
):
feature_extractor
=
self
.
_create_feature_extractor
(
efficientnet_version
=
efficientnet_version
,
bifpn_num_iterations
=
bifpn_num_iterations
,
bifpn_num_filters
=
bifpn_num_filters
,
bifpn_combine_method
=
bifpn_combine_method
)
_
=
feature_extractor
(
np
.
zeros
((
2
,
256
,
256
,
3
),
dtype
=
np
.
float32
))
expected_params
=
{
'efficientdet-d0'
:
5484829
,
'efficientdet-d1'
:
8185156
,
'efficientdet-d2'
:
9818153
,
'efficientdet-d3'
:
13792706
,
'efficientdet-d4'
:
22691445
,
'efficientdet-d5'
:
35795677
,
'efficientdet-d6-d7'
:
53624512
,
}
num_params
=
_count_params
(
feature_extractor
)
self
.
assertEqual
(
expected_params
[
efficientdet_version
],
num_params
)
if
__name__
==
'__main__'
:
tf
.
test
.
main
()
research/object_detection/models/ssd_mobilenet_v1_keras_feature_extractor.py
View file @
31ca3b97
...
@@ -163,14 +163,3 @@ class SSDMobileNetV1KerasFeatureExtractor(
...
@@ -163,14 +163,3 @@ class SSDMobileNetV1KerasFeatureExtractor(
'Conv2d_13_pointwise'
:
image_features
[
1
]})
'Conv2d_13_pointwise'
:
image_features
[
1
]})
return
list
(
feature_maps
.
values
())
return
list
(
feature_maps
.
values
())
def
restore_from_classification_checkpoint_fn
(
self
,
feature_extractor_scope
):
"""Returns a map for restoring from an (object-based) checkpoint.
Args:
feature_extractor_scope: A scope name for the feature extractor (unused).
Returns:
A dict mapping keys to Keras models
"""
return
{
'feature_extractor'
:
self
.
classification_backbone
}
research/object_detection/models/ssd_mobilenet_v2_fpn_keras_feature_extractor.py
View file @
31ca3b97
...
@@ -241,14 +241,3 @@ class SSDMobileNetV2FpnKerasFeatureExtractor(
...
@@ -241,14 +241,3 @@ class SSDMobileNetV2FpnKerasFeatureExtractor(
last_feature_map
=
layer
(
last_feature_map
)
last_feature_map
=
layer
(
last_feature_map
)
feature_maps
.
append
(
last_feature_map
)
feature_maps
.
append
(
last_feature_map
)
return
feature_maps
return
feature_maps
def
restore_from_classification_checkpoint_fn
(
self
,
feature_extractor_scope
):
"""Returns a map for restoring from an (object-based) checkpoint.
Args:
feature_extractor_scope: A scope name for the feature extractor (unused).
Returns:
A dict mapping keys to Keras models
"""
return
{
'feature_extractor'
:
self
.
classification_backbone
}
research/object_detection/models/ssd_mobilenet_v2_keras_feature_extractor.py
View file @
31ca3b97
...
@@ -166,14 +166,3 @@ class SSDMobileNetV2KerasFeatureExtractor(
...
@@ -166,14 +166,3 @@ class SSDMobileNetV2KerasFeatureExtractor(
'layer_19'
:
image_features
[
1
]})
'layer_19'
:
image_features
[
1
]})
return
list
(
feature_maps
.
values
())
return
list
(
feature_maps
.
values
())
def
restore_from_classification_checkpoint_fn
(
self
,
feature_extractor_scope
):
"""Returns a map for restoring from an (object-based) checkpoint.
Args:
feature_extractor_scope: A scope name for the feature extractor (unused).
Returns:
A dict mapping keys to Keras models
"""
return
{
'feature_extractor'
:
self
.
classification_backbone
}
research/object_detection/models/ssd_resnet_v1_fpn_keras_feature_extractor.py
View file @
31ca3b97
...
@@ -246,17 +246,6 @@ class SSDResNetV1FpnKerasFeatureExtractor(
...
@@ -246,17 +246,6 @@ class SSDResNetV1FpnKerasFeatureExtractor(
feature_maps
.
append
(
last_feature_map
)
feature_maps
.
append
(
last_feature_map
)
return
feature_maps
return
feature_maps
def
restore_from_classification_checkpoint_fn
(
self
,
feature_extractor_scope
):
"""Returns a map for restoring from an (object-based) checkpoint.
Args:
feature_extractor_scope: A scope name for the feature extractor (unused).
Returns:
A dict mapping keys to Keras models
"""
return
{
'feature_extractor'
:
self
.
classification_backbone
}
class
SSDResNet50V1FpnKerasFeatureExtractor
(
class
SSDResNet50V1FpnKerasFeatureExtractor
(
SSDResNetV1FpnKerasFeatureExtractor
):
SSDResNetV1FpnKerasFeatureExtractor
):
...
...
research/object_detection/packages/tf1/setup.py
0 → 100644
View file @
31ca3b97
"""Setup script for object_detection with TF1.0."""
import
os
from
setuptools
import
find_packages
from
setuptools
import
setup
REQUIRED_PACKAGES
=
[
'apache-beam'
,
'pillow'
,
'lxml'
,
'matplotlib'
,
'Cython'
,
'contextlib2'
,
'tf-slim'
,
'six'
,
'pycocotools'
,
'scipy'
,
'pandas'
]
setup
(
name
=
'object_detection'
,
version
=
'0.1'
,
install_requires
=
REQUIRED_PACKAGES
,
include_package_data
=
True
,
packages
=
(
[
p
for
p
in
find_packages
()
if
p
.
startswith
(
'object_detection'
)]
+
find_packages
(
where
=
os
.
path
.
join
(
'.'
,
'slim'
))),
package_dir
=
{
'datasets'
:
os
.
path
.
join
(
'slim'
,
'datasets'
),
'nets'
:
os
.
path
.
join
(
'slim'
,
'nets'
),
'preprocessing'
:
os
.
path
.
join
(
'slim'
,
'preprocessing'
),
'deployment'
:
os
.
path
.
join
(
'slim'
,
'deployment'
),
'scripts'
:
os
.
path
.
join
(
'slim'
,
'scripts'
),
},
description
=
'Tensorflow Object Detection Library with TF1.0'
,
python_requires
=
'>3.6'
,
)
research/object_detection/packages/tf2/setup.py
0 → 100644
View file @
31ca3b97
"""Setup script for object_detection with TF2.0."""
import
os
from
setuptools
import
find_packages
from
setuptools
import
setup
# Note: adding apache-beam to required packages causes conflict with
# tf-models-offical requirements. These packages request for incompatible
# oauth2client package.
REQUIRED_PACKAGES
=
[
'pillow'
,
'lxml'
,
'matplotlib'
,
'Cython'
,
'contextlib2'
,
'tf-slim'
,
'six'
,
'pycocotools'
,
'scipy'
,
'pandas'
,
'tf-models-official'
]
setup
(
name
=
'object_detection'
,
version
=
'0.1'
,
install_requires
=
REQUIRED_PACKAGES
,
include_package_data
=
True
,
packages
=
(
[
p
for
p
in
find_packages
()
if
p
.
startswith
(
'object_detection'
)]
+
find_packages
(
where
=
os
.
path
.
join
(
'.'
,
'slim'
))),
package_dir
=
{
'datasets'
:
os
.
path
.
join
(
'slim'
,
'datasets'
),
'nets'
:
os
.
path
.
join
(
'slim'
,
'nets'
),
'preprocessing'
:
os
.
path
.
join
(
'slim'
,
'preprocessing'
),
'deployment'
:
os
.
path
.
join
(
'slim'
,
'deployment'
),
'scripts'
:
os
.
path
.
join
(
'slim'
,
'scripts'
),
},
description
=
'Tensorflow Object Detection Library'
,
python_requires
=
'>3.6'
,
)
Prev
1
…
12
13
14
15
16
17
18
19
20
Next
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