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 @@
import
tensorflow.compat.v1
as
tf
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_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'
,
'conv4_block6_out'
,
'conv5_block3_out'
],
'resnet_v1_101'
:
[
'conv2_block3_out'
,
'conv3_block4_out'
,
...
...
@@ -69,6 +74,10 @@ class CenterNetResnetV1FpnFeatureExtractor(CenterNetFeatureExtractor):
self
.
_base_model
=
tf
.
keras
.
applications
.
ResNet50
(
weights
=
None
)
elif
resnet_type
==
'resnet_v1_101'
:
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
:
raise
ValueError
(
'Unknown Resnet Model {}'
.
format
(
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):
channel_means
=
channel_means
,
channel_stds
=
channel_stds
,
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,
@
parameterized
.
parameters
(
{
'resnet_type'
:
'resnet_v1_50'
},
{
'resnet_type'
:
'resnet_v1_101'
},
{
'resnet_type'
:
'resnet_v1_18'
},
{
'resnet_type'
:
'resnet_v1_34'
},
)
def
test_correct_output_size
(
self
,
resnet_type
):
"""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(
is_training
,
first_stage_features_stride
,
batch_norm_trainable
,
weight_decay
)
self
.
_variable_dict
=
{}
self
.
classification_backbone
=
None
def
preprocess
(
self
,
resized_inputs
):
"""Faster R-CNN with Inception Resnet v2 preprocessing.
...
...
@@ -95,19 +96,20 @@ class FasterRCNNInceptionResnetV2KerasFeatureExtractor(
And returns rpn_feature_map:
A tensor with shape [batch, height, width, depth]
"""
with
tf
.
name_scope
(
name
):
with
tf
.
name_scope
(
'InceptionResnetV2'
):
model
=
inception_resnet_v2
.
inception_resnet_v2
(
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
)
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
keras_model
=
tf
.
keras
.
Model
(
inputs
=
model
.
inputs
,
inputs
=
self
.
classification_backbone
.
inputs
,
outputs
=
proposal_features
)
for
variable
in
keras_model
.
variables
:
self
.
_variable_dict
[
variable
.
name
[:
-
2
]]
=
variable
...
...
@@ -132,962 +134,26 @@ class FasterRCNNInceptionResnetV2KerasFeatureExtractor(
[batch_size * self.max_num_proposals, height, width, depth]
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
(
'InceptionResnetV2'
):
model
=
inception_resnet_v2
.
inception_resnet_v2
(
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
(
proposal_feature_maps
=
self
.
classification_backbone
.
get_layer
(
name
=
'block17_20_ac'
).
output
proposal_classifier_features
=
model
.
get_layer
(
proposal_classifier_features
=
self
.
classification_backbone
.
get_layer
(
name
=
'conv_7b_ac'
).
output
keras_model
=
model_util
.
extract_submodel
(
model
=
model
,
model
=
self
.
classification_backbone
,
inputs
=
proposal_feature_maps
,
outputs
=
proposal_classifier_features
)
for
variable
in
keras_model
.
variables
:
self
.
_variable_dict
[
variable
.
name
[:
-
2
]]
=
variable
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):
proposal_classifier_features
=
(
model
(
proposal_feature_maps
))
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__'
:
...
...
research/object_detection/models/faster_rcnn_resnet_keras_feature_extractor.py
View file @
31ca3b97
...
...
@@ -175,23 +175,6 @@ class FasterRCNNResnetKerasFeatureExtractor(
self
.
_variable_dict
[
variable
.
name
[:
-
2
]]
=
variable
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
(
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):
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
):
"""Block that aggregates Convolution + Norm layer + ReLU."""
...
...
@@ -73,8 +82,7 @@ class ConvolutionalBlock(tf.keras.layers.Layer):
filters
=
out_channels
,
kernel_size
=
kernel_size
,
use_bias
=
False
,
strides
=
stride
,
padding
=
padding
)
self
.
norm
=
tf
.
keras
.
layers
.
experimental
.
SyncBatchNormalization
(
name
=
'batchnorm'
,
epsilon
=
1e-5
,
momentum
=
0.1
)
self
.
norm
=
batchnorm
()
if
relu
:
self
.
relu
=
tf
.
keras
.
layers
.
ReLU
()
...
...
@@ -124,8 +132,7 @@ class ResidualBlock(tf.keras.layers.Layer):
self
.
conv
=
tf
.
keras
.
layers
.
Conv2D
(
filters
=
out_channels
,
kernel_size
=
kernel_size
,
use_bias
=
False
,
strides
=
1
,
padding
=
padding
)
self
.
norm
=
tf
.
keras
.
layers
.
experimental
.
SyncBatchNormalization
(
name
=
'batchnorm'
,
epsilon
=
1e-5
,
momentum
=
0.1
)
self
.
norm
=
batchnorm
()
if
skip_conv
:
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
import
tensorflow.compat.v1
as
tf
from
tensorflow.python.keras.applications
import
resnet
from
object_detection.core
import
freezable_batch_norm
from
object_detection.models.keras_models
import
model_utils
...
...
@@ -95,11 +96,11 @@ class _LayersOverride(object):
self
.
regularizer
=
tf
.
keras
.
regularizers
.
l2
(
weight_decay
)
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
(
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.
Overrides the Keras Resnet application's convolutions with ones that
...
...
@@ -141,7 +142,7 @@ class _LayersOverride(object):
else
:
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.
Overrides the Keras application Activation layer specified by the
...
...
@@ -163,7 +164,7 @@ class _LayersOverride(object):
else
:
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.
Overrides the Keras application batch norm with the norm specified by the
...
...
@@ -191,7 +192,7 @@ class _LayersOverride(object):
momentum
=
self
.
_default_batchnorm_momentum
,
**
kwargs
)
def
Input
(
self
,
shape
):
def
Input
(
self
,
shape
):
# pylint: disable=invalid-name
"""Builds an Input layer.
Overrides the Keras application Input layer with one that uses a
...
...
@@ -219,7 +220,7 @@ class _LayersOverride(object):
input
=
input_tensor
,
shape
=
[
None
]
+
shape
)
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'.
This is specified by the default resnet arg_scope in slim.
...
...
@@ -237,7 +238,7 @@ class _LayersOverride(object):
# Add alias as Keras also has it.
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.
Args:
...
...
@@ -395,3 +396,146 @@ def resnet_v1_152(batchnorm_training,
return
tf
.
keras
.
applications
.
resnet
.
ResNet152
(
layers
=
layers_override
,
**
kwargs
)
# 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:
2. Number of global variables.
"""
import
unittest
from
absl.testing
import
parameterized
import
numpy
as
np
from
six.moves
import
zip
import
tensorflow.compat.v1
as
tf
from
google.protobuf
import
text_format
from
object_detection.builders
import
hyperparams_builder
from
object_detection.models.keras_models
import
resnet_v1
from
object_detection.protos
import
hyperparams_pb2
...
...
@@ -180,5 +181,46 @@ class ResnetV1Test(test_case.TestCase):
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__'
:
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(
'Conv2d_13_pointwise'
:
image_features
[
1
]})
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(
last_feature_map
=
layer
(
last_feature_map
)
feature_maps
.
append
(
last_feature_map
)
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(
'layer_19'
:
image_features
[
1
]})
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(
feature_maps
.
append
(
last_feature_map
)
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
(
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