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
47bc1813
Commit
47bc1813
authored
Jul 01, 2020
by
syiming
Browse files
Merge remote-tracking branch 'upstream/master' into add_multilevel_crop_and_resize
parents
d8611151
b035a227
Changes
329
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
906 additions
and
1448 deletions
+906
-1448
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
+7
-36
research/object_detection/models/faster_rcnn_inception_v2_feature_extractor_tf1_test.py
...ls/faster_rcnn_inception_v2_feature_extractor_tf1_test.py
+3
-1
research/object_detection/models/faster_rcnn_mobilenet_v1_feature_extractor_tf1_test.py
...ls/faster_rcnn_mobilenet_v1_feature_extractor_tf1_test.py
+3
-1
research/object_detection/models/faster_rcnn_nas_feature_extractor.py
...ect_detection/models/faster_rcnn_nas_feature_extractor.py
+8
-2
research/object_detection/models/faster_rcnn_nas_feature_extractor_tf1_test.py
...tion/models/faster_rcnn_nas_feature_extractor_tf1_test.py
+3
-1
research/object_detection/models/faster_rcnn_pnas_feature_extractor.py
...ct_detection/models/faster_rcnn_pnas_feature_extractor.py
+5
-1
research/object_detection/models/faster_rcnn_pnas_feature_extractor_tf1_test.py
...ion/models/faster_rcnn_pnas_feature_extractor_tf1_test.py
+3
-1
research/object_detection/models/faster_rcnn_resnet_keras_feature_extractor.py
...tion/models/faster_rcnn_resnet_keras_feature_extractor.py
+254
-0
research/object_detection/models/faster_rcnn_resnet_keras_feature_extractor_tf2_test.py
...ls/faster_rcnn_resnet_keras_feature_extractor_tf2_test.py
+80
-0
research/object_detection/models/faster_rcnn_resnet_v1_feature_extractor_tf1_test.py
...odels/faster_rcnn_resnet_v1_feature_extractor_tf1_test.py
+3
-1
research/object_detection/models/feature_map_generators_test.py
...ch/object_detection/models/feature_map_generators_test.py
+287
-338
research/object_detection/models/keras_models/convert_keras_models.py
...ect_detection/models/keras_models/convert_keras_models.py
+85
-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/hourglass_network_tf2_test.py
...tection/models/keras_models/hourglass_network_tf2_test.py
+3
-2
research/object_detection/models/keras_models/inception_resnet_v2_tf2_test.py
...ction/models/keras_models/inception_resnet_v2_tf2_test.py
+4
-3
research/object_detection/models/keras_models/mobilenet_v1_tf2_test.py
...ct_detection/models/keras_models/mobilenet_v1_tf2_test.py
+27
-34
research/object_detection/models/keras_models/mobilenet_v2_tf2_test.py
...ct_detection/models/keras_models/mobilenet_v2_tf2_test.py
+32
-34
research/object_detection/models/keras_models/resnet_v1_tf2_test.py
...bject_detection/models/keras_models/resnet_v1_tf2_test.py
+4
-3
research/object_detection/models/ssd_feature_extractor_test.py
...rch/object_detection/models/ssd_feature_extractor_test.py
+66
-34
No files found.
Too many changes to show.
To preserve performance only
329 of 329+
files are displayed.
Plain diff
Email patch
research/object_detection/models/faster_rcnn_inception_resnet_v2_keras_feature_extractor.py
View file @
47bc1813
...
...
@@ -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_test.py
→
research/object_detection/models/faster_rcnn_inception_resnet_v2_keras_feature_extractor_
tf2_
test.py
View file @
47bc1813
...
...
@@ -14,12 +14,14 @@
# ==============================================================================
"""Tests for models.faster_rcnn_inception_resnet_v2_keras_feature_extractor."""
import
unittest
import
tensorflow.compat.v1
as
tf
from
object_detection.models
import
faster_rcnn_inception_resnet_v2_keras_feature_extractor
as
frcnn_inc_res
from
object_detection.utils
import
tf_version
@
unittest
.
skipIf
(
tf_version
.
is_tf1
(),
'Skipping TF2.X only test.'
)
class
FasterRcnnInceptionResnetV2KerasFeatureExtractorTest
(
tf
.
test
.
TestCase
):
def
_build_feature_extractor
(
self
,
first_stage_features_stride
):
...
...
@@ -38,11 +40,7 @@ class FasterRcnnInceptionResnetV2KerasFeatureExtractorTest(tf.test.TestCase):
name
=
'TestScope'
)(
preprocessed_inputs
)
features_shape
=
tf
.
shape
(
rpn_feature_map
)
init_op
=
tf
.
global_variables_initializer
()
with
self
.
test_session
()
as
sess
:
sess
.
run
(
init_op
)
features_shape_out
=
sess
.
run
(
features_shape
)
self
.
assertAllEqual
(
features_shape_out
,
[
1
,
19
,
19
,
1088
])
self
.
assertAllEqual
(
features_shape
.
numpy
(),
[
1
,
19
,
19
,
1088
])
def
test_extract_proposal_features_stride_eight
(
self
):
feature_extractor
=
self
.
_build_feature_extractor
(
...
...
@@ -53,11 +51,7 @@ class FasterRcnnInceptionResnetV2KerasFeatureExtractorTest(tf.test.TestCase):
name
=
'TestScope'
)(
preprocessed_inputs
)
features_shape
=
tf
.
shape
(
rpn_feature_map
)
init_op
=
tf
.
global_variables_initializer
()
with
self
.
test_session
()
as
sess
:
sess
.
run
(
init_op
)
features_shape_out
=
sess
.
run
(
features_shape
)
self
.
assertAllEqual
(
features_shape_out
,
[
1
,
28
,
28
,
1088
])
self
.
assertAllEqual
(
features_shape
.
numpy
(),
[
1
,
28
,
28
,
1088
])
def
test_extract_proposal_features_half_size_input
(
self
):
feature_extractor
=
self
.
_build_feature_extractor
(
...
...
@@ -67,25 +61,7 @@ class FasterRcnnInceptionResnetV2KerasFeatureExtractorTest(tf.test.TestCase):
rpn_feature_map
=
feature_extractor
.
get_proposal_feature_extractor_model
(
name
=
'TestScope'
)(
preprocessed_inputs
)
features_shape
=
tf
.
shape
(
rpn_feature_map
)
init_op
=
tf
.
global_variables_initializer
()
with
self
.
test_session
()
as
sess
:
sess
.
run
(
init_op
)
features_shape_out
=
sess
.
run
(
features_shape
)
self
.
assertAllEqual
(
features_shape_out
,
[
1
,
7
,
7
,
1088
])
def
test_extract_proposal_features_dies_on_invalid_stride
(
self
):
with
self
.
assertRaises
(
ValueError
):
self
.
_build_feature_extractor
(
first_stage_features_stride
=
99
)
def
test_extract_proposal_features_dies_with_incorrect_rank_inputs
(
self
):
feature_extractor
=
self
.
_build_feature_extractor
(
first_stage_features_stride
=
16
)
preprocessed_inputs
=
tf
.
random_uniform
(
[
224
,
224
,
3
],
maxval
=
255
,
dtype
=
tf
.
float32
)
with
self
.
assertRaises
(
ValueError
):
feature_extractor
.
get_proposal_feature_extractor_model
(
name
=
'TestScope'
)(
preprocessed_inputs
)
self
.
assertAllEqual
(
features_shape
.
numpy
(),
[
1
,
7
,
7
,
1088
])
def
test_extract_box_classifier_features_returns_expected_size
(
self
):
feature_extractor
=
self
.
_build_feature_extractor
(
...
...
@@ -97,12 +73,7 @@ class FasterRcnnInceptionResnetV2KerasFeatureExtractorTest(tf.test.TestCase):
proposal_classifier_features
=
(
model
(
proposal_feature_maps
))
features_shape
=
tf
.
shape
(
proposal_classifier_features
)
init_op
=
tf
.
global_variables_initializer
()
with
self
.
test_session
()
as
sess
:
sess
.
run
(
init_op
)
features_shape_out
=
sess
.
run
(
features_shape
)
self
.
assertAllEqual
(
features_shape_out
,
[
2
,
8
,
8
,
1536
])
self
.
assertAllEqual
(
features_shape
.
numpy
(),
[
2
,
9
,
9
,
1536
])
if
__name__
==
'__main__'
:
...
...
research/object_detection/models/faster_rcnn_inception_v2_feature_extractor_test.py
→
research/object_detection/models/faster_rcnn_inception_v2_feature_extractor_
tf1_
test.py
View file @
47bc1813
...
...
@@ -14,13 +14,15 @@
# ==============================================================================
"""Tests for faster_rcnn_inception_v2_feature_extractor."""
import
unittest
import
numpy
as
np
import
tensorflow.compat.v1
as
tf
from
object_detection.models
import
faster_rcnn_inception_v2_feature_extractor
as
faster_rcnn_inception_v2
from
object_detection.utils
import
tf_version
@
unittest
.
skipIf
(
tf_version
.
is_tf2
(),
'Skipping TF1.X only test.'
)
class
FasterRcnnInceptionV2FeatureExtractorTest
(
tf
.
test
.
TestCase
):
def
_build_feature_extractor
(
self
,
first_stage_features_stride
):
...
...
research/object_detection/models/faster_rcnn_mobilenet_v1_feature_extractor_test.py
→
research/object_detection/models/faster_rcnn_mobilenet_v1_feature_extractor_
tf1_
test.py
View file @
47bc1813
...
...
@@ -14,13 +14,15 @@
# ==============================================================================
"""Tests for faster_rcnn_mobilenet_v1_feature_extractor."""
import
unittest
import
numpy
as
np
import
tensorflow.compat.v1
as
tf
from
object_detection.models
import
faster_rcnn_mobilenet_v1_feature_extractor
as
faster_rcnn_mobilenet_v1
from
object_detection.utils
import
tf_version
@
unittest
.
skipIf
(
tf_version
.
is_tf2
(),
'Skipping TF1.X only test.'
)
class
FasterRcnnMobilenetV1FeatureExtractorTest
(
tf
.
test
.
TestCase
):
def
_build_feature_extractor
(
self
,
first_stage_features_stride
):
...
...
research/object_detection/models/faster_rcnn_nas_feature_extractor.py
View file @
47bc1813
...
...
@@ -31,8 +31,14 @@ import tf_slim as slim
from
object_detection.meta_architectures
import
faster_rcnn_meta_arch
from
object_detection.utils
import
variables_helper
from
nets.nasnet
import
nasnet
from
nets.nasnet
import
nasnet_utils
# pylint: disable=g-import-not-at-top
try
:
from
nets.nasnet
import
nasnet
from
nets.nasnet
import
nasnet_utils
except
:
# pylint: disable=bare-except
pass
# pylint: enable=g-import-not-at-top
arg_scope
=
slim
.
arg_scope
...
...
research/object_detection/models/faster_rcnn_nas_feature_extractor_test.py
→
research/object_detection/models/faster_rcnn_nas_feature_extractor_
tf1_
test.py
View file @
47bc1813
...
...
@@ -14,12 +14,14 @@
# ==============================================================================
"""Tests for models.faster_rcnn_nas_feature_extractor."""
import
unittest
import
tensorflow.compat.v1
as
tf
from
object_detection.models
import
faster_rcnn_nas_feature_extractor
as
frcnn_nas
from
object_detection.utils
import
tf_version
@
unittest
.
skipIf
(
tf_version
.
is_tf2
(),
'Skipping TF1.X only test.'
)
class
FasterRcnnNASFeatureExtractorTest
(
tf
.
test
.
TestCase
):
def
_build_feature_extractor
(
self
,
first_stage_features_stride
):
...
...
research/object_detection/models/faster_rcnn_pnas_feature_extractor.py
View file @
47bc1813
...
...
@@ -30,7 +30,11 @@ import tf_slim as slim
from
object_detection.meta_architectures
import
faster_rcnn_meta_arch
from
object_detection.utils
import
variables_helper
from
nets.nasnet
import
nasnet_utils
from
nets.nasnet
import
pnasnet
try
:
from
nets.nasnet
import
pnasnet
# pylint: disable=g-import-not-at-top
except
:
# pylint: disable=bare-except
pass
arg_scope
=
slim
.
arg_scope
...
...
research/object_detection/models/faster_rcnn_pnas_feature_extractor_test.py
→
research/object_detection/models/faster_rcnn_pnas_feature_extractor_
tf1_
test.py
View file @
47bc1813
...
...
@@ -14,12 +14,14 @@
# ==============================================================================
"""Tests for models.faster_rcnn_pnas_feature_extractor."""
import
unittest
import
tensorflow.compat.v1
as
tf
from
object_detection.models
import
faster_rcnn_pnas_feature_extractor
as
frcnn_pnas
from
object_detection.utils
import
tf_version
@
unittest
.
skipIf
(
tf_version
.
is_tf2
(),
'Skipping TF1.X only test.'
)
class
FasterRcnnPNASFeatureExtractorTest
(
tf
.
test
.
TestCase
):
def
_build_feature_extractor
(
self
,
first_stage_features_stride
):
...
...
research/object_detection/models/faster_rcnn_resnet_keras_feature_extractor.py
0 → 100644
View file @
47bc1813
# 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.
# ==============================================================================
"""Resnet based Faster R-CNN implementation in Keras.
See Deep Residual Learning for Image Recognition by He et al.
https://arxiv.org/abs/1512.03385
"""
import
tensorflow.compat.v1
as
tf
from
object_detection.meta_architectures
import
faster_rcnn_meta_arch
from
object_detection.models.keras_models
import
resnet_v1
from
object_detection.utils
import
model_util
_RESNET_MODEL_CONV4_LAST_LAYERS
=
{
'resnet_v1_50'
:
'conv4_block6_out'
,
'resnet_v1_101'
:
'conv4_block23_out'
,
'resnet_v1_152'
:
'conv4_block36_out'
,
}
class
FasterRCNNResnetKerasFeatureExtractor
(
faster_rcnn_meta_arch
.
FasterRCNNKerasFeatureExtractor
):
"""Faster R-CNN with Resnet feature extractor implementation."""
def
__init__
(
self
,
is_training
,
resnet_v1_base_model
,
resnet_v1_base_model_name
,
first_stage_features_stride
=
16
,
batch_norm_trainable
=
False
,
weight_decay
=
0.0
):
"""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.
batch_norm_trainable: See base class.
weight_decay: See base class.
Raises:
ValueError: If `first_stage_features_stride` is not 8 or 16.
"""
if
first_stage_features_stride
!=
16
:
raise
ValueError
(
'`first_stage_features_stride` must be 16.'
)
super
(
FasterRCNNResnetKerasFeatureExtractor
,
self
).
__init__
(
is_training
,
first_stage_features_stride
,
batch_norm_trainable
,
weight_decay
)
self
.
classification_backbone
=
None
self
.
_variable_dict
=
{}
self
.
_resnet_v1_base_model
=
resnet_v1_base_model
self
.
_resnet_v1_base_model_name
=
resnet_v1_base_model_name
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 first half of the Resnet v1 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 tensor with shape [batch, height, width, depth]
"""
if
not
self
.
classification_backbone
:
self
.
classification_backbone
=
self
.
_resnet_v1_base_model
(
batchnorm_training
=
self
.
_train_batch_norm
,
conv_hyperparams
=
None
,
weight_decay
=
self
.
_weight_decay
,
classes
=
None
,
weights
=
None
,
include_top
=
False
)
with
tf
.
name_scope
(
name
):
with
tf
.
name_scope
(
'ResnetV1'
):
conv4_last_layer
=
_RESNET_MODEL_CONV4_LAST_LAYERS
[
self
.
_resnet_v1_base_model_name
]
proposal_features
=
self
.
classification_backbone
.
get_layer
(
name
=
conv4_last_layer
).
output
keras_model
=
tf
.
keras
.
Model
(
inputs
=
self
.
classification_backbone
.
inputs
,
outputs
=
proposal_features
)
for
variable
in
keras_model
.
variables
:
self
.
_variable_dict
[
variable
.
name
[:
-
2
]]
=
variable
return
keras_model
def
get_box_classifier_feature_extractor_model
(
self
,
name
=
None
):
"""Returns a model that extracts second stage box classifier features.
This function reconstructs the "second half" of the ResNet v1
network after the part defined in `get_proposal_feature_extractor_model`.
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, height, width, depth]
representing box classifier features for each proposal.
"""
if
not
self
.
classification_backbone
:
self
.
classification_backbone
=
self
.
_resnet_v1_base_model
(
batchnorm_training
=
self
.
_train_batch_norm
,
conv_hyperparams
=
None
,
weight_decay
=
self
.
_weight_decay
,
classes
=
None
,
weights
=
None
,
include_top
=
False
)
with
tf
.
name_scope
(
name
):
with
tf
.
name_scope
(
'ResnetV1'
):
conv4_last_layer
=
_RESNET_MODEL_CONV4_LAST_LAYERS
[
self
.
_resnet_v1_base_model_name
]
proposal_feature_maps
=
self
.
classification_backbone
.
get_layer
(
name
=
conv4_last_layer
).
output
proposal_classifier_features
=
self
.
classification_backbone
.
get_layer
(
name
=
'conv5_block3_out'
).
output
keras_model
=
model_util
.
extract_submodel
(
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
class
FasterRCNNResnet50KerasFeatureExtractor
(
FasterRCNNResnetKerasFeatureExtractor
):
"""Faster R-CNN with Resnet50 feature extractor implementation."""
def
__init__
(
self
,
is_training
,
first_stage_features_stride
=
16
,
batch_norm_trainable
=
False
,
weight_decay
=
0.0
):
"""Constructor.
Args:
is_training: See base class.
first_stage_features_stride: See base class.
batch_norm_trainable: See base class.
weight_decay: See base class.
"""
super
(
FasterRCNNResnet50KerasFeatureExtractor
,
self
).
__init__
(
is_training
=
is_training
,
resnet_v1_base_model
=
resnet_v1
.
resnet_v1_50
,
resnet_v1_base_model_name
=
'resnet_v1_50'
,
first_stage_features_stride
=
first_stage_features_stride
,
batch_norm_trainable
=
batch_norm_trainable
,
weight_decay
=
weight_decay
)
class
FasterRCNNResnet101KerasFeatureExtractor
(
FasterRCNNResnetKerasFeatureExtractor
):
"""Faster R-CNN with Resnet101 feature extractor implementation."""
def
__init__
(
self
,
is_training
,
first_stage_features_stride
=
16
,
batch_norm_trainable
=
False
,
weight_decay
=
0.0
):
"""Constructor.
Args:
is_training: See base class.
first_stage_features_stride: See base class.
batch_norm_trainable: See base class.
weight_decay: See base class.
"""
super
(
FasterRCNNResnet101KerasFeatureExtractor
,
self
).
__init__
(
is_training
=
is_training
,
resnet_v1_base_model
=
resnet_v1
.
resnet_v1_101
,
resnet_v1_base_model_name
=
'resnet_v1_101'
,
first_stage_features_stride
=
first_stage_features_stride
,
batch_norm_trainable
=
batch_norm_trainable
,
weight_decay
=
weight_decay
)
class
FasterRCNNResnet152KerasFeatureExtractor
(
FasterRCNNResnetKerasFeatureExtractor
):
"""Faster R-CNN with Resnet152 feature extractor implementation."""
def
__init__
(
self
,
is_training
,
first_stage_features_stride
=
16
,
batch_norm_trainable
=
False
,
weight_decay
=
0.0
):
"""Constructor.
Args:
is_training: See base class.
first_stage_features_stride: See base class.
batch_norm_trainable: See base class.
weight_decay: See base class.
"""
super
(
FasterRCNNResnet152KerasFeatureExtractor
,
self
).
__init__
(
is_training
=
is_training
,
resnet_v1_base_model
=
resnet_v1
.
resnet_v1_152
,
resnet_v1_base_model_name
=
'resnet_v1_152'
,
first_stage_features_stride
=
first_stage_features_stride
,
batch_norm_trainable
=
batch_norm_trainable
,
weight_decay
=
weight_decay
)
research/object_detection/models/faster_rcnn_resnet_keras_feature_extractor_tf2_test.py
0 → 100644
View file @
47bc1813
# 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_keras_feature_extractor."""
import
unittest
import
tensorflow.compat.v1
as
tf
from
object_detection.models
import
faster_rcnn_resnet_keras_feature_extractor
as
frcnn_res
from
object_detection.utils
import
tf_version
@
unittest
.
skipIf
(
tf_version
.
is_tf1
(),
'Skipping TF2.X only test.'
)
class
FasterRcnnResnetKerasFeatureExtractorTest
(
tf
.
test
.
TestCase
):
def
_build_feature_extractor
(
self
,
architecture
=
'resnet_v1_50'
):
return
frcnn_res
.
FasterRCNNResnet50KerasFeatureExtractor
(
is_training
=
False
,
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
(
[
1
,
224
,
224
,
3
],
maxval
=
255
,
dtype
=
tf
.
float32
)
rpn_feature_map
=
feature_extractor
.
get_proposal_feature_extractor_model
(
name
=
'TestScope'
)(
preprocessed_inputs
)
features_shape
=
tf
.
shape
(
rpn_feature_map
)
self
.
assertAllEqual
(
features_shape
.
numpy
(),
[
1
,
14
,
14
,
1024
])
def
test_extract_proposal_features_half_size_input
(
self
):
feature_extractor
=
self
.
_build_feature_extractor
()
preprocessed_inputs
=
tf
.
random_uniform
(
[
1
,
112
,
112
,
3
],
maxval
=
255
,
dtype
=
tf
.
float32
)
rpn_feature_map
=
feature_extractor
.
get_proposal_feature_extractor_model
(
name
=
'TestScope'
)(
preprocessed_inputs
)
features_shape
=
tf
.
shape
(
rpn_feature_map
)
self
.
assertAllEqual
(
features_shape
.
numpy
(),
[
1
,
7
,
7
,
1024
])
def
test_extract_proposal_features_dies_with_incorrect_rank_inputs
(
self
):
feature_extractor
=
self
.
_build_feature_extractor
()
preprocessed_inputs
=
tf
.
random_uniform
(
[
224
,
224
,
3
],
maxval
=
255
,
dtype
=
tf
.
float32
)
with
self
.
assertRaises
(
tf
.
errors
.
InvalidArgumentError
):
feature_extractor
.
get_proposal_feature_extractor_model
(
name
=
'TestScope'
)(
preprocessed_inputs
)
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
)
# Note: due to a slight mismatch in slim and keras resnet definitions
# the output shape of the box classifier is slightly different compared to
# that of the slim implementation. The keras version is more `canonical`
# in that it more accurately reflects the original authors' implementation.
# TODO(jonathanhuang): make the output shape match that of the slim
# implementation by using atrous convolutions.
self
.
assertAllEqual
(
features_shape
.
numpy
(),
[
3
,
4
,
4
,
2048
])
if
__name__
==
'__main__'
:
tf
.
enable_v2_behavior
()
tf
.
test
.
main
()
research/object_detection/models/faster_rcnn_resnet_v1_feature_extractor_test.py
→
research/object_detection/models/faster_rcnn_resnet_v1_feature_extractor_
tf1_
test.py
View file @
47bc1813
...
...
@@ -14,13 +14,15 @@
# ==============================================================================
"""Tests for object_detection.models.faster_rcnn_resnet_v1_feature_extractor."""
import
unittest
import
numpy
as
np
import
tensorflow.compat.v1
as
tf
from
object_detection.models
import
faster_rcnn_resnet_v1_feature_extractor
as
faster_rcnn_resnet_v1
from
object_detection.utils
import
tf_version
@
unittest
.
skipIf
(
tf_version
.
is_tf2
(),
'Skipping TF1.X only test.'
)
class
FasterRcnnResnetV1FeatureExtractorTest
(
tf
.
test
.
TestCase
):
def
_build_feature_extractor
(
self
,
...
...
research/object_detection/models/feature_map_generators_test.py
View file @
47bc1813
...
...
@@ -14,7 +14,7 @@
# ==============================================================================
"""Tests for feature map generators."""
import
unittest
from
absl.testing
import
parameterized
import
numpy
as
np
...
...
@@ -25,6 +25,9 @@ from google.protobuf import text_format
from
object_detection.builders
import
hyperparams_builder
from
object_detection.models
import
feature_map_generators
from
object_detection.protos
import
hyperparams_pb2
from
object_detection.utils
import
test_case
from
object_detection.utils
import
test_utils
from
object_detection.utils
import
tf_version
INCEPTION_V2_LAYOUT
=
{
'from_layer'
:
[
'Mixed_3c'
,
'Mixed_4c'
,
'Mixed_5c'
,
''
,
''
,
''
],
...
...
@@ -52,11 +55,7 @@ SSD_MOBILENET_V1_WEIGHT_SHARED_LAYOUT = {
}
@
parameterized
.
parameters
(
{
'use_keras'
:
False
},
{
'use_keras'
:
True
},
)
class
MultiResolutionFeatureMapGeneratorTest
(
tf
.
test
.
TestCase
):
class
MultiResolutionFeatureMapGeneratorTest
(
test_case
.
TestCase
):
def
_build_conv_hyperparams
(
self
):
conv_hyperparams
=
hyperparams_pb2
.
Hyperparams
()
...
...
@@ -73,9 +72,9 @@ class MultiResolutionFeatureMapGeneratorTest(tf.test.TestCase):
text_format
.
Merge
(
conv_hyperparams_text_proto
,
conv_hyperparams
)
return
hyperparams_builder
.
KerasLayerHyperparams
(
conv_hyperparams
)
def
_build_feature_map_generator
(
self
,
feature_map_layout
,
use_keras
,
def
_build_feature_map_generator
(
self
,
feature_map_layout
,
pool_residual
=
False
):
if
use_keras
:
if
tf_version
.
is_tf2
()
:
return
feature_map_generators
.
KerasMultiResolutionFeatureMaps
(
feature_map_layout
=
feature_map_layout
,
depth_multiplier
=
1
,
...
...
@@ -97,17 +96,18 @@ class MultiResolutionFeatureMapGeneratorTest(tf.test.TestCase):
pool_residual
=
pool_residual
)
return
feature_map_generator
def
test_get_expected_feature_map_shapes_with_inception_v2
(
self
,
use_keras
):
image_features
=
{
'Mixed_3c'
:
tf
.
random_uniform
([
4
,
28
,
28
,
256
],
dtype
=
tf
.
float32
),
'Mixed_4c'
:
tf
.
random_uniform
([
4
,
14
,
14
,
576
],
dtype
=
tf
.
float32
),
'Mixed_5c'
:
tf
.
random_uniform
([
4
,
7
,
7
,
1024
],
dtype
=
tf
.
float32
)
}
feature_map_generator
=
self
.
_build_feature_map_generator
(
feature_map_layout
=
INCEPTION_V2_LAYOUT
,
use_keras
=
use_keras
)
feature_maps
=
feature_map_generator
(
image_features
)
def
test_get_expected_feature_map_shapes_with_inception_v2
(
self
):
with
test_utils
.
GraphContextOrNone
()
as
g
:
image_features
=
{
'Mixed_3c'
:
tf
.
random_uniform
([
4
,
28
,
28
,
256
],
dtype
=
tf
.
float32
),
'Mixed_4c'
:
tf
.
random_uniform
([
4
,
14
,
14
,
576
],
dtype
=
tf
.
float32
),
'Mixed_5c'
:
tf
.
random_uniform
([
4
,
7
,
7
,
1024
],
dtype
=
tf
.
float32
)
}
feature_map_generator
=
self
.
_build_feature_map_generator
(
feature_map_layout
=
INCEPTION_V2_LAYOUT
)
def
graph_fn
():
feature_maps
=
feature_map_generator
(
image_features
)
return
feature_maps
expected_feature_map_shapes
=
{
'Mixed_3c'
:
(
4
,
28
,
28
,
256
),
...
...
@@ -116,29 +116,25 @@ class MultiResolutionFeatureMapGeneratorTest(tf.test.TestCase):
'Mixed_5c_2_Conv2d_3_3x3_s2_512'
:
(
4
,
4
,
4
,
512
),
'Mixed_5c_2_Conv2d_4_3x3_s2_256'
:
(
4
,
2
,
2
,
256
),
'Mixed_5c_2_Conv2d_5_3x3_s2_256'
:
(
4
,
1
,
1
,
256
)}
init_op
=
tf
.
global_variables_initializer
()
with
self
.
test_session
()
as
sess
:
sess
.
run
(
init_op
)
out_feature_maps
=
sess
.
run
(
feature_maps
)
out_feature_map_shapes
=
dict
(
(
key
,
value
.
shape
)
for
key
,
value
in
out_feature_maps
.
items
())
self
.
assertDictEqual
(
expected_feature_map_shapes
,
out_feature_map_shapes
)
out_feature_maps
=
self
.
execute
(
graph_fn
,
[],
g
)
out_feature_map_shapes
=
dict
(
(
key
,
value
.
shape
)
for
key
,
value
in
out_feature_maps
.
items
())
self
.
assertDictEqual
(
expected_feature_map_shapes
,
out_feature_map_shapes
)
def
test_get_expected_feature_map_shapes_with_inception_v2_use_depthwise
(
self
,
use_keras
):
image_features
=
{
'Mixed_3c'
:
tf
.
random_uniform
([
4
,
28
,
28
,
256
],
dtype
=
tf
.
float32
),
'Mixed_
4
c'
:
tf
.
random_uniform
([
4
,
14
,
14
,
57
6
],
dtype
=
tf
.
float32
),
'Mixed_
5
c'
:
tf
.
random_uniform
([
4
,
7
,
7
,
1024
],
dtype
=
tf
.
float32
)
}
layout_copy
=
INCEPTION_V2_LAYOUT
.
copy
()
layout_copy
[
'use_depthwise'
]
=
True
feature_map_generator
=
self
.
_build_feature_map_generator
(
feature_map_
layout
=
layout_copy
,
use_keras
=
use_keras
)
feature_maps
=
feature_map_generator
(
image_features
)
self
):
with
test_utils
.
GraphContextOrNone
()
as
g
:
image_features
=
{
'Mixed_
3
c'
:
tf
.
random_uniform
([
4
,
28
,
28
,
25
6
],
dtype
=
tf
.
float32
),
'Mixed_
4
c'
:
tf
.
random_uniform
([
4
,
14
,
14
,
576
],
dtype
=
tf
.
float32
)
,
'Mixed_5c'
:
tf
.
random_uniform
([
4
,
7
,
7
,
1024
],
dtype
=
tf
.
float32
)
}
layout_copy
=
INCEPTION_V2_LAYOUT
.
copy
()
layout_copy
[
'use_depthwise'
]
=
True
feature_map_
generator
=
self
.
_build_feature_map_generator
(
feature_map_layout
=
layout_copy
)
def
graph_fn
():
return
feature_map_generator
(
image_features
)
expected_feature_map_shapes
=
{
'Mixed_3c'
:
(
4
,
28
,
28
,
256
),
...
...
@@ -147,29 +143,25 @@ class MultiResolutionFeatureMapGeneratorTest(tf.test.TestCase):
'Mixed_5c_2_Conv2d_3_3x3_s2_512'
:
(
4
,
4
,
4
,
512
),
'Mixed_5c_2_Conv2d_4_3x3_s2_256'
:
(
4
,
2
,
2
,
256
),
'Mixed_5c_2_Conv2d_5_3x3_s2_256'
:
(
4
,
1
,
1
,
256
)}
init_op
=
tf
.
global_variables_initializer
()
with
self
.
test_session
()
as
sess
:
sess
.
run
(
init_op
)
out_feature_maps
=
sess
.
run
(
feature_maps
)
out_feature_map_shapes
=
dict
(
(
key
,
value
.
shape
)
for
key
,
value
in
out_feature_maps
.
items
())
self
.
assertDictEqual
(
expected_feature_map_shapes
,
out_feature_map_shapes
)
def
test_get_expected_feature_map_shapes_use_explicit_padding
(
self
,
use_keras
):
image_features
=
{
'Mixed_3c'
:
tf
.
random_uniform
([
4
,
28
,
28
,
256
],
dtype
=
tf
.
float32
),
'Mixed_4c'
:
tf
.
random_uniform
([
4
,
14
,
14
,
576
],
dtype
=
tf
.
float32
),
'Mixed_5c'
:
tf
.
random_uniform
([
4
,
7
,
7
,
1024
],
dtype
=
tf
.
float32
)
}
layout_copy
=
INCEPTION_V2_LAYOUT
.
copy
()
layout_copy
[
'use_explicit_padding'
]
=
True
feature_map_generator
=
self
.
_build_feature_map_generator
(
feature_map_layout
=
layout_copy
,
use_keras
=
use_keras
)
feature_maps
=
feature_map_generator
(
image_features
)
out_feature_maps
=
self
.
execute
(
graph_fn
,
[],
g
)
out_feature_map_shapes
=
dict
(
(
key
,
value
.
shape
)
for
key
,
value
in
out_feature_maps
.
items
())
self
.
assertDictEqual
(
expected_feature_map_shapes
,
out_feature_map_shapes
)
def
test_get_expected_feature_map_shapes_use_explicit_padding
(
self
):
with
test_utils
.
GraphContextOrNone
()
as
g
:
image_features
=
{
'Mixed_3c'
:
tf
.
random_uniform
([
4
,
28
,
28
,
256
],
dtype
=
tf
.
float32
),
'Mixed_4c'
:
tf
.
random_uniform
([
4
,
14
,
14
,
576
],
dtype
=
tf
.
float32
),
'Mixed_5c'
:
tf
.
random_uniform
([
4
,
7
,
7
,
1024
],
dtype
=
tf
.
float32
)
}
layout_copy
=
INCEPTION_V2_LAYOUT
.
copy
()
layout_copy
[
'use_explicit_padding'
]
=
True
feature_map_generator
=
self
.
_build_feature_map_generator
(
feature_map_layout
=
layout_copy
,
)
def
graph_fn
():
return
feature_map_generator
(
image_features
)
expected_feature_map_shapes
=
{
'Mixed_3c'
:
(
4
,
28
,
28
,
256
),
...
...
@@ -178,27 +170,24 @@ class MultiResolutionFeatureMapGeneratorTest(tf.test.TestCase):
'Mixed_5c_2_Conv2d_3_3x3_s2_512'
:
(
4
,
4
,
4
,
512
),
'Mixed_5c_2_Conv2d_4_3x3_s2_256'
:
(
4
,
2
,
2
,
256
),
'Mixed_5c_2_Conv2d_5_3x3_s2_256'
:
(
4
,
1
,
1
,
256
)}
out_feature_maps
=
self
.
execute
(
graph_fn
,
[],
g
)
out_feature_map_shapes
=
dict
(
(
key
,
value
.
shape
)
for
key
,
value
in
out_feature_maps
.
items
())
self
.
assertDictEqual
(
expected_feature_map_shapes
,
out_feature_map_shapes
)
def
test_get_expected_feature_map_shapes_with_inception_v3
(
self
):
with
test_utils
.
GraphContextOrNone
()
as
g
:
image_features
=
{
'Mixed_5d'
:
tf
.
random_uniform
([
4
,
35
,
35
,
256
],
dtype
=
tf
.
float32
),
'Mixed_6e'
:
tf
.
random_uniform
([
4
,
17
,
17
,
576
],
dtype
=
tf
.
float32
),
'Mixed_7c'
:
tf
.
random_uniform
([
4
,
8
,
8
,
1024
],
dtype
=
tf
.
float32
)
}
init_op
=
tf
.
global_variables_initializer
()
with
self
.
test_session
()
as
sess
:
sess
.
run
(
init_op
)
out_feature_maps
=
sess
.
run
(
feature_maps
)
out_feature_map_shapes
=
dict
(
(
key
,
value
.
shape
)
for
key
,
value
in
out_feature_maps
.
items
())
self
.
assertDictEqual
(
expected_feature_map_shapes
,
out_feature_map_shapes
)
def
test_get_expected_feature_map_shapes_with_inception_v3
(
self
,
use_keras
):
image_features
=
{
'Mixed_5d'
:
tf
.
random_uniform
([
4
,
35
,
35
,
256
],
dtype
=
tf
.
float32
),
'Mixed_6e'
:
tf
.
random_uniform
([
4
,
17
,
17
,
576
],
dtype
=
tf
.
float32
),
'Mixed_7c'
:
tf
.
random_uniform
([
4
,
8
,
8
,
1024
],
dtype
=
tf
.
float32
)
}
feature_map_generator
=
self
.
_build_feature_map_generator
(
feature_map_layout
=
INCEPTION_V3_LAYOUT
,
use_keras
=
use_keras
)
feature_maps
=
feature_map_generator
(
image_features
)
feature_map_generator
=
self
.
_build_feature_map_generator
(
feature_map_layout
=
INCEPTION_V3_LAYOUT
,
)
def
graph_fn
():
return
feature_map_generator
(
image_features
)
expected_feature_map_shapes
=
{
'Mixed_5d'
:
(
4
,
35
,
35
,
256
),
...
...
@@ -207,29 +196,26 @@ class MultiResolutionFeatureMapGeneratorTest(tf.test.TestCase):
'Mixed_7c_2_Conv2d_3_3x3_s2_512'
:
(
4
,
4
,
4
,
512
),
'Mixed_7c_2_Conv2d_4_3x3_s2_256'
:
(
4
,
2
,
2
,
256
),
'Mixed_7c_2_Conv2d_5_3x3_s2_128'
:
(
4
,
1
,
1
,
128
)}
init_op
=
tf
.
global_variables_initializer
()
with
self
.
test_session
()
as
sess
:
sess
.
run
(
init_op
)
out_feature_maps
=
sess
.
run
(
feature_maps
)
out_feature_map_shapes
=
dict
(
(
key
,
value
.
shape
)
for
key
,
value
in
out_feature_maps
.
items
())
self
.
assertDictEqual
(
expected_feature_map_shapes
,
out_feature_map_shapes
)
out_feature_maps
=
self
.
execute
(
graph_fn
,
[],
g
)
out_feature_map_shapes
=
dict
(
(
key
,
value
.
shape
)
for
key
,
value
in
out_feature_maps
.
items
())
self
.
assertDictEqual
(
expected_feature_map_shapes
,
out_feature_map_shapes
)
def
test_get_expected_feature_map_shapes_with_embedded_ssd_mobilenet_v1
(
self
,
use_keras
):
image_features
=
{
'Conv2d_11_pointwise'
:
tf
.
random_uniform
([
4
,
16
,
16
,
512
],
dtype
=
tf
.
float32
),
'Conv2d_13_pointwise'
:
tf
.
random_uniform
([
4
,
8
,
8
,
1024
],
dtype
=
tf
.
float32
),
}
self
):
with
test_utils
.
GraphContextOrNone
()
as
g
:
image_features
=
{
'Conv2d_11_pointwise'
:
tf
.
random_uniform
([
4
,
16
,
16
,
512
],
dtype
=
tf
.
float32
),
'Conv2d_13_pointwise'
:
tf
.
random_uniform
([
4
,
8
,
8
,
1024
],
dtype
=
tf
.
float32
),
}
feature_map_generator
=
self
.
_build_feature_map_generator
(
feature_map_layout
=
EMBEDDED_SSD_MOBILENET_V1_LAYOUT
,
use_keras
=
use_keras
)
feature_maps
=
feature_map_generator
(
image_features
)
feature_map_generator
=
self
.
_build_feature_map_generator
(
feature_map_layout
=
EMBEDDED_SSD_MOBILENET_V1_LAYOUT
,
)
def
graph_fn
():
return
feature_map_generator
(
image_features
)
expected_feature_map_shapes
=
{
'Conv2d_11_pointwise'
:
(
4
,
16
,
16
,
512
),
...
...
@@ -237,55 +223,50 @@ class MultiResolutionFeatureMapGeneratorTest(tf.test.TestCase):
'Conv2d_13_pointwise_2_Conv2d_2_3x3_s2_512'
:
(
4
,
4
,
4
,
512
),
'Conv2d_13_pointwise_2_Conv2d_3_3x3_s2_256'
:
(
4
,
2
,
2
,
256
),
'Conv2d_13_pointwise_2_Conv2d_4_2x2_s2_256'
:
(
4
,
1
,
1
,
256
)}
init_op
=
tf
.
global_variables_initializer
()
with
self
.
test_session
()
as
sess
:
sess
.
run
(
init_op
)
out_feature_maps
=
sess
.
run
(
feature_maps
)
out_feature_map_shapes
=
dict
(
(
key
,
value
.
shape
)
for
key
,
value
in
out_feature_maps
.
items
())
self
.
assertDictEqual
(
expected_feature_map_shapes
,
out_feature_map_shapes
)
out_feature_maps
=
self
.
execute
(
graph_fn
,
[],
g
)
out_feature_map_shapes
=
dict
(
(
key
,
value
.
shape
)
for
key
,
value
in
out_feature_maps
.
items
())
self
.
assertDictEqual
(
expected_feature_map_shapes
,
out_feature_map_shapes
)
def
test_feature_map_shapes_with_pool_residual_ssd_mobilenet_v1
(
self
,
use_keras
):
image_features
=
{
'Conv2d_13_pointwise'
:
tf
.
random_uniform
([
4
,
8
,
8
,
1024
],
dtype
=
tf
.
float32
),
}
self
):
with
test_utils
.
GraphContextOrNone
()
as
g
:
image_features
=
{
'Conv2d_13_pointwise'
:
tf
.
random_uniform
([
4
,
8
,
8
,
1024
],
dtype
=
tf
.
float32
),
}
feature_map_generator
=
self
.
_build_feature_map_generator
(
feature_map_layout
=
SSD_MOBILENET_V1_WEIGHT_SHARED_LAYOUT
,
use_keras
=
use_keras
,
pool_residual
=
True
)
feature_maps
=
feature_map_generator
(
image_features
)
feature_map_generator
=
self
.
_build_feature_map_generator
(
feature_map_layout
=
SSD_MOBILENET_V1_WEIGHT_SHARED_LAYOUT
,
pool_residual
=
True
)
def
graph_fn
():
return
feature_map_generator
(
image_features
)
expected_feature_map_shapes
=
{
'Conv2d_13_pointwise'
:
(
4
,
8
,
8
,
1024
),
'Conv2d_13_pointwise_2_Conv2d_1_3x3_s2_256'
:
(
4
,
4
,
4
,
256
),
'Conv2d_13_pointwise_2_Conv2d_2_3x3_s2_256'
:
(
4
,
2
,
2
,
256
),
'Conv2d_13_pointwise_2_Conv2d_3_3x3_s2_256'
:
(
4
,
1
,
1
,
256
)}
out_feature_maps
=
self
.
execute
(
graph_fn
,
[],
g
)
out_feature_map_shapes
=
dict
(
(
key
,
value
.
shape
)
for
key
,
value
in
out_feature_maps
.
items
())
self
.
assertDictEqual
(
expected_feature_map_shapes
,
out_feature_map_shapes
)
def
test_get_expected_variable_names_with_inception_v2
(
self
):
with
test_utils
.
GraphContextOrNone
()
as
g
:
image_features
=
{
'Mixed_3c'
:
tf
.
random_uniform
([
4
,
28
,
28
,
256
],
dtype
=
tf
.
float32
),
'Mixed_4c'
:
tf
.
random_uniform
([
4
,
14
,
14
,
576
],
dtype
=
tf
.
float32
),
'Mixed_5c'
:
tf
.
random_uniform
([
4
,
7
,
7
,
1024
],
dtype
=
tf
.
float32
)
}
feature_map_generator
=
self
.
_build_feature_map_generator
(
feature_map_layout
=
INCEPTION_V2_LAYOUT
,
)
def
graph_fn
():
return
feature_map_generator
(
image_features
)
init_op
=
tf
.
global_variables_initializer
()
with
self
.
test_session
()
as
sess
:
sess
.
run
(
init_op
)
out_feature_maps
=
sess
.
run
(
feature_maps
)
out_feature_map_shapes
=
dict
(
(
key
,
value
.
shape
)
for
key
,
value
in
out_feature_maps
.
items
())
self
.
assertDictEqual
(
expected_feature_map_shapes
,
out_feature_map_shapes
)
def
test_get_expected_variable_names_with_inception_v2
(
self
,
use_keras
):
image_features
=
{
'Mixed_3c'
:
tf
.
random_uniform
([
4
,
28
,
28
,
256
],
dtype
=
tf
.
float32
),
'Mixed_4c'
:
tf
.
random_uniform
([
4
,
14
,
14
,
576
],
dtype
=
tf
.
float32
),
'Mixed_5c'
:
tf
.
random_uniform
([
4
,
7
,
7
,
1024
],
dtype
=
tf
.
float32
)
}
feature_map_generator
=
self
.
_build_feature_map_generator
(
feature_map_layout
=
INCEPTION_V2_LAYOUT
,
use_keras
=
use_keras
)
feature_maps
=
feature_map_generator
(
image_features
)
self
.
execute
(
graph_fn
,
[],
g
)
expected_slim_variables
=
set
([
'Mixed_5c_1_Conv2d_3_1x1_256/weights'
,
'Mixed_5c_1_Conv2d_3_1x1_256/biases'
,
...
...
@@ -316,32 +297,32 @@ class MultiResolutionFeatureMapGeneratorTest(tf.test.TestCase):
'FeatureMaps/Mixed_5c_2_Conv2d_5_3x3_s2_256_conv/bias'
,
])
init_op
=
tf
.
global_variables_initializer
()
with
self
.
test_session
()
as
sess
:
sess
.
run
(
init_op
)
sess
.
run
(
feature_maps
)
if
tf_version
.
is_tf2
():
actual_variable_set
=
set
(
[
var
.
op
.
name
for
var
in
tf
.
trainable_variables
()])
if
use_keras
:
self
.
assertSetEqual
(
expected_keras_variables
,
actual_variable_set
)
else
:
self
.
assertSetEqual
(
expected_slim_variables
,
actual_variable_set
)
[
var
.
name
.
split
(
':'
)[
0
]
for
var
in
feature_map_generator
.
variables
])
self
.
assertSetEqual
(
expected_keras_variables
,
actual_variable_set
)
else
:
with
g
.
as_default
():
actual_variable_set
=
set
(
[
var
.
op
.
name
for
var
in
tf
.
trainable_variables
()])
self
.
assertSetEqual
(
expected_slim_variables
,
actual_variable_set
)
def
test_get_expected_variable_names_with_inception_v2_use_depthwise
(
self
,
use_keras
):
image_features
=
{
'Mixed_3c'
:
tf
.
random_uniform
([
4
,
28
,
28
,
256
],
dtype
=
tf
.
float32
),
'Mixed_4c'
:
tf
.
random_uniform
([
4
,
14
,
14
,
576
],
dtype
=
tf
.
float32
),
'Mixed_5c'
:
tf
.
random_uniform
([
4
,
7
,
7
,
1024
],
dtype
=
tf
.
float32
)
}
layout_copy
=
INCEPTION_V2_LAYOUT
.
copy
()
layout_copy
[
'use_depthwise'
]
=
True
feature_map_generator
=
self
.
_build_feature_map_generator
(
feature_map_layout
=
layout_copy
,
use_keras
=
use_keras
)
feature_maps
=
feature_map_generator
(
image_features
)
self
):
with
test_utils
.
GraphContextOrNone
()
as
g
:
image_features
=
{
'Mixed_3c'
:
tf
.
random_uniform
([
4
,
28
,
28
,
256
],
dtype
=
tf
.
float32
),
'Mixed_4c'
:
tf
.
random_uniform
([
4
,
14
,
14
,
576
],
dtype
=
tf
.
float32
),
'Mixed_5c'
:
tf
.
random_uniform
([
4
,
7
,
7
,
1024
],
dtype
=
tf
.
float32
)
}
layout_copy
=
INCEPTION_V2_LAYOUT
.
copy
()
layout_copy
[
'use_depthwise'
]
=
True
feature_map_generator
=
self
.
_build_feature_map_generator
(
feature_map_layout
=
layout_copy
,
)
def
graph_fn
():
return
feature_map_generator
(
image_features
)
self
.
execute
(
graph_fn
,
[],
g
)
expected_slim_variables
=
set
([
'Mixed_5c_1_Conv2d_3_1x1_256/weights'
,
...
...
@@ -391,23 +372,20 @@ class MultiResolutionFeatureMapGeneratorTest(tf.test.TestCase):
'FeatureMaps/Mixed_5c_2_Conv2d_5_3x3_s2_256_conv/bias'
,
])
init_op
=
tf
.
global_variables_initializer
()
with
self
.
test_session
()
as
sess
:
sess
.
run
(
init_op
)
sess
.
run
(
feature_maps
)
if
tf_version
.
is_tf2
():
actual_variable_set
=
set
(
[
var
.
op
.
name
for
var
in
tf
.
trainable_variables
()])
if
use_keras
:
self
.
assertSetEqual
(
expected_keras_variables
,
actual_variable_set
)
else
:
self
.
assertSetEqual
(
expected_slim_variables
,
actual_variable_set
)
[
var
.
name
.
split
(
':'
)[
0
]
for
var
in
feature_map_generator
.
variables
])
self
.
assertSetEqual
(
expected_keras_variables
,
actual_variable_set
)
else
:
with
g
.
as_default
():
actual_variable_set
=
set
(
[
var
.
op
.
name
for
var
in
tf
.
trainable_variables
()])
self
.
assertSetEqual
(
expected_slim_variables
,
actual_variable_set
)
@
parameterized
.
parameters
({
'use_native_resize_op'
:
True
,
'use_keras'
:
False
},
{
'use_native_resize_op'
:
False
,
'use_keras'
:
False
},
{
'use_native_resize_op'
:
True
,
'use_keras'
:
True
},
{
'use_native_resize_op'
:
False
,
'use_keras'
:
True
})
class
FPNFeatureMapGeneratorTest
(
tf
.
test
.
TestCase
,
parameterized
.
TestCase
):
@
parameterized
.
parameters
({
'use_native_resize_op'
:
True
},
{
'use_native_resize_op'
:
False
})
class
FPNFeatureMapGeneratorTest
(
test_case
.
TestCase
,
parameterized
.
TestCase
):
def
_build_conv_hyperparams
(
self
):
conv_hyperparams
=
hyperparams_pb2
.
Hyperparams
()
...
...
@@ -425,10 +403,10 @@ class FPNFeatureMapGeneratorTest(tf.test.TestCase, parameterized.TestCase):
return
hyperparams_builder
.
KerasLayerHyperparams
(
conv_hyperparams
)
def
_build_feature_map_generator
(
self
,
image_features
,
depth
,
use_keras
,
use_bounded_activations
=
False
,
self
,
image_features
,
depth
,
use_bounded_activations
=
False
,
use_native_resize_op
=
False
,
use_explicit_padding
=
False
,
use_depthwise
=
False
):
if
use_keras
:
if
tf_version
.
is_tf2
()
:
return
feature_map_generators
.
KerasFpnTopDownFeatureMaps
(
num_levels
=
len
(
image_features
),
depth
=
depth
,
...
...
@@ -454,19 +432,20 @@ class FPNFeatureMapGeneratorTest(tf.test.TestCase, parameterized.TestCase):
return
feature_map_generator
def
test_get_expected_feature_map_shapes
(
self
,
use_native_resize_op
,
use_keras
):
image_features
=
[
(
'block2'
,
tf
.
random_uniform
([
4
,
8
,
8
,
256
],
dtype
=
tf
.
float32
)),
(
'block3'
,
tf
.
random_uniform
([
4
,
4
,
4
,
256
],
dtype
=
tf
.
float32
)),
(
'block4'
,
tf
.
random_uniform
([
4
,
2
,
2
,
256
],
dtype
=
tf
.
float32
)),
(
'block5'
,
tf
.
random_uniform
([
4
,
1
,
1
,
256
],
dtype
=
tf
.
float32
))
]
feature_map_generator
=
self
.
_build_feature_map_generator
(
image_features
=
image_features
,
depth
=
128
,
use_keras
=
use_keras
,
use_native_resize_op
=
use_native_resize_op
)
feature_maps
=
feature_map_generator
(
image_features
)
self
,
use_native_resize_op
):
with
test_utils
.
GraphContextOrNone
()
as
g
:
image_features
=
[
(
'block2'
,
tf
.
random_uniform
([
4
,
8
,
8
,
256
],
dtype
=
tf
.
float32
)),
(
'block3'
,
tf
.
random_uniform
([
4
,
4
,
4
,
256
],
dtype
=
tf
.
float32
)),
(
'block4'
,
tf
.
random_uniform
([
4
,
2
,
2
,
256
],
dtype
=
tf
.
float32
)),
(
'block5'
,
tf
.
random_uniform
([
4
,
1
,
1
,
256
],
dtype
=
tf
.
float32
))
]
feature_map_generator
=
self
.
_build_feature_map_generator
(
image_features
=
image_features
,
depth
=
128
,
use_native_resize_op
=
use_native_resize_op
)
def
graph_fn
():
return
feature_map_generator
(
image_features
)
expected_feature_map_shapes
=
{
'top_down_block2'
:
(
4
,
8
,
8
,
128
),
...
...
@@ -474,30 +453,27 @@ class FPNFeatureMapGeneratorTest(tf.test.TestCase, parameterized.TestCase):
'top_down_block4'
:
(
4
,
2
,
2
,
128
),
'top_down_block5'
:
(
4
,
1
,
1
,
128
)
}
init_op
=
tf
.
global_variables_initializer
()
with
self
.
test_session
()
as
sess
:
sess
.
run
(
init_op
)
out_feature_maps
=
sess
.
run
(
feature_maps
)
out_feature_map_shapes
=
{
key
:
value
.
shape
for
key
,
value
in
out_feature_maps
.
items
()}
self
.
assertDictEqual
(
out_feature_map_shapes
,
expected_feature_map_shapes
)
out_feature_maps
=
self
.
execute
(
graph_fn
,
[],
g
)
out_feature_map_shapes
=
dict
(
(
key
,
value
.
shape
)
for
key
,
value
in
out_feature_maps
.
items
())
self
.
assertDictEqual
(
expected_feature_map_shapes
,
out_feature_map_shapes
)
def
test_get_expected_feature_map_shapes_with_explicit_padding
(
self
,
use_native_resize_op
,
use_keras
):
image_features
=
[
(
'block2'
,
tf
.
random_uniform
([
4
,
8
,
8
,
256
],
dtype
=
tf
.
float32
)),
(
'block3'
,
tf
.
random_uniform
([
4
,
4
,
4
,
256
],
dtype
=
tf
.
float32
)),
(
'block4'
,
tf
.
random_uniform
([
4
,
2
,
2
,
256
],
dtype
=
tf
.
float32
)),
(
'block5'
,
tf
.
random_uniform
([
4
,
1
,
1
,
256
],
dtype
=
tf
.
float32
))
]
feature_map_generator
=
self
.
_build_feature_map_generator
(
image_features
=
image_features
,
depth
=
128
,
use_keras
=
use_keras
,
use_explicit_padding
=
True
,
use_native_resize_op
=
use_native_resize_op
)
feature_maps
=
feature_map_generator
(
image_features
)
self
,
use_native_resize_op
):
with
test_utils
.
GraphContextOrNone
()
as
g
:
image_features
=
[
(
'block2'
,
tf
.
random_uniform
([
4
,
8
,
8
,
256
],
dtype
=
tf
.
float32
)),
(
'block3'
,
tf
.
random_uniform
([
4
,
4
,
4
,
256
],
dtype
=
tf
.
float32
)),
(
'block4'
,
tf
.
random_uniform
([
4
,
2
,
2
,
256
],
dtype
=
tf
.
float32
)),
(
'block5'
,
tf
.
random_uniform
([
4
,
1
,
1
,
256
],
dtype
=
tf
.
float32
))
]
feature_map_generator
=
self
.
_build_feature_map_generator
(
image_features
=
image_features
,
depth
=
128
,
use_explicit_padding
=
True
,
use_native_resize_op
=
use_native_resize_op
)
def
graph_fn
():
return
feature_map_generator
(
image_features
)
expected_feature_map_shapes
=
{
'top_down_block2'
:
(
4
,
8
,
8
,
128
),
...
...
@@ -505,19 +481,15 @@ class FPNFeatureMapGeneratorTest(tf.test.TestCase, parameterized.TestCase):
'top_down_block4'
:
(
4
,
2
,
2
,
128
),
'top_down_block5'
:
(
4
,
1
,
1
,
128
)
}
out_feature_maps
=
self
.
execute
(
graph_fn
,
[],
g
)
out_feature_map_shapes
=
dict
(
(
key
,
value
.
shape
)
for
key
,
value
in
out_feature_maps
.
items
())
self
.
assertDictEqual
(
expected_feature_map_shapes
,
out_feature_map_shapes
)
init_op
=
tf
.
global_variables_initializer
()
with
self
.
test_session
()
as
sess
:
sess
.
run
(
init_op
)
out_feature_maps
=
sess
.
run
(
feature_maps
)
out_feature_map_shapes
=
{
key
:
value
.
shape
for
key
,
value
in
out_feature_maps
.
items
()}
self
.
assertDictEqual
(
out_feature_map_shapes
,
expected_feature_map_shapes
)
@
unittest
.
skipIf
(
tf_version
.
is_tf2
(),
'Skipping TF1.X only test.'
)
def
test_use_bounded_activations_add_operations
(
self
,
use_native_resize_op
,
use_keras
):
tf_graph
=
tf
.
Graph
()
with
tf_graph
.
as_default
():
self
,
use_native_resize_op
):
with
test_utils
.
GraphContextOrNone
()
as
g
:
image_features
=
[(
'block2'
,
tf
.
random_uniform
([
4
,
8
,
8
,
256
],
dtype
=
tf
.
float32
)),
(
'block3'
,
...
...
@@ -529,34 +501,23 @@ class FPNFeatureMapGeneratorTest(tf.test.TestCase, parameterized.TestCase):
feature_map_generator
=
self
.
_build_feature_map_generator
(
image_features
=
image_features
,
depth
=
128
,
use_keras
=
use_keras
,
use_bounded_activations
=
True
,
use_native_resize_op
=
use_native_resize_op
)
feature_map_generator
(
image_features
)
if
use_keras
:
expected_added_operations
=
dict
.
fromkeys
([
'FeatureMaps/top_down/clip_by_value/clip_by_value'
,
'FeatureMaps/top_down/clip_by_value_1/clip_by_value'
,
'FeatureMaps/top_down/clip_by_value_2/clip_by_value'
,
'FeatureMaps/top_down/clip_by_value_3/clip_by_value'
,
'FeatureMaps/top_down/clip_by_value_4/clip_by_value'
,
'FeatureMaps/top_down/clip_by_value_5/clip_by_value'
,
'FeatureMaps/top_down/clip_by_value_6/clip_by_value'
,
])
else
:
expected_added_operations
=
dict
.
fromkeys
([
'top_down/clip_by_value'
,
'top_down/clip_by_value_1'
,
'top_down/clip_by_value_2'
,
'top_down/clip_by_value_3'
,
'top_down/clip_by_value_4'
,
'top_down/clip_by_value_5'
,
'top_down/clip_by_value_6'
])
op_names
=
{
op
.
name
:
None
for
op
in
tf_graph
.
get_operations
()}
self
.
assertDictContainsSubset
(
expected_added_operations
,
op_names
)
def
graph_fn
():
return
feature_map_generator
(
image_features
)
self
.
execute
(
graph_fn
,
[],
g
)
expected_added_operations
=
dict
.
fromkeys
([
'top_down/clip_by_value'
,
'top_down/clip_by_value_1'
,
'top_down/clip_by_value_2'
,
'top_down/clip_by_value_3'
,
'top_down/clip_by_value_4'
,
'top_down/clip_by_value_5'
,
'top_down/clip_by_value_6'
])
op_names
=
{
op
.
name
:
None
for
op
in
g
.
get_operations
()}
self
.
assertDictContainsSubset
(
expected_added_operations
,
op_names
)
@
unittest
.
skipIf
(
tf_version
.
is_tf2
(),
'Skipping TF1.X only test.'
)
def
test_use_bounded_activations_clip_value
(
self
,
use_native_resize_op
,
use_keras
):
self
,
use_native_resize_op
):
tf_graph
=
tf
.
Graph
()
with
tf_graph
.
as_default
():
image_features
=
[
...
...
@@ -568,28 +529,16 @@ class FPNFeatureMapGeneratorTest(tf.test.TestCase, parameterized.TestCase):
feature_map_generator
=
self
.
_build_feature_map_generator
(
image_features
=
image_features
,
depth
=
128
,
use_keras
=
use_keras
,
use_bounded_activations
=
True
,
use_native_resize_op
=
use_native_resize_op
)
feature_map_generator
(
image_features
)
if
use_keras
:
expected_clip_by_value_ops
=
dict
.
fromkeys
([
'FeatureMaps/top_down/clip_by_value/clip_by_value'
,
'FeatureMaps/top_down/clip_by_value_1/clip_by_value'
,
'FeatureMaps/top_down/clip_by_value_2/clip_by_value'
,
'FeatureMaps/top_down/clip_by_value_3/clip_by_value'
,
'FeatureMaps/top_down/clip_by_value_4/clip_by_value'
,
'FeatureMaps/top_down/clip_by_value_5/clip_by_value'
,
'FeatureMaps/top_down/clip_by_value_6/clip_by_value'
,
])
else
:
expected_clip_by_value_ops
=
[
'top_down/clip_by_value'
,
'top_down/clip_by_value_1'
,
'top_down/clip_by_value_2'
,
'top_down/clip_by_value_3'
,
'top_down/clip_by_value_4'
,
'top_down/clip_by_value_5'
,
'top_down/clip_by_value_6'
]
expected_clip_by_value_ops
=
[
'top_down/clip_by_value'
,
'top_down/clip_by_value_1'
,
'top_down/clip_by_value_2'
,
'top_down/clip_by_value_3'
,
'top_down/clip_by_value_4'
,
'top_down/clip_by_value_5'
,
'top_down/clip_by_value_6'
]
# Gathers activation tensors before and after clip_by_value operations.
activations
=
{}
...
...
@@ -631,20 +580,21 @@ class FPNFeatureMapGeneratorTest(tf.test.TestCase, parameterized.TestCase):
self
.
assertLessEqual
(
after_clipping_upper_bound
,
expected_upper_bound
)
def
test_get_expected_feature_map_shapes_with_depthwise
(
self
,
use_native_resize_op
,
use_keras
):
image_features
=
[
(
'block2'
,
tf
.
random_uniform
([
4
,
8
,
8
,
256
],
dtype
=
tf
.
float32
)),
(
'block3'
,
tf
.
random_uniform
([
4
,
4
,
4
,
256
],
dtype
=
tf
.
float32
)),
(
'block4'
,
tf
.
random_uniform
([
4
,
2
,
2
,
256
],
dtype
=
tf
.
float32
)),
(
'block5'
,
tf
.
random_uniform
([
4
,
1
,
1
,
256
],
dtype
=
tf
.
float32
))
]
feature_map_generator
=
self
.
_build_feature_map_generator
(
image_features
=
image_features
,
depth
=
128
,
use_keras
=
use_keras
,
use_depthwise
=
True
,
use_native_resize_op
=
use_native_resize_op
)
feature_maps
=
feature_map_generator
(
image_features
)
self
,
use_native_resize_op
):
with
test_utils
.
GraphContextOrNone
()
as
g
:
image_features
=
[
(
'block2'
,
tf
.
random_uniform
([
4
,
8
,
8
,
256
],
dtype
=
tf
.
float32
)),
(
'block3'
,
tf
.
random_uniform
([
4
,
4
,
4
,
256
],
dtype
=
tf
.
float32
)),
(
'block4'
,
tf
.
random_uniform
([
4
,
2
,
2
,
256
],
dtype
=
tf
.
float32
)),
(
'block5'
,
tf
.
random_uniform
([
4
,
1
,
1
,
256
],
dtype
=
tf
.
float32
))
]
feature_map_generator
=
self
.
_build_feature_map_generator
(
image_features
=
image_features
,
depth
=
128
,
use_depthwise
=
True
,
use_native_resize_op
=
use_native_resize_op
)
def
graph_fn
():
return
feature_map_generator
(
image_features
)
expected_feature_map_shapes
=
{
'top_down_block2'
:
(
4
,
8
,
8
,
128
),
...
...
@@ -652,30 +602,27 @@ class FPNFeatureMapGeneratorTest(tf.test.TestCase, parameterized.TestCase):
'top_down_block4'
:
(
4
,
2
,
2
,
128
),
'top_down_block5'
:
(
4
,
1
,
1
,
128
)
}
init_op
=
tf
.
global_variables_initializer
()
with
self
.
test_session
()
as
sess
:
sess
.
run
(
init_op
)
out_feature_maps
=
sess
.
run
(
feature_maps
)
out_feature_map_shapes
=
{
key
:
value
.
shape
for
key
,
value
in
out_feature_maps
.
items
()}
self
.
assertDictEqual
(
out_feature_map_shapes
,
expected_feature_map_shapes
)
out_feature_maps
=
self
.
execute
(
graph_fn
,
[],
g
)
out_feature_map_shapes
=
dict
(
(
key
,
value
.
shape
)
for
key
,
value
in
out_feature_maps
.
items
())
self
.
assertDictEqual
(
expected_feature_map_shapes
,
out_feature_map_shapes
)
def
test_get_expected_variable_names
(
self
,
use_native_resize_op
,
use_keras
):
image_features
=
[
(
'block2'
,
tf
.
random_uniform
([
4
,
8
,
8
,
256
],
dtype
=
tf
.
float32
)),
(
'block3'
,
tf
.
random_uniform
([
4
,
4
,
4
,
256
],
dtype
=
tf
.
float32
)),
(
'block4'
,
tf
.
random_uniform
([
4
,
2
,
2
,
256
],
dtype
=
tf
.
float32
)),
(
'block5'
,
tf
.
random_uniform
([
4
,
1
,
1
,
256
],
dtype
=
tf
.
float32
))
]
feature_map_generator
=
self
.
_build_feature_map_generator
(
image_features
=
image_features
,
depth
=
128
,
use_keras
=
use_keras
,
use_native_resize_op
=
use_native_resize_op
)
feature_maps
=
feature_map_generator
(
image_features
)
self
,
use_native_resize_op
):
with
test_utils
.
GraphContextOrNone
()
as
g
:
image_features
=
[
(
'block2'
,
tf
.
random_uniform
([
4
,
8
,
8
,
256
],
dtype
=
tf
.
float32
)),
(
'block3'
,
tf
.
random_uniform
([
4
,
4
,
4
,
256
],
dtype
=
tf
.
float32
)),
(
'block4'
,
tf
.
random_uniform
([
4
,
2
,
2
,
256
],
dtype
=
tf
.
float32
)),
(
'block5'
,
tf
.
random_uniform
([
4
,
1
,
1
,
256
],
dtype
=
tf
.
float32
))
]
feature_map_generator
=
self
.
_build_feature_map_generator
(
image_features
=
image_features
,
depth
=
128
,
use_native_resize_op
=
use_native_resize_op
)
def
graph_fn
():
return
feature_map_generator
(
image_features
)
self
.
execute
(
graph_fn
,
[],
g
)
expected_slim_variables
=
set
([
'projection_1/weights'
,
'projection_1/biases'
,
...
...
@@ -709,33 +656,34 @@ class FPNFeatureMapGeneratorTest(tf.test.TestCase, parameterized.TestCase):
'FeatureMaps/top_down/smoothing_3_conv/kernel'
,
'FeatureMaps/top_down/smoothing_3_conv/bias'
])
init_op
=
tf
.
global_variables_initializer
()
with
self
.
test_session
()
as
sess
:
sess
.
run
(
init_op
)
sess
.
run
(
feature_maps
)
if
tf_version
.
is_tf2
():
actual_variable_set
=
set
(
[
var
.
op
.
name
for
var
in
tf
.
trainable_variables
()])
if
use_keras
:
self
.
assertSetEqual
(
expected_keras_variables
,
actual_variable_set
)
else
:
self
.
assertSetEqual
(
expected_slim_variables
,
actual_variable_set
)
[
var
.
name
.
split
(
':'
)[
0
]
for
var
in
feature_map_generator
.
variables
])
self
.
assertSetEqual
(
expected_keras_variables
,
actual_variable_set
)
else
:
with
g
.
as_default
():
actual_variable_set
=
set
(
[
var
.
op
.
name
for
var
in
tf
.
trainable_variables
()])
self
.
assertSetEqual
(
expected_slim_variables
,
actual_variable_set
)
def
test_get_expected_variable_names_with_depthwise
(
self
,
use_native_resize_op
,
use_keras
):
image_features
=
[
(
'block2'
,
tf
.
random_uniform
([
4
,
8
,
8
,
256
],
dtype
=
tf
.
float32
)),
(
'block3'
,
tf
.
random_uniform
([
4
,
4
,
4
,
256
],
dtype
=
tf
.
float32
)),
(
'block4'
,
tf
.
random_uniform
([
4
,
2
,
2
,
256
],
dtype
=
tf
.
float32
)),
(
'block5'
,
tf
.
random_uniform
([
4
,
1
,
1
,
256
],
dtype
=
tf
.
float32
))
]
feature_map_generator
=
self
.
_build_feature_map_generator
(
image_features
=
image_features
,
depth
=
128
,
use_keras
=
use_keras
,
use_depthwise
=
True
,
use_native_resize_op
=
use_native_resize_op
)
feature_maps
=
feature_map_generator
(
image_features
)
self
,
use_native_resize_op
):
with
test_utils
.
GraphContextOrNone
()
as
g
:
image_features
=
[
(
'block2'
,
tf
.
random_uniform
([
4
,
8
,
8
,
256
],
dtype
=
tf
.
float32
)),
(
'block3'
,
tf
.
random_uniform
([
4
,
4
,
4
,
256
],
dtype
=
tf
.
float32
)),
(
'block4'
,
tf
.
random_uniform
([
4
,
2
,
2
,
256
],
dtype
=
tf
.
float32
)),
(
'block5'
,
tf
.
random_uniform
([
4
,
1
,
1
,
256
],
dtype
=
tf
.
float32
))
]
feature_map_generator
=
self
.
_build_feature_map_generator
(
image_features
=
image_features
,
depth
=
128
,
use_depthwise
=
True
,
use_native_resize_op
=
use_native_resize_op
)
def
graph_fn
():
return
feature_map_generator
(
image_features
)
self
.
execute
(
graph_fn
,
[],
g
)
expected_slim_variables
=
set
([
'projection_1/weights'
,
'projection_1/biases'
,
...
...
@@ -775,16 +723,16 @@ class FPNFeatureMapGeneratorTest(tf.test.TestCase, parameterized.TestCase):
'FeatureMaps/top_down/smoothing_3_depthwise_conv/pointwise_kernel'
,
'FeatureMaps/top_down/smoothing_3_depthwise_conv/bias'
])
init_op
=
tf
.
global_variables_initializer
()
with
self
.
test_session
()
as
sess
:
sess
.
run
(
init_op
)
sess
.
run
(
feature_maps
)
if
tf_version
.
is_tf2
():
actual_variable_set
=
set
(
[
var
.
op
.
name
for
var
in
tf
.
trainable_variables
()])
if
use_keras
:
self
.
assertSetEqual
(
expected_keras_variables
,
actual_variable_set
)
else
:
self
.
assertSetEqual
(
expected_slim_variables
,
actual_variable_set
)
[
var
.
name
.
split
(
':'
)[
0
]
for
var
in
feature_map_generator
.
variables
])
self
.
assertSetEqual
(
expected_keras_variables
,
actual_variable_set
)
else
:
with
g
.
as_default
():
actual_variable_set
=
set
(
[
var
.
op
.
name
for
var
in
tf
.
trainable_variables
()])
self
.
assertSetEqual
(
expected_slim_variables
,
actual_variable_set
)
class
GetDepthFunctionTest
(
tf
.
test
.
TestCase
):
...
...
@@ -804,6 +752,7 @@ class GetDepthFunctionTest(tf.test.TestCase):
{
'replace_pool_with_conv'
:
False
},
{
'replace_pool_with_conv'
:
True
},
)
@
unittest
.
skipIf
(
tf_version
.
is_tf2
(),
'Skipping TF1.X only test.'
)
class
PoolingPyramidFeatureMapGeneratorTest
(
tf
.
test
.
TestCase
):
def
test_get_expected_feature_map_shapes
(
self
,
replace_pool_with_conv
):
...
...
research/object_detection/models/keras_models/convert_keras_models.py
0 → 100644
View file @
47bc1813
# Copyright 2019 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.
# ==============================================================================
"""Write keras weights into a tensorflow checkpoint.
The imagenet weights in `keras.applications` are downloaded from github.
This script converts them into the tensorflow checkpoint format and stores them
on disk where they can be easily accessible during training.
"""
from
__future__
import
print_function
import
os
from
absl
import
app
import
numpy
as
np
import
tensorflow.compat.v1
as
tf
FLAGS
=
tf
.
flags
.
FLAGS
tf
.
flags
.
DEFINE_string
(
'model'
,
'resnet_v2_101'
,
'The model to load. The following are supported: '
'"resnet_v1_50", "resnet_v1_101", "resnet_v2_50", '
'"resnet_v2_101"'
)
tf
.
flags
.
DEFINE_string
(
'output_path'
,
None
,
'The directory to output weights in.'
)
tf
.
flags
.
DEFINE_boolean
(
'verify_weights'
,
True
,
(
'Verify the weights are loaded correctly by making '
'sure the predictions are the same before and after '
'saving.'
))
def
init_model
(
name
):
"""Creates a Keras Model with the specific ResNet version."""
if
name
==
'resnet_v1_50'
:
model
=
tf
.
keras
.
applications
.
ResNet50
(
weights
=
'imagenet'
)
elif
name
==
'resnet_v1_101'
:
model
=
tf
.
keras
.
applications
.
ResNet101
(
weights
=
'imagenet'
)
elif
name
==
'resnet_v2_50'
:
model
=
tf
.
keras
.
applications
.
ResNet50V2
(
weights
=
'imagenet'
)
elif
name
==
'resnet_v2_101'
:
model
=
tf
.
keras
.
applications
.
ResNet101V2
(
weights
=
'imagenet'
)
else
:
raise
ValueError
(
'Model {} not supported'
.
format
(
FLAGS
.
model
))
return
model
def
main
(
_
):
model
=
init_model
(
FLAGS
.
model
)
path
=
os
.
path
.
join
(
FLAGS
.
output_path
,
FLAGS
.
model
)
tf
.
gfile
.
MakeDirs
(
path
)
weights_path
=
os
.
path
.
join
(
path
,
'weights'
)
ckpt
=
tf
.
train
.
Checkpoint
(
feature_extractor
=
model
)
saved_path
=
ckpt
.
save
(
weights_path
)
if
FLAGS
.
verify_weights
:
imgs
=
np
.
random
.
randn
(
1
,
224
,
224
,
3
).
astype
(
np
.
float32
)
keras_preds
=
model
(
imgs
)
model
=
init_model
(
FLAGS
.
model
)
ckpt
.
restore
(
saved_path
)
loaded_weights_pred
=
model
(
imgs
).
numpy
()
if
not
np
.
all
(
np
.
isclose
(
keras_preds
,
loaded_weights_pred
)):
raise
RuntimeError
(
'The model was not saved correctly.'
)
if
__name__
==
'__main__'
:
tf
.
enable_v2_behavior
()
app
.
run
(
main
)
research/object_detection/models/keras_models/hourglass_network.py
View file @
47bc1813
...
...
@@ -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/hourglass_network_test.py
→
research/object_detection/models/keras_models/hourglass_network_
tf2_
test.py
View file @
47bc1813
...
...
@@ -13,14 +13,16 @@
# limitations under the License.
# ==============================================================================
"""Testing the Hourglass network."""
import
unittest
from
absl.testing
import
parameterized
import
numpy
as
np
import
tensorflow.compat.v1
as
tf
from
object_detection.models.keras_models
import
hourglass_network
as
hourglass
from
object_detection.utils
import
tf_version
@
unittest
.
skipIf
(
tf_version
.
is_tf1
(),
'Skipping TF2.X only test.'
)
class
HourglassFeatureExtractorTest
(
tf
.
test
.
TestCase
,
parameterized
.
TestCase
):
def
test_identity_layer
(
self
):
...
...
@@ -95,5 +97,4 @@ class HourglassFeatureExtractorTest(tf.test.TestCase, parameterized.TestCase):
if
__name__
==
'__main__'
:
tf
.
enable_v2_behavior
()
tf
.
test
.
main
()
research/object_detection/models/keras_models/inception_resnet_v2_test.py
→
research/object_detection/models/keras_models/inception_resnet_v2_
tf2_
test.py
View file @
47bc1813
...
...
@@ -30,13 +30,14 @@ consistent.
from
__future__
import
absolute_import
from
__future__
import
division
from
__future__
import
print_function
import
unittest
import
numpy
as
np
from
six.moves
import
zip
import
tensorflow.compat.v1
as
tf
from
object_detection.models.keras_models
import
inception_resnet_v2
from
object_detection.utils
import
test_case
from
object_detection.utils
import
tf_version
_KERAS_TO_SLIM_ENDPOINT_NAMES
=
{
'activation'
:
'Conv2d_1a_3x3'
,
...
...
@@ -100,6 +101,7 @@ _NUM_CHANNELS = 3
_BATCH_SIZE
=
2
@
unittest
.
skipIf
(
tf_version
.
is_tf1
(),
'Skipping TF2.X only test.'
)
class
InceptionResnetV2Test
(
test_case
.
TestCase
):
def
_create_application_with_layer_outputs
(
...
...
@@ -166,8 +168,7 @@ class InceptionResnetV2Test(test_case.TestCase):
model
=
self
.
_create_application_with_layer_outputs
(
layer_names
=
layer_names
,
batchnorm_training
=
False
)
preprocessed_inputs
=
tf
.
placeholder
(
tf
.
float32
,
(
4
,
None
,
None
,
_NUM_CHANNELS
))
preprocessed_inputs
=
tf
.
random
.
uniform
([
4
,
40
,
40
,
_NUM_CHANNELS
])
model
(
preprocessed_inputs
)
return
model
.
variables
...
...
research/object_detection/models/keras_models/mobilenet_v1_test.py
→
research/object_detection/models/keras_models/mobilenet_v1_
tf2_
test.py
View file @
47bc1813
...
...
@@ -29,7 +29,7 @@ consistent.
from
__future__
import
absolute_import
from
__future__
import
division
from
__future__
import
print_function
import
unittest
import
numpy
as
np
from
six.moves
import
zip
import
tensorflow.compat.v1
as
tf
...
...
@@ -42,6 +42,7 @@ from object_detection.models.keras_models import model_utils
from
object_detection.models.keras_models
import
test_utils
from
object_detection.protos
import
hyperparams_pb2
from
object_detection.utils
import
test_case
from
object_detection.utils
import
tf_version
_KERAS_LAYERS_TO_CHECK
=
[
'conv1_relu'
,
...
...
@@ -64,6 +65,7 @@ _NUM_CHANNELS = 3
_BATCH_SIZE
=
2
@
unittest
.
skipIf
(
tf_version
.
is_tf1
(),
'Skipping TF2.X only test.'
)
class
MobilenetV1Test
(
test_case
.
TestCase
):
def
_build_conv_hyperparams
(
self
):
...
...
@@ -118,19 +120,17 @@ class MobilenetV1Test(test_case.TestCase):
self
,
image_height
,
image_width
,
depth_multiplier
,
expected_feature_map_shape
,
use_explicit_padding
=
False
,
min_depth
=
8
,
layer_names
=
None
,
conv_defs
=
None
):
def
graph_fn
(
image_tensor
):
model
=
self
.
_create_application_with_layer_outputs
(
layer_names
=
layer_names
,
batchnorm_training
=
False
,
use_explicit_padding
=
use_explicit_padding
,
min_depth
=
min_depth
,
alpha
=
depth_multiplier
,
conv_defs
=
conv_defs
)
return
model
(
image_tensor
)
model
=
self
.
_create_application_with_layer_outputs
(
layer_names
=
layer_names
,
batchnorm_training
=
False
,
use_explicit_padding
=
use_explicit_padding
,
min_depth
=
min_depth
,
alpha
=
depth_multiplier
,
conv_defs
=
conv_defs
)
image_tensor
=
np
.
random
.
rand
(
_BATCH_SIZE
,
image_height
,
image_width
,
_NUM_CHANNELS
).
astype
(
np
.
float32
)
feature_maps
=
self
.
execute
(
graph_fn
,
[
image_tensor
]
)
feature_maps
=
model
(
image_tensor
)
for
feature_map
,
expected_shape
in
zip
(
feature_maps
,
expected_feature_map_shape
):
...
...
@@ -140,36 +140,29 @@ class MobilenetV1Test(test_case.TestCase):
self
,
image_height
,
image_width
,
depth_multiplier
,
expected_feature_map_shape
,
use_explicit_padding
=
False
,
min_depth
=
8
,
layer_names
=
None
):
def
graph_fn
(
image_height
,
image_width
):
image_tensor
=
tf
.
random_uniform
([
_BATCH_SIZE
,
image_height
,
image_width
,
_NUM_CHANNELS
],
dtype
=
tf
.
float32
)
model
=
self
.
_create_application_with_layer_outputs
(
layer_names
=
layer_names
,
batchnorm_training
=
False
,
use_explicit_padding
=
use_explicit_padding
,
alpha
=
depth_multiplier
)
return
model
(
image_tensor
)
image_tensor
=
tf
.
random_uniform
([
_BATCH_SIZE
,
image_height
,
image_width
,
_NUM_CHANNELS
],
dtype
=
tf
.
float32
)
model
=
self
.
_create_application_with_layer_outputs
(
layer_names
=
layer_names
,
batchnorm_training
=
False
,
use_explicit_padding
=
use_explicit_padding
,
alpha
=
depth_multiplier
)
feature_maps
=
self
.
execute_cpu
(
graph_fn
,
[
np
.
array
(
image_height
,
dtype
=
np
.
int32
),
np
.
array
(
image_width
,
dtype
=
np
.
int32
)
])
feature_maps
=
model
(
image_tensor
)
for
feature_map
,
expected_shape
in
zip
(
feature_maps
,
expected_feature_map_shape
):
self
.
assertAllEqual
(
feature_map
.
shape
,
expected_shape
)
def
_get_variables
(
self
,
depth_multiplier
,
layer_names
=
None
):
g
=
tf
.
Graph
()
with
g
.
as_default
():
preprocessed_inputs
=
tf
.
placeholder
(
tf
.
float32
,
(
4
,
None
,
None
,
_NUM_CHANNELS
))
model
=
self
.
_create_application_with_layer_outputs
(
layer_names
=
layer_names
,
batchnorm_training
=
False
,
use_explicit_padding
=
False
,
alpha
=
depth_multiplier
)
model
(
preprocessed_inputs
)
return
g
.
get_collection
(
tf
.
GraphKeys
.
GLOBAL_VARIABLES
)
tf
.
keras
.
backend
.
clear_session
()
model
=
self
.
_create_application_with_layer_outputs
(
layer_names
=
layer_names
,
batchnorm_training
=
False
,
use_explicit_padding
=
False
,
alpha
=
depth_multiplier
)
preprocessed_inputs
=
tf
.
random
.
uniform
([
2
,
40
,
40
,
3
])
model
(
preprocessed_inputs
)
return
model
.
variables
def
test_returns_correct_shapes_128
(
self
):
image_height
=
128
...
...
research/object_detection/models/keras_models/mobilenet_v2_test.py
→
research/object_detection/models/keras_models/mobilenet_v2_
tf2_
test.py
View file @
47bc1813
...
...
@@ -18,7 +18,7 @@
from
__future__
import
absolute_import
from
__future__
import
division
from
__future__
import
print_function
import
unittest
import
numpy
as
np
from
six.moves
import
zip
import
tensorflow.compat.v1
as
tf
...
...
@@ -31,6 +31,7 @@ from object_detection.models.keras_models import model_utils
from
object_detection.models.keras_models
import
test_utils
from
object_detection.protos
import
hyperparams_pb2
from
object_detection.utils
import
test_case
from
object_detection.utils
import
tf_version
_layers_to_check
=
[
'Conv1_relu'
,
...
...
@@ -53,6 +54,7 @@ _layers_to_check = [
'out_relu'
]
@
unittest
.
skipIf
(
tf_version
.
is_tf1
(),
'Skipping TF2.X only test.'
)
class
MobilenetV2Test
(
test_case
.
TestCase
):
def
_build_conv_hyperparams
(
self
):
...
...
@@ -86,6 +88,8 @@ class MobilenetV2Test(test_case.TestCase):
min_depth
=
None
,
conv_defs
=
None
):
"""Constructs Keras mobilenetv2 that extracts intermediate layer outputs."""
# Have to clear the Keras backend to ensure isolation in layer naming
tf
.
keras
.
backend
.
clear_session
()
if
not
layer_names
:
layer_names
=
_layers_to_check
full_model
=
mobilenet_v2
.
mobilenet_v2
(
...
...
@@ -107,19 +111,17 @@ class MobilenetV2Test(test_case.TestCase):
self
,
batch_size
,
image_height
,
image_width
,
depth_multiplier
,
expected_feature_map_shapes
,
use_explicit_padding
=
False
,
min_depth
=
None
,
layer_names
=
None
,
conv_defs
=
None
):
def
graph_fn
(
image_tensor
):
model
=
self
.
_create_application_with_layer_outputs
(
layer_names
=
layer_names
,
batchnorm_training
=
False
,
use_explicit_padding
=
use_explicit_padding
,
min_depth
=
min_depth
,
alpha
=
depth_multiplier
,
conv_defs
=
conv_defs
)
return
model
(
image_tensor
)
model
=
self
.
_create_application_with_layer_outputs
(
layer_names
=
layer_names
,
batchnorm_training
=
False
,
use_explicit_padding
=
use_explicit_padding
,
min_depth
=
min_depth
,
alpha
=
depth_multiplier
,
conv_defs
=
conv_defs
)
image_tensor
=
np
.
random
.
rand
(
batch_size
,
image_height
,
image_width
,
3
).
astype
(
np
.
float32
)
feature_maps
=
self
.
execute
(
graph_fn
,
[
image_tensor
])
feature_maps
=
model
(
[
image_tensor
])
for
feature_map
,
expected_shape
in
zip
(
feature_maps
,
expected_feature_map_shapes
):
...
...
@@ -129,34 +131,30 @@ class MobilenetV2Test(test_case.TestCase):
self
,
batch_size
,
image_height
,
image_width
,
depth_multiplier
,
expected_feature_map_shapes
,
use_explicit_padding
=
False
,
layer_names
=
None
):
def
graph_fn
(
image_height
,
image_width
):
image_tensor
=
tf
.
random_uniform
([
batch_size
,
image_height
,
image_width
,
3
],
dtype
=
tf
.
float32
)
model
=
self
.
_create_application_with_layer_outputs
(
layer_names
=
layer_names
,
batchnorm_training
=
False
,
use_explicit_padding
=
use_explicit_padding
,
alpha
=
depth_multiplier
)
return
model
(
image_tensor
)
feature_maps
=
self
.
execute_cpu
(
graph_fn
,
[
np
.
array
(
image_height
,
dtype
=
np
.
int32
),
np
.
array
(
image_width
,
dtype
=
np
.
int32
)
])
height
=
tf
.
random
.
uniform
([],
minval
=
image_height
,
maxval
=
image_height
+
1
,
dtype
=
tf
.
int32
)
width
=
tf
.
random
.
uniform
([],
minval
=
image_width
,
maxval
=
image_width
+
1
,
dtype
=
tf
.
int32
)
image_tensor
=
tf
.
random
.
uniform
([
batch_size
,
height
,
width
,
3
],
dtype
=
tf
.
float32
)
model
=
self
.
_create_application_with_layer_outputs
(
layer_names
=
layer_names
,
batchnorm_training
=
False
,
use_explicit_padding
=
use_explicit_padding
,
alpha
=
depth_multiplier
)
feature_maps
=
model
(
image_tensor
)
for
feature_map
,
expected_shape
in
zip
(
feature_maps
,
expected_feature_map_shapes
):
self
.
assertAllEqual
(
feature_map
.
shape
,
expected_shape
)
def
_get_variables
(
self
,
depth_multiplier
,
layer_names
=
None
):
g
=
tf
.
Graph
()
with
g
.
as_default
():
preprocessed_inputs
=
tf
.
placeholder
(
tf
.
float32
,
(
4
,
None
,
None
,
3
))
model
=
self
.
_create_application_with_layer_outputs
(
layer_names
=
layer_names
,
batchnorm_training
=
False
,
use_explicit_padding
=
False
,
alpha
=
depth_multiplier
)
model
(
preprocessed_inputs
)
return
g
.
get_collection
(
tf
.
GraphKeys
.
GLOBAL_VARIABLES
)
tf
.
keras
.
backend
.
clear_session
()
model
=
self
.
_create_application_with_layer_outputs
(
layer_names
=
layer_names
,
batchnorm_training
=
False
,
use_explicit_padding
=
False
,
alpha
=
depth_multiplier
)
preprocessed_inputs
=
tf
.
random
.
uniform
([
2
,
40
,
40
,
3
])
model
(
preprocessed_inputs
)
return
model
.
variables
def
test_returns_correct_shapes_128
(
self
):
image_height
=
128
...
...
research/object_detection/models/keras_models/resnet_v1_test.py
→
research/object_detection/models/keras_models/resnet_v1_
tf2_
test.py
View file @
47bc1813
...
...
@@ -19,7 +19,7 @@ object detection. To verify the consistency of the two models, we compare:
1. Output shape of each layer given different inputs.
2. Number of global variables.
"""
import
unittest
import
numpy
as
np
from
six.moves
import
zip
import
tensorflow.compat.v1
as
tf
...
...
@@ -30,6 +30,7 @@ from object_detection.builders import hyperparams_builder
from
object_detection.models.keras_models
import
resnet_v1
from
object_detection.protos
import
hyperparams_pb2
from
object_detection.utils
import
test_case
from
object_detection.utils
import
tf_version
_EXPECTED_SHAPES_224_RESNET50
=
{
'conv2_block3_out'
:
(
4
,
56
,
56
,
256
),
...
...
@@ -65,6 +66,7 @@ _NUM_CHANNELS = 3
_BATCH_SIZE
=
4
@
unittest
.
skipIf
(
tf_version
.
is_tf1
(),
'Skipping TF2.X only test.'
)
class
ResnetV1Test
(
test_case
.
TestCase
):
def
_build_conv_hyperparams
(
self
):
...
...
@@ -146,8 +148,7 @@ class ResnetV1Test(test_case.TestCase):
tf
.
keras
.
backend
.
clear_session
()
model
=
self
.
_create_application_with_layer_outputs
(
model_index
,
batchnorm_training
=
False
)
preprocessed_inputs
=
tf
.
placeholder
(
tf
.
float32
,
(
4
,
None
,
None
,
_NUM_CHANNELS
))
preprocessed_inputs
=
tf
.
random
.
uniform
([
2
,
40
,
40
,
_NUM_CHANNELS
])
model
(
preprocessed_inputs
)
return
model
.
variables
...
...
research/object_detection/models/ssd_feature_extractor_test.py
View file @
47bc1813
...
...
@@ -31,6 +31,7 @@ from google.protobuf import text_format
from
object_detection.builders
import
hyperparams_builder
from
object_detection.protos
import
hyperparams_pb2
from
object_detection.utils
import
test_case
from
object_detection.utils
import
test_utils
class
SsdFeatureExtractorTestBase
(
test_case
.
TestCase
):
...
...
@@ -89,14 +90,13 @@ class SsdFeatureExtractorTestBase(test_case.TestCase):
"""
pass
def
_extract_features
(
self
,
image_tensor
,
depth_multiplier
,
pad_to_multiple
,
use_explicit_padding
=
False
,
use_depthwise
=
False
,
num_layers
=
6
,
use_keras
=
False
):
def
_create_features
(
self
,
depth_multiplier
,
pad_to_multiple
,
use_explicit_padding
=
False
,
use_depthwise
=
False
,
num_layers
=
6
,
use_keras
=
False
):
kwargs
=
{}
if
use_explicit_padding
:
kwargs
.
update
({
'use_explicit_padding'
:
use_explicit_padding
})
...
...
@@ -110,6 +110,12 @@ class SsdFeatureExtractorTestBase(test_case.TestCase):
depth_multiplier
,
pad_to_multiple
,
**
kwargs
)
return
feature_extractor
def
_extract_features
(
self
,
image_tensor
,
feature_extractor
,
use_keras
=
False
):
if
use_keras
:
feature_maps
=
feature_extractor
(
image_tensor
)
else
:
...
...
@@ -127,10 +133,8 @@ class SsdFeatureExtractorTestBase(test_case.TestCase):
num_layers
=
6
,
use_keras
=
False
,
use_depthwise
=
False
):
def
graph_fn
(
image_tensor
):
return
self
.
_extract_features
(
image_tensor
,
with
test_utils
.
GraphContextOrNone
()
as
g
:
feature_extractor
=
self
.
_create_features
(
depth_multiplier
,
pad_to_multiple
,
use_explicit_padding
=
use_explicit_padding
,
...
...
@@ -138,9 +142,15 @@ class SsdFeatureExtractorTestBase(test_case.TestCase):
use_keras
=
use_keras
,
use_depthwise
=
use_depthwise
)
def
graph_fn
(
image_tensor
):
return
self
.
_extract_features
(
image_tensor
,
feature_extractor
,
use_keras
=
use_keras
)
image_tensor
=
np
.
random
.
rand
(
batch_size
,
image_height
,
image_width
,
3
).
astype
(
np
.
float32
)
feature_maps
=
self
.
execute
(
graph_fn
,
[
image_tensor
])
feature_maps
=
self
.
execute
(
graph_fn
,
[
image_tensor
]
,
graph
=
g
)
for
feature_map
,
expected_shape
in
zip
(
feature_maps
,
expected_feature_map_shapes
):
self
.
assertAllEqual
(
feature_map
.
shape
,
expected_shape
)
...
...
@@ -158,11 +168,8 @@ class SsdFeatureExtractorTestBase(test_case.TestCase):
use_keras
=
False
,
use_depthwise
=
False
):
def
graph_fn
(
image_height
,
image_width
):
image_tensor
=
tf
.
random_uniform
([
batch_size
,
image_height
,
image_width
,
3
],
dtype
=
tf
.
float32
)
return
self
.
_extract_features
(
image_tensor
,
with
test_utils
.
GraphContextOrNone
()
as
g
:
feature_extractor
=
self
.
_create_features
(
depth_multiplier
,
pad_to_multiple
,
use_explicit_padding
=
use_explicit_padding
,
...
...
@@ -170,10 +177,18 @@ class SsdFeatureExtractorTestBase(test_case.TestCase):
use_keras
=
use_keras
,
use_depthwise
=
use_depthwise
)
def
graph_fn
(
image_height
,
image_width
):
image_tensor
=
tf
.
random_uniform
([
batch_size
,
image_height
,
image_width
,
3
],
dtype
=
tf
.
float32
)
return
self
.
_extract_features
(
image_tensor
,
feature_extractor
,
use_keras
=
use_keras
)
feature_maps
=
self
.
execute_cpu
(
graph_fn
,
[
np
.
array
(
image_height
,
dtype
=
np
.
int32
),
np
.
array
(
image_width
,
dtype
=
np
.
int32
)
])
]
,
graph
=
g
)
for
feature_map
,
expected_shape
in
zip
(
feature_maps
,
expected_feature_map_shapes
):
self
.
assertAllEqual
(
feature_map
.
shape
,
expected_shape
)
...
...
@@ -186,19 +201,33 @@ class SsdFeatureExtractorTestBase(test_case.TestCase):
pad_to_multiple
,
use_keras
=
False
,
use_depthwise
=
False
):
preprocessed_inputs
=
tf
.
placeholder
(
tf
.
float32
,
(
4
,
None
,
None
,
3
))
feature_maps
=
self
.
_extract_features
(
preprocessed_inputs
,
depth_multiplier
,
pad_to_multiple
,
use_keras
=
use_keras
,
use_depthwise
=
use_depthwise
)
test_preprocessed_image
=
np
.
random
.
rand
(
4
,
image_height
,
image_width
,
3
)
with
self
.
test_session
()
as
sess
:
sess
.
run
(
tf
.
global_variables_initializer
())
with
test_utils
.
GraphContextOrNone
()
as
g
:
batch
=
4
width
=
tf
.
random
.
uniform
([],
minval
=
image_width
,
maxval
=
image_width
+
1
,
dtype
=
tf
.
int32
)
height
=
tf
.
random
.
uniform
([],
minval
=
image_height
,
maxval
=
image_height
+
1
,
dtype
=
tf
.
int32
)
shape
=
tf
.
stack
([
batch
,
height
,
width
,
3
])
preprocessed_inputs
=
tf
.
random
.
uniform
(
shape
)
feature_extractor
=
self
.
_create_features
(
depth_multiplier
,
pad_to_multiple
,
use_keras
=
use_keras
,
use_depthwise
=
use_depthwise
)
def
graph_fn
():
feature_maps
=
self
.
_extract_features
(
preprocessed_inputs
,
feature_extractor
,
use_keras
=
use_keras
)
return
feature_maps
if
self
.
is_tf2
():
with
self
.
assertRaises
(
ValueError
):
self
.
execute_cpu
(
graph_fn
,
[],
graph
=
g
)
else
:
with
self
.
assertRaises
(
tf
.
errors
.
InvalidArgumentError
):
sess
.
run
(
feature_maps
,
feed_dict
=
{
preprocessed_inputs
:
test_preprocessed_image
})
self
.
execute_cpu
(
graph_fn
,
[],
graph
=
g
)
def
check_feature_extractor_variables_under_scope
(
self
,
depth_multiplier
,
...
...
@@ -221,11 +250,14 @@ class SsdFeatureExtractorTestBase(test_case.TestCase):
use_depthwise
=
False
):
g
=
tf
.
Graph
()
with
g
.
as_default
():
preprocessed_inputs
=
tf
.
placeholder
(
tf
.
float32
,
(
4
,
None
,
None
,
3
))
self
.
_extract_features
(
preprocessed_inputs
,
feature_extractor
=
self
.
_create_features
(
depth_multiplier
,
pad_to_multiple
,
use_keras
=
use_keras
,
use_depthwise
=
use_depthwise
)
preprocessed_inputs
=
tf
.
placeholder
(
tf
.
float32
,
(
4
,
None
,
None
,
3
))
self
.
_extract_features
(
preprocessed_inputs
,
feature_extractor
,
use_keras
=
use_keras
)
return
g
.
get_collection
(
tf
.
GraphKeys
.
GLOBAL_VARIABLES
)
Prev
1
…
11
12
13
14
15
16
17
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