diff --git a/example/tensorflow/code_template/tensorflow_sample.py b/example/tensorflow/code_template/tensorflow_sample.py
index 5248e1749..4c0e1c3fb 100644
--- a/example/tensorflow/code_template/tensorflow_sample.py
+++ b/example/tensorflow/code_template/tensorflow_sample.py
@@ -11,9 +11,9 @@
# Read the protobuf text and build a tf.GraphDef
with open(model_file_name, 'r') as model_file:
model_protobuf = text_format.Parse(model_file.read(),
- tf.GraphDef())
+ tf.MetaGraphDef())
# Import the GraphDef built above into the default graph
-tf.import_graph_def(model_protobuf)
+tf.train.import_meta_graph(model_protobuf)
# You can now add operations on top of the imported graph
diff --git a/ide/tasks.py b/ide/tasks.py
index 24fe8c8df..a7941c459 100644
--- a/ide/tasks.py
+++ b/ide/tasks.py
@@ -311,19 +311,22 @@ def isProcessPossible(layerId):
json_str = json_str.strip("'<>() ").replace('\'', '\"')
lrnLayer = imp.load_source('LRN', BASE_DIR + '/keras_app/custom_layers/lrn.py')
+ # clear clutter from previous graph built by keras to avoid duplicates
+ K.clear_session()
+
model = model_from_json(json_str, {'LRN': lrnLayer.LRN})
- sess = K.get_session()
- tf.train.write_graph(sess.graph.as_graph_def(add_shapes=True), output_fld,
- output_file + '.pbtxt', as_text=True)
+ tf.train.export_meta_graph(
+ os.path.join(output_fld, output_file + '.meta'),
+ as_text=True)
Channel(reply_channel).send({
'text': json.dumps({
'result': 'success',
'action': 'ExportNet',
'id': 'randomId',
- 'name': randomId + '.pbtxt',
- 'url': '/media/' + randomId + '.pbtxt',
+ 'name': randomId + '.meta',
+ 'url': '/media/' + randomId + '.meta',
'customLayers': custom_layers_response
})
})
diff --git a/tensorflow_app/views/export_graphdef.py b/tensorflow_app/views/export_graphdef.py
index 3e013ccf8..6b7ffcda3 100644
--- a/tensorflow_app/views/export_graphdef.py
+++ b/tensorflow_app/views/export_graphdef.py
@@ -24,10 +24,10 @@ def export_to_tensorflow(request):
randomId = response['randomId']
customLayers = response['customLayers']
os.chdir(BASE_DIR + '/tensorflow_app/views/')
- os.system('KERAS_BACKEND=tensorflow python json2pbtxt.py -input_file ' +
+ os.system('KERAS_BACKEND=tensorflow python json2meta.py -input_file ' +
randomId + '.json -output_file ' + randomId)
return JsonResponse({'result': 'success',
'id': randomId,
- 'name': randomId + '.pbtxt',
- 'url': '/media/' + randomId + '.pbtxt',
+ 'name': randomId + '.meta',
+ 'url': '/media/' + randomId + '.meta',
'customLayers': customLayers})
diff --git a/tensorflow_app/views/import_graphdef.py b/tensorflow_app/views/import_graphdef.py
index 984d495ae..e17a2a02f 100644
--- a/tensorflow_app/views/import_graphdef.py
+++ b/tensorflow_app/views/import_graphdef.py
@@ -1,7 +1,6 @@
import numpy as np
import tensorflow as tf
from google.protobuf import text_format
-from tensorflow.core.framework import graph_pb2
from django.views.decorators.csrf import csrf_exempt
from django.http import JsonResponse
import math
@@ -125,6 +124,46 @@ def get_padding(node, layer, session, input_layer_name, input_layer_dim):
return int(pad_h), int(pad_w)
+def get_graph_def_from(model_protobuf):
+ """
+ Parses and returns a GraphDef from input protobuf.
+
+ Args:
+ model_protobuf: a binary or text protobuf message.
+
+ Returns:
+ a tf.GraphDef object with the GraphDef from model_protobuf
+
+ Raises:
+ ValueError: if a GraphDef cannot be parsed from model_protobuf
+ """
+ try:
+ meta_graph_def = text_format.Merge(model_protobuf, tf.MetaGraphDef())
+ graph_def = meta_graph_def.graph_def
+ return graph_def
+ except (text_format.ParseError, UnicodeDecodeError):
+ # not a valid text metagraphdef
+ pass
+ try:
+ graph_def = text_format.Merge(model_protobuf, tf.GraphDef())
+ return graph_def
+ except (text_format.ParseError, UnicodeDecodeError):
+ pass
+ try:
+ graph_def = tf.GraphDef()
+ graph_def.ParseFromString(model_protobuf)
+ return graph_def
+ except Exception:
+ pass
+ try:
+ meta_graph_def = tf.MetaGraphDef()
+ meta_graph_def.ParseFromString(model_protobuf)
+ return meta_graph_def.graph_def
+ except Exception:
+ pass
+ raise ValueError('Invalid model protobuf')
+
+
@csrf_exempt
def import_graph_def(request):
if request.method == 'POST':
@@ -151,15 +190,14 @@ def import_graph_def(request):
return JsonResponse({'result': 'error', 'error': 'No GraphDef model found'})
tf.reset_default_graph()
- graph_def = graph_pb2.GraphDef()
d = {}
order = []
input_layer_name = ''
input_layer_dim = []
try:
- text_format.Merge(config, graph_def)
- except Exception:
+ graph_def = get_graph_def_from(config)
+ except ValueError:
return JsonResponse({'result': 'error', 'error': 'Invalid GraphDef'})
tf.import_graph_def(graph_def, name='')
diff --git a/tensorflow_app/views/json2pbtxt.py b/tensorflow_app/views/json2meta.py
similarity index 85%
rename from tensorflow_app/views/json2pbtxt.py
rename to tensorflow_app/views/json2meta.py
index 7afdf596b..c2ab55e6f 100644
--- a/tensorflow_app/views/json2pbtxt.py
+++ b/tensorflow_app/views/json2meta.py
@@ -9,7 +9,7 @@
parser.add_argument('-input_file', action="store",
dest='input_file', type=str, default='model.json')
parser.add_argument('-output_file', action="store",
- dest='output_file', type=str, default='model.pbtxt')
+ dest='output_file', type=str, default='model.meta')
args = parser.parse_args()
input_file = args.input_file
output_file = args.output_file
@@ -30,6 +30,6 @@
lrn = imp.load_source('LRN', BASE_DIR + '/keras_app/custom_layers/lrn.py')
model = model_from_json(json_str, {'LRN': lrn.LRN})
-sess = K.get_session()
-tf.train.write_graph(sess.graph.as_graph_def(add_shapes=True), output_fld,
- output_file + '.pbtxt', as_text=True)
+tf.train.export_meta_graph(
+ os.path.join(output_fld, output_file + '.meta'),
+ as_text=True)
diff --git a/tests/unit/tensorflow_app/test_views.py b/tests/unit/tensorflow_app/test_views.py
index 209fdeb27..efd8b1827 100644
--- a/tests/unit/tensorflow_app/test_views.py
+++ b/tests/unit/tensorflow_app/test_views.py
@@ -125,3 +125,31 @@ def test_custom_lrn_tf_import(self):
response = self.client.post(reverse('tf-import'), {'file': model_file})
response = json.loads(response.content)
self.assertEqual(response['result'], 'success')
+
+
+class ExportMetaGraphTest(unittest.TestCase):
+ def setUp(self):
+ self.client = Client()
+
+ def test_tf_export(self):
+ model_file = open(os.path.join(settings.BASE_DIR, 'example/keras',
+ 'AlexNet.json'), 'r')
+ response = self.client.post(reverse('keras-import'), {'file': model_file})
+ response = json.loads(response.content)
+ net = get_shapes(response['net'])
+ response = self.client.post(reverse('tf-export'), {'net': json.dumps(net),
+ 'net_name': ''})
+ response = json.loads(response.content)
+ self.assertEqual(response['result'], 'success')
+
+
+class ImportMetaGraphTest(unittest.TestCase):
+ def setUp(self):
+ self.client = Client()
+
+ def test_tf_import(self):
+ model_file = open(os.path.join(settings.BASE_DIR, 'tests/unit/tensorflow_app',
+ 'vgg16_import_test.meta'), 'r')
+ response = self.client.post(reverse('tf-import'), {'file': model_file})
+ response = json.loads(response.content)
+ self.assertEqual(response['result'], 'success')
diff --git a/tests/unit/tensorflow_app/vgg16_import_test.meta b/tests/unit/tensorflow_app/vgg16_import_test.meta
new file mode 100644
index 000000000..eeb2dc2af
--- /dev/null
+++ b/tests/unit/tensorflow_app/vgg16_import_test.meta
@@ -0,0 +1,14466 @@
+meta_info_def {
+ stripped_op_list {
+ op {
+ name: "Add"
+ input_arg {
+ name: "x"
+ type_attr: "T"
+ }
+ input_arg {
+ name: "y"
+ type_attr: "T"
+ }
+ output_arg {
+ name: "z"
+ type_attr: "T"
+ }
+ attr {
+ name: "T"
+ type: "type"
+ allowed_values {
+ list {
+ type: DT_HALF
+ type: DT_FLOAT
+ type: DT_DOUBLE
+ type: DT_UINT8
+ type: DT_INT8
+ type: DT_INT16
+ type: DT_INT32
+ type: DT_INT64
+ type: DT_COMPLEX64
+ type: DT_COMPLEX128
+ type: DT_STRING
+ }
+ }
+ }
+ }
+ op {
+ name: "Assign"
+ input_arg {
+ name: "ref"
+ type_attr: "T"
+ is_ref: true
+ }
+ input_arg {
+ name: "value"
+ type_attr: "T"
+ }
+ output_arg {
+ name: "output_ref"
+ type_attr: "T"
+ is_ref: true
+ }
+ attr {
+ name: "T"
+ type: "type"
+ }
+ attr {
+ name: "validate_shape"
+ type: "bool"
+ default_value {
+ b: true
+ }
+ }
+ attr {
+ name: "use_locking"
+ type: "bool"
+ default_value {
+ b: true
+ }
+ }
+ allows_uninitialized_input: true
+ }
+ op {
+ name: "BiasAdd"
+ input_arg {
+ name: "value"
+ type_attr: "T"
+ }
+ input_arg {
+ name: "bias"
+ type_attr: "T"
+ }
+ output_arg {
+ name: "output"
+ type_attr: "T"
+ }
+ attr {
+ name: "T"
+ type: "type"
+ allowed_values {
+ list {
+ type: DT_FLOAT
+ type: DT_DOUBLE
+ type: DT_INT64
+ type: DT_INT32
+ type: DT_UINT8
+ type: DT_UINT16
+ type: DT_INT16
+ type: DT_INT8
+ type: DT_COMPLEX64
+ type: DT_COMPLEX128
+ type: DT_QINT8
+ type: DT_QUINT8
+ type: DT_QINT32
+ type: DT_HALF
+ }
+ }
+ }
+ attr {
+ name: "data_format"
+ type: "string"
+ default_value {
+ s: "NHWC"
+ }
+ allowed_values {
+ list {
+ s: "NHWC"
+ s: "NCHW"
+ }
+ }
+ }
+ }
+ op {
+ name: "Const"
+ output_arg {
+ name: "output"
+ type_attr: "dtype"
+ }
+ attr {
+ name: "value"
+ type: "tensor"
+ }
+ attr {
+ name: "dtype"
+ type: "type"
+ }
+ }
+ op {
+ name: "Conv2D"
+ input_arg {
+ name: "input"
+ type_attr: "T"
+ }
+ input_arg {
+ name: "filter"
+ type_attr: "T"
+ }
+ output_arg {
+ name: "output"
+ type_attr: "T"
+ }
+ attr {
+ name: "T"
+ type: "type"
+ allowed_values {
+ list {
+ type: DT_HALF
+ type: DT_FLOAT
+ }
+ }
+ }
+ attr {
+ name: "strides"
+ type: "list(int)"
+ }
+ attr {
+ name: "use_cudnn_on_gpu"
+ type: "bool"
+ default_value {
+ b: true
+ }
+ }
+ attr {
+ name: "padding"
+ type: "string"
+ allowed_values {
+ list {
+ s: "SAME"
+ s: "VALID"
+ }
+ }
+ }
+ attr {
+ name: "data_format"
+ type: "string"
+ default_value {
+ s: "NHWC"
+ }
+ allowed_values {
+ list {
+ s: "NHWC"
+ s: "NCHW"
+ }
+ }
+ }
+ }
+ op {
+ name: "Identity"
+ input_arg {
+ name: "input"
+ type_attr: "T"
+ }
+ output_arg {
+ name: "output"
+ type_attr: "T"
+ }
+ attr {
+ name: "T"
+ type: "type"
+ }
+ }
+ op {
+ name: "MatMul"
+ input_arg {
+ name: "a"
+ type_attr: "T"
+ }
+ input_arg {
+ name: "b"
+ type_attr: "T"
+ }
+ output_arg {
+ name: "product"
+ type_attr: "T"
+ }
+ attr {
+ name: "transpose_a"
+ type: "bool"
+ default_value {
+ b: false
+ }
+ }
+ attr {
+ name: "transpose_b"
+ type: "bool"
+ default_value {
+ b: false
+ }
+ }
+ attr {
+ name: "T"
+ type: "type"
+ allowed_values {
+ list {
+ type: DT_HALF
+ type: DT_FLOAT
+ type: DT_DOUBLE
+ type: DT_INT32
+ type: DT_COMPLEX64
+ type: DT_COMPLEX128
+ }
+ }
+ }
+ }
+ op {
+ name: "MaxPool"
+ input_arg {
+ name: "input"
+ type_attr: "T"
+ }
+ output_arg {
+ name: "output"
+ type_attr: "T"
+ }
+ attr {
+ name: "T"
+ type: "type"
+ default_value {
+ type: DT_FLOAT
+ }
+ allowed_values {
+ list {
+ type: DT_FLOAT
+ type: DT_DOUBLE
+ type: DT_INT32
+ type: DT_INT64
+ type: DT_UINT8
+ type: DT_INT16
+ type: DT_INT8
+ type: DT_UINT16
+ type: DT_HALF
+ type: DT_QINT8
+ }
+ }
+ }
+ attr {
+ name: "ksize"
+ type: "list(int)"
+ has_minimum: true
+ minimum: 4
+ }
+ attr {
+ name: "strides"
+ type: "list(int)"
+ has_minimum: true
+ minimum: 4
+ }
+ attr {
+ name: "padding"
+ type: "string"
+ allowed_values {
+ list {
+ s: "SAME"
+ s: "VALID"
+ }
+ }
+ }
+ attr {
+ name: "data_format"
+ type: "string"
+ default_value {
+ s: "NHWC"
+ }
+ allowed_values {
+ list {
+ s: "NHWC"
+ s: "NCHW"
+ s: "NCHW_VECT_C"
+ }
+ }
+ }
+ }
+ op {
+ name: "Mul"
+ input_arg {
+ name: "x"
+ type_attr: "T"
+ }
+ input_arg {
+ name: "y"
+ type_attr: "T"
+ }
+ output_arg {
+ name: "z"
+ type_attr: "T"
+ }
+ attr {
+ name: "T"
+ type: "type"
+ allowed_values {
+ list {
+ type: DT_HALF
+ type: DT_FLOAT
+ type: DT_DOUBLE
+ type: DT_UINT8
+ type: DT_INT8
+ type: DT_UINT16
+ type: DT_INT16
+ type: DT_INT32
+ type: DT_INT64
+ type: DT_COMPLEX64
+ type: DT_COMPLEX128
+ }
+ }
+ }
+ is_commutative: true
+ }
+ op {
+ name: "Pack"
+ input_arg {
+ name: "values"
+ type_attr: "T"
+ number_attr: "N"
+ }
+ output_arg {
+ name: "output"
+ type_attr: "T"
+ }
+ attr {
+ name: "N"
+ type: "int"
+ has_minimum: true
+ minimum: 1
+ }
+ attr {
+ name: "T"
+ type: "type"
+ }
+ attr {
+ name: "axis"
+ type: "int"
+ default_value {
+ i: 0
+ }
+ }
+ }
+ op {
+ name: "Placeholder"
+ output_arg {
+ name: "output"
+ type_attr: "dtype"
+ }
+ attr {
+ name: "dtype"
+ type: "type"
+ }
+ attr {
+ name: "shape"
+ type: "shape"
+ default_value {
+ shape {
+ unknown_rank: true
+ }
+ }
+ }
+ }
+ op {
+ name: "Prod"
+ input_arg {
+ name: "input"
+ type_attr: "T"
+ }
+ input_arg {
+ name: "reduction_indices"
+ type_attr: "Tidx"
+ }
+ output_arg {
+ name: "output"
+ type_attr: "T"
+ }
+ attr {
+ name: "keep_dims"
+ type: "bool"
+ default_value {
+ b: false
+ }
+ }
+ attr {
+ name: "T"
+ type: "type"
+ allowed_values {
+ list {
+ type: DT_FLOAT
+ type: DT_DOUBLE
+ type: DT_INT64
+ type: DT_INT32
+ type: DT_UINT8
+ type: DT_UINT16
+ type: DT_INT16
+ type: DT_INT8
+ type: DT_COMPLEX64
+ type: DT_COMPLEX128
+ type: DT_QINT8
+ type: DT_QUINT8
+ type: DT_QINT32
+ type: DT_HALF
+ }
+ }
+ }
+ attr {
+ name: "Tidx"
+ type: "type"
+ default_value {
+ type: DT_INT32
+ }
+ allowed_values {
+ list {
+ type: DT_INT32
+ type: DT_INT64
+ }
+ }
+ }
+ }
+ op {
+ name: "RandomStandardNormal"
+ input_arg {
+ name: "shape"
+ type_attr: "T"
+ }
+ output_arg {
+ name: "output"
+ type_attr: "dtype"
+ }
+ attr {
+ name: "seed"
+ type: "int"
+ default_value {
+ i: 0
+ }
+ }
+ attr {
+ name: "seed2"
+ type: "int"
+ default_value {
+ i: 0
+ }
+ }
+ attr {
+ name: "dtype"
+ type: "type"
+ allowed_values {
+ list {
+ type: DT_HALF
+ type: DT_FLOAT
+ type: DT_DOUBLE
+ }
+ }
+ }
+ attr {
+ name: "T"
+ type: "type"
+ allowed_values {
+ list {
+ type: DT_INT32
+ type: DT_INT64
+ }
+ }
+ }
+ is_stateful: true
+ }
+ op {
+ name: "Relu"
+ input_arg {
+ name: "features"
+ type_attr: "T"
+ }
+ output_arg {
+ name: "activations"
+ type_attr: "T"
+ }
+ attr {
+ name: "T"
+ type: "type"
+ allowed_values {
+ list {
+ type: DT_FLOAT
+ type: DT_DOUBLE
+ type: DT_INT32
+ type: DT_INT64
+ type: DT_UINT8
+ type: DT_INT16
+ type: DT_INT8
+ type: DT_UINT16
+ type: DT_HALF
+ }
+ }
+ }
+ }
+ op {
+ name: "Reshape"
+ input_arg {
+ name: "tensor"
+ type_attr: "T"
+ }
+ input_arg {
+ name: "shape"
+ type_attr: "Tshape"
+ }
+ output_arg {
+ name: "output"
+ type_attr: "T"
+ }
+ attr {
+ name: "T"
+ type: "type"
+ }
+ attr {
+ name: "Tshape"
+ type: "type"
+ default_value {
+ type: DT_INT32
+ }
+ allowed_values {
+ list {
+ type: DT_INT32
+ type: DT_INT64
+ }
+ }
+ }
+ }
+ op {
+ name: "Softmax"
+ input_arg {
+ name: "logits"
+ type_attr: "T"
+ }
+ output_arg {
+ name: "softmax"
+ type_attr: "T"
+ }
+ attr {
+ name: "T"
+ type: "type"
+ allowed_values {
+ list {
+ type: DT_HALF
+ type: DT_FLOAT
+ type: DT_DOUBLE
+ }
+ }
+ }
+ }
+ op {
+ name: "StridedSlice"
+ input_arg {
+ name: "input"
+ type_attr: "T"
+ }
+ input_arg {
+ name: "begin"
+ type_attr: "Index"
+ }
+ input_arg {
+ name: "end"
+ type_attr: "Index"
+ }
+ input_arg {
+ name: "strides"
+ type_attr: "Index"
+ }
+ output_arg {
+ name: "output"
+ type_attr: "T"
+ }
+ attr {
+ name: "T"
+ type: "type"
+ }
+ attr {
+ name: "Index"
+ type: "type"
+ allowed_values {
+ list {
+ type: DT_INT32
+ type: DT_INT64
+ }
+ }
+ }
+ attr {
+ name: "begin_mask"
+ type: "int"
+ default_value {
+ i: 0
+ }
+ }
+ attr {
+ name: "end_mask"
+ type: "int"
+ default_value {
+ i: 0
+ }
+ }
+ attr {
+ name: "ellipsis_mask"
+ type: "int"
+ default_value {
+ i: 0
+ }
+ }
+ attr {
+ name: "new_axis_mask"
+ type: "int"
+ default_value {
+ i: 0
+ }
+ }
+ attr {
+ name: "shrink_axis_mask"
+ type: "int"
+ default_value {
+ i: 0
+ }
+ }
+ }
+ op {
+ name: "VariableV2"
+ output_arg {
+ name: "ref"
+ type_attr: "dtype"
+ is_ref: true
+ }
+ attr {
+ name: "shape"
+ type: "shape"
+ }
+ attr {
+ name: "dtype"
+ type: "type"
+ }
+ attr {
+ name: "container"
+ type: "string"
+ default_value {
+ s: ""
+ }
+ }
+ attr {
+ name: "shared_name"
+ type: "string"
+ default_value {
+ s: ""
+ }
+ }
+ is_stateful: true
+ }
+ }
+ tensorflow_version: "1.4.1"
+ tensorflow_git_version: "v1.4.0-19-ga52c8d9"
+}
+graph_def {
+ node {
+ name: "input_1"
+ op: "Placeholder"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 224
+ }
+ dim {
+ size: 224
+ }
+ dim {
+ size: 3
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 224
+ }
+ dim {
+ size: 224
+ }
+ dim {
+ size: 3
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "input_2"
+ op: "Placeholder"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 224
+ }
+ dim {
+ size: 224
+ }
+ dim {
+ size: 3
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 224
+ }
+ dim {
+ size: 224
+ }
+ dim {
+ size: 3
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_1/random_normal/shape"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 4
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 4
+ }
+ }
+ tensor_content: "\003\000\000\000\003\000\000\000\003\000\000\000@\000\000\000"
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_1/random_normal/mean"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ }
+ float_val: 0.0
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_1/random_normal/stddev"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ }
+ float_val: 0.05000000074505806
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_1/random_normal/RandomStandardNormal"
+ op: "RandomStandardNormal"
+ input: "conv2d_1/random_normal/shape"
+ attr {
+ key: "T"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "seed"
+ value {
+ i: 87654321
+ }
+ }
+ attr {
+ key: "seed2"
+ value {
+ i: 5427360
+ }
+ }
+ }
+ node {
+ name: "conv2d_1/random_normal/mul"
+ op: "Mul"
+ input: "conv2d_1/random_normal/RandomStandardNormal"
+ input: "conv2d_1/random_normal/stddev"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_1/random_normal"
+ op: "Add"
+ input: "conv2d_1/random_normal/mul"
+ input: "conv2d_1/random_normal/mean"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_1/kernel"
+ op: "VariableV2"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "container"
+ value {
+ s: ""
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ attr {
+ key: "shared_name"
+ value {
+ s: ""
+ }
+ }
+ }
+ node {
+ name: "conv2d_1/kernel/Assign"
+ op: "Assign"
+ input: "conv2d_1/kernel"
+ input: "conv2d_1/random_normal"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_1/kernel"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "use_locking"
+ value {
+ b: true
+ }
+ }
+ attr {
+ key: "validate_shape"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_1/kernel/read"
+ op: "Identity"
+ input: "conv2d_1/kernel"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_1/kernel"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_1/Const"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ dim {
+ size: 64
+ }
+ }
+ float_val: 0.0
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_1/bias"
+ op: "VariableV2"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "container"
+ value {
+ s: ""
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ attr {
+ key: "shared_name"
+ value {
+ s: ""
+ }
+ }
+ }
+ node {
+ name: "conv2d_1/bias/Assign"
+ op: "Assign"
+ input: "conv2d_1/bias"
+ input: "conv2d_1/Const"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_1/bias"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "use_locking"
+ value {
+ b: true
+ }
+ }
+ attr {
+ key: "validate_shape"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_1/bias/read"
+ op: "Identity"
+ input: "conv2d_1/bias"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_1/bias"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_1/convolution/dilation_rate"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 2
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 2
+ }
+ }
+ tensor_content: "\001\000\000\000\001\000\000\000"
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_1/convolution"
+ op: "Conv2D"
+ input: "input_2"
+ input: "conv2d_1/kernel/read"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 222
+ }
+ dim {
+ size: 222
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ attr {
+ key: "padding"
+ value {
+ s: "VALID"
+ }
+ }
+ attr {
+ key: "strides"
+ value {
+ list {
+ i: 1
+ i: 1
+ i: 1
+ i: 1
+ }
+ }
+ }
+ attr {
+ key: "use_cudnn_on_gpu"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_1/BiasAdd"
+ op: "BiasAdd"
+ input: "conv2d_1/convolution"
+ input: "conv2d_1/bias/read"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 222
+ }
+ dim {
+ size: 222
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ }
+ node {
+ name: "conv2d_1/Relu"
+ op: "Relu"
+ input: "conv2d_1/BiasAdd"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 222
+ }
+ dim {
+ size: 222
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_2/random_normal/shape"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 4
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 4
+ }
+ }
+ tensor_content: "\003\000\000\000\003\000\000\000@\000\000\000@\000\000\000"
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_2/random_normal/mean"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ }
+ float_val: 0.0
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_2/random_normal/stddev"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ }
+ float_val: 0.05000000074505806
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_2/random_normal/RandomStandardNormal"
+ op: "RandomStandardNormal"
+ input: "conv2d_2/random_normal/shape"
+ attr {
+ key: "T"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "seed"
+ value {
+ i: 87654321
+ }
+ }
+ attr {
+ key: "seed2"
+ value {
+ i: 2693132
+ }
+ }
+ }
+ node {
+ name: "conv2d_2/random_normal/mul"
+ op: "Mul"
+ input: "conv2d_2/random_normal/RandomStandardNormal"
+ input: "conv2d_2/random_normal/stddev"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_2/random_normal"
+ op: "Add"
+ input: "conv2d_2/random_normal/mul"
+ input: "conv2d_2/random_normal/mean"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_2/kernel"
+ op: "VariableV2"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "container"
+ value {
+ s: ""
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ attr {
+ key: "shared_name"
+ value {
+ s: ""
+ }
+ }
+ }
+ node {
+ name: "conv2d_2/kernel/Assign"
+ op: "Assign"
+ input: "conv2d_2/kernel"
+ input: "conv2d_2/random_normal"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_2/kernel"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "use_locking"
+ value {
+ b: true
+ }
+ }
+ attr {
+ key: "validate_shape"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_2/kernel/read"
+ op: "Identity"
+ input: "conv2d_2/kernel"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_2/kernel"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_2/Const"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ dim {
+ size: 64
+ }
+ }
+ float_val: 0.0
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_2/bias"
+ op: "VariableV2"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "container"
+ value {
+ s: ""
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ attr {
+ key: "shared_name"
+ value {
+ s: ""
+ }
+ }
+ }
+ node {
+ name: "conv2d_2/bias/Assign"
+ op: "Assign"
+ input: "conv2d_2/bias"
+ input: "conv2d_2/Const"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_2/bias"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "use_locking"
+ value {
+ b: true
+ }
+ }
+ attr {
+ key: "validate_shape"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_2/bias/read"
+ op: "Identity"
+ input: "conv2d_2/bias"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_2/bias"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_2/convolution/dilation_rate"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 2
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 2
+ }
+ }
+ tensor_content: "\001\000\000\000\001\000\000\000"
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_2/convolution"
+ op: "Conv2D"
+ input: "conv2d_1/Relu"
+ input: "conv2d_2/kernel/read"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 220
+ }
+ dim {
+ size: 220
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ attr {
+ key: "padding"
+ value {
+ s: "VALID"
+ }
+ }
+ attr {
+ key: "strides"
+ value {
+ list {
+ i: 1
+ i: 1
+ i: 1
+ i: 1
+ }
+ }
+ }
+ attr {
+ key: "use_cudnn_on_gpu"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_2/BiasAdd"
+ op: "BiasAdd"
+ input: "conv2d_2/convolution"
+ input: "conv2d_2/bias/read"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 220
+ }
+ dim {
+ size: 220
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ }
+ node {
+ name: "conv2d_2/Relu"
+ op: "Relu"
+ input: "conv2d_2/BiasAdd"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 220
+ }
+ dim {
+ size: 220
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "max_pooling2d_1/MaxPool"
+ op: "MaxPool"
+ input: "conv2d_2/Relu"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 110
+ }
+ dim {
+ size: 110
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ attr {
+ key: "ksize"
+ value {
+ list {
+ i: 1
+ i: 2
+ i: 2
+ i: 1
+ }
+ }
+ }
+ attr {
+ key: "padding"
+ value {
+ s: "VALID"
+ }
+ }
+ attr {
+ key: "strides"
+ value {
+ list {
+ i: 1
+ i: 2
+ i: 2
+ i: 1
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_3/random_normal/shape"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 4
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 4
+ }
+ }
+ tensor_content: "\003\000\000\000\003\000\000\000@\000\000\000@\000\000\000"
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_3/random_normal/mean"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ }
+ float_val: 0.0
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_3/random_normal/stddev"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ }
+ float_val: 0.05000000074505806
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_3/random_normal/RandomStandardNormal"
+ op: "RandomStandardNormal"
+ input: "conv2d_3/random_normal/shape"
+ attr {
+ key: "T"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "seed"
+ value {
+ i: 87654321
+ }
+ }
+ attr {
+ key: "seed2"
+ value {
+ i: 7487667
+ }
+ }
+ }
+ node {
+ name: "conv2d_3/random_normal/mul"
+ op: "Mul"
+ input: "conv2d_3/random_normal/RandomStandardNormal"
+ input: "conv2d_3/random_normal/stddev"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_3/random_normal"
+ op: "Add"
+ input: "conv2d_3/random_normal/mul"
+ input: "conv2d_3/random_normal/mean"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_3/kernel"
+ op: "VariableV2"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "container"
+ value {
+ s: ""
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ attr {
+ key: "shared_name"
+ value {
+ s: ""
+ }
+ }
+ }
+ node {
+ name: "conv2d_3/kernel/Assign"
+ op: "Assign"
+ input: "conv2d_3/kernel"
+ input: "conv2d_3/random_normal"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_3/kernel"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "use_locking"
+ value {
+ b: true
+ }
+ }
+ attr {
+ key: "validate_shape"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_3/kernel/read"
+ op: "Identity"
+ input: "conv2d_3/kernel"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_3/kernel"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_3/Const"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ dim {
+ size: 64
+ }
+ }
+ float_val: 0.0
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_3/bias"
+ op: "VariableV2"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "container"
+ value {
+ s: ""
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ attr {
+ key: "shared_name"
+ value {
+ s: ""
+ }
+ }
+ }
+ node {
+ name: "conv2d_3/bias/Assign"
+ op: "Assign"
+ input: "conv2d_3/bias"
+ input: "conv2d_3/Const"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_3/bias"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "use_locking"
+ value {
+ b: true
+ }
+ }
+ attr {
+ key: "validate_shape"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_3/bias/read"
+ op: "Identity"
+ input: "conv2d_3/bias"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_3/bias"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_3/convolution/dilation_rate"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 2
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 2
+ }
+ }
+ tensor_content: "\001\000\000\000\001\000\000\000"
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_3/convolution"
+ op: "Conv2D"
+ input: "max_pooling2d_1/MaxPool"
+ input: "conv2d_3/kernel/read"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 108
+ }
+ dim {
+ size: 108
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ attr {
+ key: "padding"
+ value {
+ s: "VALID"
+ }
+ }
+ attr {
+ key: "strides"
+ value {
+ list {
+ i: 1
+ i: 1
+ i: 1
+ i: 1
+ }
+ }
+ }
+ attr {
+ key: "use_cudnn_on_gpu"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_3/BiasAdd"
+ op: "BiasAdd"
+ input: "conv2d_3/convolution"
+ input: "conv2d_3/bias/read"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 108
+ }
+ dim {
+ size: 108
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ }
+ node {
+ name: "conv2d_3/Relu"
+ op: "Relu"
+ input: "conv2d_3/BiasAdd"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 108
+ }
+ dim {
+ size: 108
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_4/random_normal/shape"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 4
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 4
+ }
+ }
+ tensor_content: "\003\000\000\000\003\000\000\000@\000\000\000@\000\000\000"
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_4/random_normal/mean"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ }
+ float_val: 0.0
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_4/random_normal/stddev"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ }
+ float_val: 0.05000000074505806
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_4/random_normal/RandomStandardNormal"
+ op: "RandomStandardNormal"
+ input: "conv2d_4/random_normal/shape"
+ attr {
+ key: "T"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "seed"
+ value {
+ i: 87654321
+ }
+ }
+ attr {
+ key: "seed2"
+ value {
+ i: 4589768
+ }
+ }
+ }
+ node {
+ name: "conv2d_4/random_normal/mul"
+ op: "Mul"
+ input: "conv2d_4/random_normal/RandomStandardNormal"
+ input: "conv2d_4/random_normal/stddev"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_4/random_normal"
+ op: "Add"
+ input: "conv2d_4/random_normal/mul"
+ input: "conv2d_4/random_normal/mean"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_4/kernel"
+ op: "VariableV2"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "container"
+ value {
+ s: ""
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ attr {
+ key: "shared_name"
+ value {
+ s: ""
+ }
+ }
+ }
+ node {
+ name: "conv2d_4/kernel/Assign"
+ op: "Assign"
+ input: "conv2d_4/kernel"
+ input: "conv2d_4/random_normal"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_4/kernel"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "use_locking"
+ value {
+ b: true
+ }
+ }
+ attr {
+ key: "validate_shape"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_4/kernel/read"
+ op: "Identity"
+ input: "conv2d_4/kernel"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_4/kernel"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_4/Const"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ dim {
+ size: 64
+ }
+ }
+ float_val: 0.0
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_4/bias"
+ op: "VariableV2"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "container"
+ value {
+ s: ""
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ attr {
+ key: "shared_name"
+ value {
+ s: ""
+ }
+ }
+ }
+ node {
+ name: "conv2d_4/bias/Assign"
+ op: "Assign"
+ input: "conv2d_4/bias"
+ input: "conv2d_4/Const"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_4/bias"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "use_locking"
+ value {
+ b: true
+ }
+ }
+ attr {
+ key: "validate_shape"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_4/bias/read"
+ op: "Identity"
+ input: "conv2d_4/bias"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_4/bias"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_4/convolution/dilation_rate"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 2
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 2
+ }
+ }
+ tensor_content: "\001\000\000\000\001\000\000\000"
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_4/convolution"
+ op: "Conv2D"
+ input: "conv2d_3/Relu"
+ input: "conv2d_4/kernel/read"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 106
+ }
+ dim {
+ size: 106
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ attr {
+ key: "padding"
+ value {
+ s: "VALID"
+ }
+ }
+ attr {
+ key: "strides"
+ value {
+ list {
+ i: 1
+ i: 1
+ i: 1
+ i: 1
+ }
+ }
+ }
+ attr {
+ key: "use_cudnn_on_gpu"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_4/BiasAdd"
+ op: "BiasAdd"
+ input: "conv2d_4/convolution"
+ input: "conv2d_4/bias/read"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 106
+ }
+ dim {
+ size: 106
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ }
+ node {
+ name: "conv2d_4/Relu"
+ op: "Relu"
+ input: "conv2d_4/BiasAdd"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 106
+ }
+ dim {
+ size: 106
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "max_pooling2d_2/MaxPool"
+ op: "MaxPool"
+ input: "conv2d_4/Relu"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 53
+ }
+ dim {
+ size: 53
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ attr {
+ key: "ksize"
+ value {
+ list {
+ i: 1
+ i: 2
+ i: 2
+ i: 1
+ }
+ }
+ }
+ attr {
+ key: "padding"
+ value {
+ s: "VALID"
+ }
+ }
+ attr {
+ key: "strides"
+ value {
+ list {
+ i: 1
+ i: 2
+ i: 2
+ i: 1
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_5/random_normal/shape"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 4
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 4
+ }
+ }
+ tensor_content: "\003\000\000\000\003\000\000\000@\000\000\000@\000\000\000"
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_5/random_normal/mean"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ }
+ float_val: 0.0
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_5/random_normal/stddev"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ }
+ float_val: 0.05000000074505806
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_5/random_normal/RandomStandardNormal"
+ op: "RandomStandardNormal"
+ input: "conv2d_5/random_normal/shape"
+ attr {
+ key: "T"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "seed"
+ value {
+ i: 87654321
+ }
+ }
+ attr {
+ key: "seed2"
+ value {
+ i: 4016646
+ }
+ }
+ }
+ node {
+ name: "conv2d_5/random_normal/mul"
+ op: "Mul"
+ input: "conv2d_5/random_normal/RandomStandardNormal"
+ input: "conv2d_5/random_normal/stddev"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_5/random_normal"
+ op: "Add"
+ input: "conv2d_5/random_normal/mul"
+ input: "conv2d_5/random_normal/mean"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_5/kernel"
+ op: "VariableV2"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "container"
+ value {
+ s: ""
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ attr {
+ key: "shared_name"
+ value {
+ s: ""
+ }
+ }
+ }
+ node {
+ name: "conv2d_5/kernel/Assign"
+ op: "Assign"
+ input: "conv2d_5/kernel"
+ input: "conv2d_5/random_normal"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_5/kernel"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "use_locking"
+ value {
+ b: true
+ }
+ }
+ attr {
+ key: "validate_shape"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_5/kernel/read"
+ op: "Identity"
+ input: "conv2d_5/kernel"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_5/kernel"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_5/Const"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ dim {
+ size: 64
+ }
+ }
+ float_val: 0.0
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_5/bias"
+ op: "VariableV2"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "container"
+ value {
+ s: ""
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ attr {
+ key: "shared_name"
+ value {
+ s: ""
+ }
+ }
+ }
+ node {
+ name: "conv2d_5/bias/Assign"
+ op: "Assign"
+ input: "conv2d_5/bias"
+ input: "conv2d_5/Const"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_5/bias"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "use_locking"
+ value {
+ b: true
+ }
+ }
+ attr {
+ key: "validate_shape"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_5/bias/read"
+ op: "Identity"
+ input: "conv2d_5/bias"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_5/bias"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_5/convolution/dilation_rate"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 2
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 2
+ }
+ }
+ tensor_content: "\001\000\000\000\001\000\000\000"
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_5/convolution"
+ op: "Conv2D"
+ input: "max_pooling2d_2/MaxPool"
+ input: "conv2d_5/kernel/read"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 51
+ }
+ dim {
+ size: 51
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ attr {
+ key: "padding"
+ value {
+ s: "VALID"
+ }
+ }
+ attr {
+ key: "strides"
+ value {
+ list {
+ i: 1
+ i: 1
+ i: 1
+ i: 1
+ }
+ }
+ }
+ attr {
+ key: "use_cudnn_on_gpu"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_5/BiasAdd"
+ op: "BiasAdd"
+ input: "conv2d_5/convolution"
+ input: "conv2d_5/bias/read"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 51
+ }
+ dim {
+ size: 51
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ }
+ node {
+ name: "conv2d_5/Relu"
+ op: "Relu"
+ input: "conv2d_5/BiasAdd"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 51
+ }
+ dim {
+ size: 51
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_6/random_normal/shape"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 4
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 4
+ }
+ }
+ tensor_content: "\003\000\000\000\003\000\000\000@\000\000\000@\000\000\000"
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_6/random_normal/mean"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ }
+ float_val: 0.0
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_6/random_normal/stddev"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ }
+ float_val: 0.05000000074505806
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_6/random_normal/RandomStandardNormal"
+ op: "RandomStandardNormal"
+ input: "conv2d_6/random_normal/shape"
+ attr {
+ key: "T"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "seed"
+ value {
+ i: 87654321
+ }
+ }
+ attr {
+ key: "seed2"
+ value {
+ i: 5053293
+ }
+ }
+ }
+ node {
+ name: "conv2d_6/random_normal/mul"
+ op: "Mul"
+ input: "conv2d_6/random_normal/RandomStandardNormal"
+ input: "conv2d_6/random_normal/stddev"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_6/random_normal"
+ op: "Add"
+ input: "conv2d_6/random_normal/mul"
+ input: "conv2d_6/random_normal/mean"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_6/kernel"
+ op: "VariableV2"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "container"
+ value {
+ s: ""
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ attr {
+ key: "shared_name"
+ value {
+ s: ""
+ }
+ }
+ }
+ node {
+ name: "conv2d_6/kernel/Assign"
+ op: "Assign"
+ input: "conv2d_6/kernel"
+ input: "conv2d_6/random_normal"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_6/kernel"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "use_locking"
+ value {
+ b: true
+ }
+ }
+ attr {
+ key: "validate_shape"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_6/kernel/read"
+ op: "Identity"
+ input: "conv2d_6/kernel"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_6/kernel"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_6/Const"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ dim {
+ size: 64
+ }
+ }
+ float_val: 0.0
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_6/bias"
+ op: "VariableV2"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "container"
+ value {
+ s: ""
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ attr {
+ key: "shared_name"
+ value {
+ s: ""
+ }
+ }
+ }
+ node {
+ name: "conv2d_6/bias/Assign"
+ op: "Assign"
+ input: "conv2d_6/bias"
+ input: "conv2d_6/Const"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_6/bias"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "use_locking"
+ value {
+ b: true
+ }
+ }
+ attr {
+ key: "validate_shape"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_6/bias/read"
+ op: "Identity"
+ input: "conv2d_6/bias"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_6/bias"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_6/convolution/dilation_rate"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 2
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 2
+ }
+ }
+ tensor_content: "\001\000\000\000\001\000\000\000"
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_6/convolution"
+ op: "Conv2D"
+ input: "conv2d_5/Relu"
+ input: "conv2d_6/kernel/read"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 49
+ }
+ dim {
+ size: 49
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ attr {
+ key: "padding"
+ value {
+ s: "VALID"
+ }
+ }
+ attr {
+ key: "strides"
+ value {
+ list {
+ i: 1
+ i: 1
+ i: 1
+ i: 1
+ }
+ }
+ }
+ attr {
+ key: "use_cudnn_on_gpu"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_6/BiasAdd"
+ op: "BiasAdd"
+ input: "conv2d_6/convolution"
+ input: "conv2d_6/bias/read"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 49
+ }
+ dim {
+ size: 49
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ }
+ node {
+ name: "conv2d_6/Relu"
+ op: "Relu"
+ input: "conv2d_6/BiasAdd"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 49
+ }
+ dim {
+ size: 49
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_7/random_normal/shape"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 4
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 4
+ }
+ }
+ tensor_content: "\003\000\000\000\003\000\000\000@\000\000\000@\000\000\000"
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_7/random_normal/mean"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ }
+ float_val: 0.0
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_7/random_normal/stddev"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ }
+ float_val: 0.05000000074505806
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_7/random_normal/RandomStandardNormal"
+ op: "RandomStandardNormal"
+ input: "conv2d_7/random_normal/shape"
+ attr {
+ key: "T"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "seed"
+ value {
+ i: 87654321
+ }
+ }
+ attr {
+ key: "seed2"
+ value {
+ i: 864201
+ }
+ }
+ }
+ node {
+ name: "conv2d_7/random_normal/mul"
+ op: "Mul"
+ input: "conv2d_7/random_normal/RandomStandardNormal"
+ input: "conv2d_7/random_normal/stddev"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_7/random_normal"
+ op: "Add"
+ input: "conv2d_7/random_normal/mul"
+ input: "conv2d_7/random_normal/mean"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_7/kernel"
+ op: "VariableV2"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "container"
+ value {
+ s: ""
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ attr {
+ key: "shared_name"
+ value {
+ s: ""
+ }
+ }
+ }
+ node {
+ name: "conv2d_7/kernel/Assign"
+ op: "Assign"
+ input: "conv2d_7/kernel"
+ input: "conv2d_7/random_normal"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_7/kernel"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "use_locking"
+ value {
+ b: true
+ }
+ }
+ attr {
+ key: "validate_shape"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_7/kernel/read"
+ op: "Identity"
+ input: "conv2d_7/kernel"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_7/kernel"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_7/Const"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ dim {
+ size: 64
+ }
+ }
+ float_val: 0.0
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_7/bias"
+ op: "VariableV2"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "container"
+ value {
+ s: ""
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ attr {
+ key: "shared_name"
+ value {
+ s: ""
+ }
+ }
+ }
+ node {
+ name: "conv2d_7/bias/Assign"
+ op: "Assign"
+ input: "conv2d_7/bias"
+ input: "conv2d_7/Const"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_7/bias"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "use_locking"
+ value {
+ b: true
+ }
+ }
+ attr {
+ key: "validate_shape"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_7/bias/read"
+ op: "Identity"
+ input: "conv2d_7/bias"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_7/bias"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_7/convolution/dilation_rate"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 2
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 2
+ }
+ }
+ tensor_content: "\001\000\000\000\001\000\000\000"
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_7/convolution"
+ op: "Conv2D"
+ input: "conv2d_6/Relu"
+ input: "conv2d_7/kernel/read"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 47
+ }
+ dim {
+ size: 47
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ attr {
+ key: "padding"
+ value {
+ s: "VALID"
+ }
+ }
+ attr {
+ key: "strides"
+ value {
+ list {
+ i: 1
+ i: 1
+ i: 1
+ i: 1
+ }
+ }
+ }
+ attr {
+ key: "use_cudnn_on_gpu"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_7/BiasAdd"
+ op: "BiasAdd"
+ input: "conv2d_7/convolution"
+ input: "conv2d_7/bias/read"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 47
+ }
+ dim {
+ size: 47
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ }
+ node {
+ name: "conv2d_7/Relu"
+ op: "Relu"
+ input: "conv2d_7/BiasAdd"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 47
+ }
+ dim {
+ size: 47
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_8/random_normal/shape"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 4
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 4
+ }
+ }
+ tensor_content: "\003\000\000\000\003\000\000\000@\000\000\000@\000\000\000"
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_8/random_normal/mean"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ }
+ float_val: 0.0
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_8/random_normal/stddev"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ }
+ float_val: 0.05000000074505806
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_8/random_normal/RandomStandardNormal"
+ op: "RandomStandardNormal"
+ input: "conv2d_8/random_normal/shape"
+ attr {
+ key: "T"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "seed"
+ value {
+ i: 87654321
+ }
+ }
+ attr {
+ key: "seed2"
+ value {
+ i: 924694
+ }
+ }
+ }
+ node {
+ name: "conv2d_8/random_normal/mul"
+ op: "Mul"
+ input: "conv2d_8/random_normal/RandomStandardNormal"
+ input: "conv2d_8/random_normal/stddev"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_8/random_normal"
+ op: "Add"
+ input: "conv2d_8/random_normal/mul"
+ input: "conv2d_8/random_normal/mean"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_8/kernel"
+ op: "VariableV2"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "container"
+ value {
+ s: ""
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ attr {
+ key: "shared_name"
+ value {
+ s: ""
+ }
+ }
+ }
+ node {
+ name: "conv2d_8/kernel/Assign"
+ op: "Assign"
+ input: "conv2d_8/kernel"
+ input: "conv2d_8/random_normal"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_8/kernel"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "use_locking"
+ value {
+ b: true
+ }
+ }
+ attr {
+ key: "validate_shape"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_8/kernel/read"
+ op: "Identity"
+ input: "conv2d_8/kernel"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_8/kernel"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_8/Const"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ dim {
+ size: 64
+ }
+ }
+ float_val: 0.0
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_8/bias"
+ op: "VariableV2"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "container"
+ value {
+ s: ""
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ attr {
+ key: "shared_name"
+ value {
+ s: ""
+ }
+ }
+ }
+ node {
+ name: "conv2d_8/bias/Assign"
+ op: "Assign"
+ input: "conv2d_8/bias"
+ input: "conv2d_8/Const"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_8/bias"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "use_locking"
+ value {
+ b: true
+ }
+ }
+ attr {
+ key: "validate_shape"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_8/bias/read"
+ op: "Identity"
+ input: "conv2d_8/bias"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_8/bias"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_8/convolution/dilation_rate"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 2
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 2
+ }
+ }
+ tensor_content: "\001\000\000\000\001\000\000\000"
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_8/convolution"
+ op: "Conv2D"
+ input: "conv2d_7/Relu"
+ input: "conv2d_8/kernel/read"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 45
+ }
+ dim {
+ size: 45
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ attr {
+ key: "padding"
+ value {
+ s: "VALID"
+ }
+ }
+ attr {
+ key: "strides"
+ value {
+ list {
+ i: 1
+ i: 1
+ i: 1
+ i: 1
+ }
+ }
+ }
+ attr {
+ key: "use_cudnn_on_gpu"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_8/BiasAdd"
+ op: "BiasAdd"
+ input: "conv2d_8/convolution"
+ input: "conv2d_8/bias/read"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 45
+ }
+ dim {
+ size: 45
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ }
+ node {
+ name: "conv2d_8/Relu"
+ op: "Relu"
+ input: "conv2d_8/BiasAdd"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 45
+ }
+ dim {
+ size: 45
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "max_pooling2d_3/MaxPool"
+ op: "MaxPool"
+ input: "conv2d_8/Relu"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 22
+ }
+ dim {
+ size: 22
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ attr {
+ key: "ksize"
+ value {
+ list {
+ i: 1
+ i: 2
+ i: 2
+ i: 1
+ }
+ }
+ }
+ attr {
+ key: "padding"
+ value {
+ s: "VALID"
+ }
+ }
+ attr {
+ key: "strides"
+ value {
+ list {
+ i: 1
+ i: 2
+ i: 2
+ i: 1
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_9/random_normal/shape"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 4
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 4
+ }
+ }
+ tensor_content: "\003\000\000\000\003\000\000\000@\000\000\000@\000\000\000"
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_9/random_normal/mean"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ }
+ float_val: 0.0
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_9/random_normal/stddev"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ }
+ float_val: 0.05000000074505806
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_9/random_normal/RandomStandardNormal"
+ op: "RandomStandardNormal"
+ input: "conv2d_9/random_normal/shape"
+ attr {
+ key: "T"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "seed"
+ value {
+ i: 87654321
+ }
+ }
+ attr {
+ key: "seed2"
+ value {
+ i: 3742298
+ }
+ }
+ }
+ node {
+ name: "conv2d_9/random_normal/mul"
+ op: "Mul"
+ input: "conv2d_9/random_normal/RandomStandardNormal"
+ input: "conv2d_9/random_normal/stddev"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_9/random_normal"
+ op: "Add"
+ input: "conv2d_9/random_normal/mul"
+ input: "conv2d_9/random_normal/mean"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_9/kernel"
+ op: "VariableV2"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "container"
+ value {
+ s: ""
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ attr {
+ key: "shared_name"
+ value {
+ s: ""
+ }
+ }
+ }
+ node {
+ name: "conv2d_9/kernel/Assign"
+ op: "Assign"
+ input: "conv2d_9/kernel"
+ input: "conv2d_9/random_normal"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_9/kernel"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "use_locking"
+ value {
+ b: true
+ }
+ }
+ attr {
+ key: "validate_shape"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_9/kernel/read"
+ op: "Identity"
+ input: "conv2d_9/kernel"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_9/kernel"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_9/Const"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ dim {
+ size: 64
+ }
+ }
+ float_val: 0.0
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_9/bias"
+ op: "VariableV2"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "container"
+ value {
+ s: ""
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ attr {
+ key: "shared_name"
+ value {
+ s: ""
+ }
+ }
+ }
+ node {
+ name: "conv2d_9/bias/Assign"
+ op: "Assign"
+ input: "conv2d_9/bias"
+ input: "conv2d_9/Const"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_9/bias"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "use_locking"
+ value {
+ b: true
+ }
+ }
+ attr {
+ key: "validate_shape"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_9/bias/read"
+ op: "Identity"
+ input: "conv2d_9/bias"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_9/bias"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_9/convolution/dilation_rate"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 2
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 2
+ }
+ }
+ tensor_content: "\001\000\000\000\001\000\000\000"
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_9/convolution"
+ op: "Conv2D"
+ input: "conv2d_8/Relu"
+ input: "conv2d_9/kernel/read"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 43
+ }
+ dim {
+ size: 43
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ attr {
+ key: "padding"
+ value {
+ s: "VALID"
+ }
+ }
+ attr {
+ key: "strides"
+ value {
+ list {
+ i: 1
+ i: 1
+ i: 1
+ i: 1
+ }
+ }
+ }
+ attr {
+ key: "use_cudnn_on_gpu"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_9/BiasAdd"
+ op: "BiasAdd"
+ input: "conv2d_9/convolution"
+ input: "conv2d_9/bias/read"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 43
+ }
+ dim {
+ size: 43
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ }
+ node {
+ name: "conv2d_9/Relu"
+ op: "Relu"
+ input: "conv2d_9/BiasAdd"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 43
+ }
+ dim {
+ size: 43
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_10/random_normal/shape"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 4
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 4
+ }
+ }
+ tensor_content: "\003\000\000\000\003\000\000\000@\000\000\000@\000\000\000"
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_10/random_normal/mean"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ }
+ float_val: 0.0
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_10/random_normal/stddev"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ }
+ float_val: 0.05000000074505806
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_10/random_normal/RandomStandardNormal"
+ op: "RandomStandardNormal"
+ input: "conv2d_10/random_normal/shape"
+ attr {
+ key: "T"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "seed"
+ value {
+ i: 87654321
+ }
+ }
+ attr {
+ key: "seed2"
+ value {
+ i: 8308060
+ }
+ }
+ }
+ node {
+ name: "conv2d_10/random_normal/mul"
+ op: "Mul"
+ input: "conv2d_10/random_normal/RandomStandardNormal"
+ input: "conv2d_10/random_normal/stddev"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_10/random_normal"
+ op: "Add"
+ input: "conv2d_10/random_normal/mul"
+ input: "conv2d_10/random_normal/mean"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_10/kernel"
+ op: "VariableV2"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "container"
+ value {
+ s: ""
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ attr {
+ key: "shared_name"
+ value {
+ s: ""
+ }
+ }
+ }
+ node {
+ name: "conv2d_10/kernel/Assign"
+ op: "Assign"
+ input: "conv2d_10/kernel"
+ input: "conv2d_10/random_normal"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_10/kernel"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "use_locking"
+ value {
+ b: true
+ }
+ }
+ attr {
+ key: "validate_shape"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_10/kernel/read"
+ op: "Identity"
+ input: "conv2d_10/kernel"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_10/kernel"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_10/Const"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ dim {
+ size: 64
+ }
+ }
+ float_val: 0.0
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_10/bias"
+ op: "VariableV2"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "container"
+ value {
+ s: ""
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ attr {
+ key: "shared_name"
+ value {
+ s: ""
+ }
+ }
+ }
+ node {
+ name: "conv2d_10/bias/Assign"
+ op: "Assign"
+ input: "conv2d_10/bias"
+ input: "conv2d_10/Const"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_10/bias"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "use_locking"
+ value {
+ b: true
+ }
+ }
+ attr {
+ key: "validate_shape"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_10/bias/read"
+ op: "Identity"
+ input: "conv2d_10/bias"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_10/bias"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_10/convolution/dilation_rate"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 2
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 2
+ }
+ }
+ tensor_content: "\001\000\000\000\001\000\000\000"
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_10/convolution"
+ op: "Conv2D"
+ input: "conv2d_9/Relu"
+ input: "conv2d_10/kernel/read"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 41
+ }
+ dim {
+ size: 41
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ attr {
+ key: "padding"
+ value {
+ s: "VALID"
+ }
+ }
+ attr {
+ key: "strides"
+ value {
+ list {
+ i: 1
+ i: 1
+ i: 1
+ i: 1
+ }
+ }
+ }
+ attr {
+ key: "use_cudnn_on_gpu"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_10/BiasAdd"
+ op: "BiasAdd"
+ input: "conv2d_10/convolution"
+ input: "conv2d_10/bias/read"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 41
+ }
+ dim {
+ size: 41
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ }
+ node {
+ name: "conv2d_10/Relu"
+ op: "Relu"
+ input: "conv2d_10/BiasAdd"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 41
+ }
+ dim {
+ size: 41
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_11/random_normal/shape"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 4
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 4
+ }
+ }
+ tensor_content: "\003\000\000\000\003\000\000\000@\000\000\000@\000\000\000"
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_11/random_normal/mean"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ }
+ float_val: 0.0
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_11/random_normal/stddev"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ }
+ float_val: 0.05000000074505806
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_11/random_normal/RandomStandardNormal"
+ op: "RandomStandardNormal"
+ input: "conv2d_11/random_normal/shape"
+ attr {
+ key: "T"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "seed"
+ value {
+ i: 87654321
+ }
+ }
+ attr {
+ key: "seed2"
+ value {
+ i: 5802029
+ }
+ }
+ }
+ node {
+ name: "conv2d_11/random_normal/mul"
+ op: "Mul"
+ input: "conv2d_11/random_normal/RandomStandardNormal"
+ input: "conv2d_11/random_normal/stddev"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_11/random_normal"
+ op: "Add"
+ input: "conv2d_11/random_normal/mul"
+ input: "conv2d_11/random_normal/mean"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_11/kernel"
+ op: "VariableV2"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "container"
+ value {
+ s: ""
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ attr {
+ key: "shared_name"
+ value {
+ s: ""
+ }
+ }
+ }
+ node {
+ name: "conv2d_11/kernel/Assign"
+ op: "Assign"
+ input: "conv2d_11/kernel"
+ input: "conv2d_11/random_normal"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_11/kernel"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "use_locking"
+ value {
+ b: true
+ }
+ }
+ attr {
+ key: "validate_shape"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_11/kernel/read"
+ op: "Identity"
+ input: "conv2d_11/kernel"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_11/kernel"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_11/Const"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ dim {
+ size: 64
+ }
+ }
+ float_val: 0.0
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_11/bias"
+ op: "VariableV2"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "container"
+ value {
+ s: ""
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ attr {
+ key: "shared_name"
+ value {
+ s: ""
+ }
+ }
+ }
+ node {
+ name: "conv2d_11/bias/Assign"
+ op: "Assign"
+ input: "conv2d_11/bias"
+ input: "conv2d_11/Const"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_11/bias"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "use_locking"
+ value {
+ b: true
+ }
+ }
+ attr {
+ key: "validate_shape"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_11/bias/read"
+ op: "Identity"
+ input: "conv2d_11/bias"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_11/bias"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_11/convolution/dilation_rate"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 2
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 2
+ }
+ }
+ tensor_content: "\001\000\000\000\001\000\000\000"
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_11/convolution"
+ op: "Conv2D"
+ input: "conv2d_10/Relu"
+ input: "conv2d_11/kernel/read"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 39
+ }
+ dim {
+ size: 39
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ attr {
+ key: "padding"
+ value {
+ s: "VALID"
+ }
+ }
+ attr {
+ key: "strides"
+ value {
+ list {
+ i: 1
+ i: 1
+ i: 1
+ i: 1
+ }
+ }
+ }
+ attr {
+ key: "use_cudnn_on_gpu"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_11/BiasAdd"
+ op: "BiasAdd"
+ input: "conv2d_11/convolution"
+ input: "conv2d_11/bias/read"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 39
+ }
+ dim {
+ size: 39
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ }
+ node {
+ name: "conv2d_11/Relu"
+ op: "Relu"
+ input: "conv2d_11/BiasAdd"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 39
+ }
+ dim {
+ size: 39
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_12/random_normal/shape"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 4
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 4
+ }
+ }
+ tensor_content: "\003\000\000\000\003\000\000\000@\000\000\000@\000\000\000"
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_12/random_normal/mean"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ }
+ float_val: 0.0
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_12/random_normal/stddev"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ }
+ float_val: 0.05000000074505806
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_12/random_normal/RandomStandardNormal"
+ op: "RandomStandardNormal"
+ input: "conv2d_12/random_normal/shape"
+ attr {
+ key: "T"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "seed"
+ value {
+ i: 87654321
+ }
+ }
+ attr {
+ key: "seed2"
+ value {
+ i: 3730234
+ }
+ }
+ }
+ node {
+ name: "conv2d_12/random_normal/mul"
+ op: "Mul"
+ input: "conv2d_12/random_normal/RandomStandardNormal"
+ input: "conv2d_12/random_normal/stddev"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_12/random_normal"
+ op: "Add"
+ input: "conv2d_12/random_normal/mul"
+ input: "conv2d_12/random_normal/mean"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_12/kernel"
+ op: "VariableV2"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "container"
+ value {
+ s: ""
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ attr {
+ key: "shared_name"
+ value {
+ s: ""
+ }
+ }
+ }
+ node {
+ name: "conv2d_12/kernel/Assign"
+ op: "Assign"
+ input: "conv2d_12/kernel"
+ input: "conv2d_12/random_normal"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_12/kernel"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "use_locking"
+ value {
+ b: true
+ }
+ }
+ attr {
+ key: "validate_shape"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_12/kernel/read"
+ op: "Identity"
+ input: "conv2d_12/kernel"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_12/kernel"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_12/Const"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ dim {
+ size: 64
+ }
+ }
+ float_val: 0.0
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_12/bias"
+ op: "VariableV2"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "container"
+ value {
+ s: ""
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ attr {
+ key: "shared_name"
+ value {
+ s: ""
+ }
+ }
+ }
+ node {
+ name: "conv2d_12/bias/Assign"
+ op: "Assign"
+ input: "conv2d_12/bias"
+ input: "conv2d_12/Const"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_12/bias"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "use_locking"
+ value {
+ b: true
+ }
+ }
+ attr {
+ key: "validate_shape"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_12/bias/read"
+ op: "Identity"
+ input: "conv2d_12/bias"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_12/bias"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_12/convolution/dilation_rate"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 2
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 2
+ }
+ }
+ tensor_content: "\001\000\000\000\001\000\000\000"
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_12/convolution"
+ op: "Conv2D"
+ input: "conv2d_11/Relu"
+ input: "conv2d_12/kernel/read"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 37
+ }
+ dim {
+ size: 37
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ attr {
+ key: "padding"
+ value {
+ s: "VALID"
+ }
+ }
+ attr {
+ key: "strides"
+ value {
+ list {
+ i: 1
+ i: 1
+ i: 1
+ i: 1
+ }
+ }
+ }
+ attr {
+ key: "use_cudnn_on_gpu"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_12/BiasAdd"
+ op: "BiasAdd"
+ input: "conv2d_12/convolution"
+ input: "conv2d_12/bias/read"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 37
+ }
+ dim {
+ size: 37
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ }
+ node {
+ name: "conv2d_12/Relu"
+ op: "Relu"
+ input: "conv2d_12/BiasAdd"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 37
+ }
+ dim {
+ size: 37
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "max_pooling2d_4/MaxPool"
+ op: "MaxPool"
+ input: "conv2d_12/Relu"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 18
+ }
+ dim {
+ size: 18
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ attr {
+ key: "ksize"
+ value {
+ list {
+ i: 1
+ i: 2
+ i: 2
+ i: 1
+ }
+ }
+ }
+ attr {
+ key: "padding"
+ value {
+ s: "VALID"
+ }
+ }
+ attr {
+ key: "strides"
+ value {
+ list {
+ i: 1
+ i: 2
+ i: 2
+ i: 1
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_13/random_normal/shape"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 4
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 4
+ }
+ }
+ tensor_content: "\003\000\000\000\003\000\000\000@\000\000\000@\000\000\000"
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_13/random_normal/mean"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ }
+ float_val: 0.0
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_13/random_normal/stddev"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ }
+ float_val: 0.05000000074505806
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_13/random_normal/RandomStandardNormal"
+ op: "RandomStandardNormal"
+ input: "conv2d_13/random_normal/shape"
+ attr {
+ key: "T"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "seed"
+ value {
+ i: 87654321
+ }
+ }
+ attr {
+ key: "seed2"
+ value {
+ i: 4228333
+ }
+ }
+ }
+ node {
+ name: "conv2d_13/random_normal/mul"
+ op: "Mul"
+ input: "conv2d_13/random_normal/RandomStandardNormal"
+ input: "conv2d_13/random_normal/stddev"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_13/random_normal"
+ op: "Add"
+ input: "conv2d_13/random_normal/mul"
+ input: "conv2d_13/random_normal/mean"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_13/kernel"
+ op: "VariableV2"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "container"
+ value {
+ s: ""
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ attr {
+ key: "shared_name"
+ value {
+ s: ""
+ }
+ }
+ }
+ node {
+ name: "conv2d_13/kernel/Assign"
+ op: "Assign"
+ input: "conv2d_13/kernel"
+ input: "conv2d_13/random_normal"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_13/kernel"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "use_locking"
+ value {
+ b: true
+ }
+ }
+ attr {
+ key: "validate_shape"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_13/kernel/read"
+ op: "Identity"
+ input: "conv2d_13/kernel"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_13/kernel"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_13/Const"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ dim {
+ size: 64
+ }
+ }
+ float_val: 0.0
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_13/bias"
+ op: "VariableV2"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "container"
+ value {
+ s: ""
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ attr {
+ key: "shared_name"
+ value {
+ s: ""
+ }
+ }
+ }
+ node {
+ name: "conv2d_13/bias/Assign"
+ op: "Assign"
+ input: "conv2d_13/bias"
+ input: "conv2d_13/Const"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_13/bias"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "use_locking"
+ value {
+ b: true
+ }
+ }
+ attr {
+ key: "validate_shape"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_13/bias/read"
+ op: "Identity"
+ input: "conv2d_13/bias"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_13/bias"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_13/convolution/dilation_rate"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 2
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 2
+ }
+ }
+ tensor_content: "\001\000\000\000\001\000\000\000"
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_13/convolution"
+ op: "Conv2D"
+ input: "max_pooling2d_4/MaxPool"
+ input: "conv2d_13/kernel/read"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 16
+ }
+ dim {
+ size: 16
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ attr {
+ key: "padding"
+ value {
+ s: "VALID"
+ }
+ }
+ attr {
+ key: "strides"
+ value {
+ list {
+ i: 1
+ i: 1
+ i: 1
+ i: 1
+ }
+ }
+ }
+ attr {
+ key: "use_cudnn_on_gpu"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_13/BiasAdd"
+ op: "BiasAdd"
+ input: "conv2d_13/convolution"
+ input: "conv2d_13/bias/read"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 16
+ }
+ dim {
+ size: 16
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ }
+ node {
+ name: "conv2d_13/Relu"
+ op: "Relu"
+ input: "conv2d_13/BiasAdd"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 16
+ }
+ dim {
+ size: 16
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_14/random_normal/shape"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 4
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 4
+ }
+ }
+ tensor_content: "\003\000\000\000\003\000\000\000@\000\000\000@\000\000\000"
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_14/random_normal/mean"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ }
+ float_val: 0.0
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_14/random_normal/stddev"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ }
+ float_val: 0.05000000074505806
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_14/random_normal/RandomStandardNormal"
+ op: "RandomStandardNormal"
+ input: "conv2d_14/random_normal/shape"
+ attr {
+ key: "T"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "seed"
+ value {
+ i: 87654321
+ }
+ }
+ attr {
+ key: "seed2"
+ value {
+ i: 2121679
+ }
+ }
+ }
+ node {
+ name: "conv2d_14/random_normal/mul"
+ op: "Mul"
+ input: "conv2d_14/random_normal/RandomStandardNormal"
+ input: "conv2d_14/random_normal/stddev"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_14/random_normal"
+ op: "Add"
+ input: "conv2d_14/random_normal/mul"
+ input: "conv2d_14/random_normal/mean"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_14/kernel"
+ op: "VariableV2"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "container"
+ value {
+ s: ""
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ attr {
+ key: "shared_name"
+ value {
+ s: ""
+ }
+ }
+ }
+ node {
+ name: "conv2d_14/kernel/Assign"
+ op: "Assign"
+ input: "conv2d_14/kernel"
+ input: "conv2d_14/random_normal"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_14/kernel"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "use_locking"
+ value {
+ b: true
+ }
+ }
+ attr {
+ key: "validate_shape"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_14/kernel/read"
+ op: "Identity"
+ input: "conv2d_14/kernel"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_14/kernel"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_14/Const"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ dim {
+ size: 64
+ }
+ }
+ float_val: 0.0
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_14/bias"
+ op: "VariableV2"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "container"
+ value {
+ s: ""
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ attr {
+ key: "shared_name"
+ value {
+ s: ""
+ }
+ }
+ }
+ node {
+ name: "conv2d_14/bias/Assign"
+ op: "Assign"
+ input: "conv2d_14/bias"
+ input: "conv2d_14/Const"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_14/bias"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "use_locking"
+ value {
+ b: true
+ }
+ }
+ attr {
+ key: "validate_shape"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_14/bias/read"
+ op: "Identity"
+ input: "conv2d_14/bias"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_14/bias"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_14/convolution/dilation_rate"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 2
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 2
+ }
+ }
+ tensor_content: "\001\000\000\000\001\000\000\000"
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_14/convolution"
+ op: "Conv2D"
+ input: "conv2d_13/Relu"
+ input: "conv2d_14/kernel/read"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 14
+ }
+ dim {
+ size: 14
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ attr {
+ key: "padding"
+ value {
+ s: "VALID"
+ }
+ }
+ attr {
+ key: "strides"
+ value {
+ list {
+ i: 1
+ i: 1
+ i: 1
+ i: 1
+ }
+ }
+ }
+ attr {
+ key: "use_cudnn_on_gpu"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_14/BiasAdd"
+ op: "BiasAdd"
+ input: "conv2d_14/convolution"
+ input: "conv2d_14/bias/read"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 14
+ }
+ dim {
+ size: 14
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ }
+ node {
+ name: "conv2d_14/Relu"
+ op: "Relu"
+ input: "conv2d_14/BiasAdd"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 14
+ }
+ dim {
+ size: 14
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_15/random_normal/shape"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 4
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 4
+ }
+ }
+ tensor_content: "\003\000\000\000\003\000\000\000@\000\000\000@\000\000\000"
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_15/random_normal/mean"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ }
+ float_val: 0.0
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_15/random_normal/stddev"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ }
+ float_val: 0.05000000074505806
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_15/random_normal/RandomStandardNormal"
+ op: "RandomStandardNormal"
+ input: "conv2d_15/random_normal/shape"
+ attr {
+ key: "T"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "seed"
+ value {
+ i: 87654321
+ }
+ }
+ attr {
+ key: "seed2"
+ value {
+ i: 9414457
+ }
+ }
+ }
+ node {
+ name: "conv2d_15/random_normal/mul"
+ op: "Mul"
+ input: "conv2d_15/random_normal/RandomStandardNormal"
+ input: "conv2d_15/random_normal/stddev"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_15/random_normal"
+ op: "Add"
+ input: "conv2d_15/random_normal/mul"
+ input: "conv2d_15/random_normal/mean"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_15/kernel"
+ op: "VariableV2"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "container"
+ value {
+ s: ""
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ attr {
+ key: "shared_name"
+ value {
+ s: ""
+ }
+ }
+ }
+ node {
+ name: "conv2d_15/kernel/Assign"
+ op: "Assign"
+ input: "conv2d_15/kernel"
+ input: "conv2d_15/random_normal"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_15/kernel"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "use_locking"
+ value {
+ b: true
+ }
+ }
+ attr {
+ key: "validate_shape"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_15/kernel/read"
+ op: "Identity"
+ input: "conv2d_15/kernel"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_15/kernel"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_15/Const"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ dim {
+ size: 64
+ }
+ }
+ float_val: 0.0
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_15/bias"
+ op: "VariableV2"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "container"
+ value {
+ s: ""
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ attr {
+ key: "shared_name"
+ value {
+ s: ""
+ }
+ }
+ }
+ node {
+ name: "conv2d_15/bias/Assign"
+ op: "Assign"
+ input: "conv2d_15/bias"
+ input: "conv2d_15/Const"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_15/bias"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "use_locking"
+ value {
+ b: true
+ }
+ }
+ attr {
+ key: "validate_shape"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_15/bias/read"
+ op: "Identity"
+ input: "conv2d_15/bias"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_15/bias"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_15/convolution/dilation_rate"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 2
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 2
+ }
+ }
+ tensor_content: "\001\000\000\000\001\000\000\000"
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_15/convolution"
+ op: "Conv2D"
+ input: "conv2d_14/Relu"
+ input: "conv2d_15/kernel/read"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 12
+ }
+ dim {
+ size: 12
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ attr {
+ key: "padding"
+ value {
+ s: "VALID"
+ }
+ }
+ attr {
+ key: "strides"
+ value {
+ list {
+ i: 1
+ i: 1
+ i: 1
+ i: 1
+ }
+ }
+ }
+ attr {
+ key: "use_cudnn_on_gpu"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_15/BiasAdd"
+ op: "BiasAdd"
+ input: "conv2d_15/convolution"
+ input: "conv2d_15/bias/read"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 12
+ }
+ dim {
+ size: 12
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ }
+ node {
+ name: "conv2d_15/Relu"
+ op: "Relu"
+ input: "conv2d_15/BiasAdd"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 12
+ }
+ dim {
+ size: 12
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_16/random_normal/shape"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 4
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 4
+ }
+ }
+ tensor_content: "\003\000\000\000\003\000\000\000@\000\000\000@\000\000\000"
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_16/random_normal/mean"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ }
+ float_val: 0.0
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_16/random_normal/stddev"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ }
+ float_val: 0.05000000074505806
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_16/random_normal/RandomStandardNormal"
+ op: "RandomStandardNormal"
+ input: "conv2d_16/random_normal/shape"
+ attr {
+ key: "T"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "seed"
+ value {
+ i: 87654321
+ }
+ }
+ attr {
+ key: "seed2"
+ value {
+ i: 8501564
+ }
+ }
+ }
+ node {
+ name: "conv2d_16/random_normal/mul"
+ op: "Mul"
+ input: "conv2d_16/random_normal/RandomStandardNormal"
+ input: "conv2d_16/random_normal/stddev"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_16/random_normal"
+ op: "Add"
+ input: "conv2d_16/random_normal/mul"
+ input: "conv2d_16/random_normal/mean"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_16/kernel"
+ op: "VariableV2"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "container"
+ value {
+ s: ""
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ attr {
+ key: "shared_name"
+ value {
+ s: ""
+ }
+ }
+ }
+ node {
+ name: "conv2d_16/kernel/Assign"
+ op: "Assign"
+ input: "conv2d_16/kernel"
+ input: "conv2d_16/random_normal"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_16/kernel"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "use_locking"
+ value {
+ b: true
+ }
+ }
+ attr {
+ key: "validate_shape"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_16/kernel/read"
+ op: "Identity"
+ input: "conv2d_16/kernel"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_16/kernel"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ dim {
+ size: 3
+ }
+ dim {
+ size: 64
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_16/Const"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ dim {
+ size: 64
+ }
+ }
+ float_val: 0.0
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_16/bias"
+ op: "VariableV2"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "container"
+ value {
+ s: ""
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ attr {
+ key: "shared_name"
+ value {
+ s: ""
+ }
+ }
+ }
+ node {
+ name: "conv2d_16/bias/Assign"
+ op: "Assign"
+ input: "conv2d_16/bias"
+ input: "conv2d_16/Const"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_16/bias"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "use_locking"
+ value {
+ b: true
+ }
+ }
+ attr {
+ key: "validate_shape"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_16/bias/read"
+ op: "Identity"
+ input: "conv2d_16/bias"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@conv2d_16/bias"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_16/convolution/dilation_rate"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 2
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 2
+ }
+ }
+ tensor_content: "\001\000\000\000\001\000\000\000"
+ }
+ }
+ }
+ }
+ node {
+ name: "conv2d_16/convolution"
+ op: "Conv2D"
+ input: "conv2d_15/Relu"
+ input: "conv2d_16/kernel/read"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 10
+ }
+ dim {
+ size: 10
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ attr {
+ key: "padding"
+ value {
+ s: "VALID"
+ }
+ }
+ attr {
+ key: "strides"
+ value {
+ list {
+ i: 1
+ i: 1
+ i: 1
+ i: 1
+ }
+ }
+ }
+ attr {
+ key: "use_cudnn_on_gpu"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "conv2d_16/BiasAdd"
+ op: "BiasAdd"
+ input: "conv2d_16/convolution"
+ input: "conv2d_16/bias/read"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 10
+ }
+ dim {
+ size: 10
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ }
+ node {
+ name: "conv2d_16/Relu"
+ op: "Relu"
+ input: "conv2d_16/BiasAdd"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 10
+ }
+ dim {
+ size: 10
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "max_pooling2d_5/MaxPool"
+ op: "MaxPool"
+ input: "conv2d_16/Relu"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 10
+ }
+ dim {
+ size: 5
+ }
+ dim {
+ size: 5
+ }
+ dim {
+ size: 64
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ attr {
+ key: "ksize"
+ value {
+ list {
+ i: 1
+ i: 2
+ i: 2
+ i: 1
+ }
+ }
+ }
+ attr {
+ key: "padding"
+ value {
+ s: "VALID"
+ }
+ }
+ attr {
+ key: "strides"
+ value {
+ list {
+ i: 1
+ i: 2
+ i: 2
+ i: 1
+ }
+ }
+ }
+ }
+ node {
+ name: "flatten_1/Shape"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 4
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 4
+ }
+ }
+ tensor_content: "\n\000\000\000\005\000\000\000\005\000\000\000@\000\000\000"
+ }
+ }
+ }
+ }
+ node {
+ name: "flatten_1/strided_slice/stack"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 1
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 1
+ }
+ }
+ int_val: 1
+ }
+ }
+ }
+ }
+ node {
+ name: "flatten_1/strided_slice/stack_1"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 1
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 1
+ }
+ }
+ int_val: 0
+ }
+ }
+ }
+ }
+ node {
+ name: "flatten_1/strided_slice/stack_2"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 1
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 1
+ }
+ }
+ int_val: 1
+ }
+ }
+ }
+ }
+ node {
+ name: "flatten_1/strided_slice"
+ op: "StridedSlice"
+ input: "flatten_1/Shape"
+ input: "flatten_1/strided_slice/stack"
+ input: "flatten_1/strided_slice/stack_1"
+ input: "flatten_1/strided_slice/stack_2"
+ attr {
+ key: "Index"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "T"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 3
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "begin_mask"
+ value {
+ i: 0
+ }
+ }
+ attr {
+ key: "ellipsis_mask"
+ value {
+ i: 0
+ }
+ }
+ attr {
+ key: "end_mask"
+ value {
+ i: 1
+ }
+ }
+ attr {
+ key: "new_axis_mask"
+ value {
+ i: 0
+ }
+ }
+ attr {
+ key: "shrink_axis_mask"
+ value {
+ i: 0
+ }
+ }
+ }
+ node {
+ name: "flatten_1/Const"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 1
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 1
+ }
+ }
+ int_val: 0
+ }
+ }
+ }
+ }
+ node {
+ name: "flatten_1/Prod"
+ op: "Prod"
+ input: "flatten_1/strided_slice"
+ input: "flatten_1/Const"
+ attr {
+ key: "T"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "Tidx"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "keep_dims"
+ value {
+ b: false
+ }
+ }
+ }
+ node {
+ name: "flatten_1/stack/0"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ }
+ int_val: -1
+ }
+ }
+ }
+ }
+ node {
+ name: "flatten_1/stack"
+ op: "Pack"
+ input: "flatten_1/stack/0"
+ input: "flatten_1/Prod"
+ attr {
+ key: "N"
+ value {
+ i: 2
+ }
+ }
+ attr {
+ key: "T"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 2
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "axis"
+ value {
+ i: 0
+ }
+ }
+ }
+ node {
+ name: "flatten_1/Reshape"
+ op: "Reshape"
+ input: "max_pooling2d_5/MaxPool"
+ input: "flatten_1/stack"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "Tshape"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: -1
+ }
+ dim {
+ size: -1
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "dense_1/random_normal/shape"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 2
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 2
+ }
+ }
+ tensor_content: "@\006\000\000\000\020\000\000"
+ }
+ }
+ }
+ }
+ node {
+ name: "dense_1/random_normal/mean"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ }
+ float_val: 0.0
+ }
+ }
+ }
+ }
+ node {
+ name: "dense_1/random_normal/stddev"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ }
+ float_val: 0.05000000074505806
+ }
+ }
+ }
+ }
+ node {
+ name: "dense_1/random_normal/RandomStandardNormal"
+ op: "RandomStandardNormal"
+ input: "dense_1/random_normal/shape"
+ attr {
+ key: "T"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 1600
+ }
+ dim {
+ size: 4096
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "seed"
+ value {
+ i: 87654321
+ }
+ }
+ attr {
+ key: "seed2"
+ value {
+ i: 5313357
+ }
+ }
+ }
+ node {
+ name: "dense_1/random_normal/mul"
+ op: "Mul"
+ input: "dense_1/random_normal/RandomStandardNormal"
+ input: "dense_1/random_normal/stddev"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 1600
+ }
+ dim {
+ size: 4096
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "dense_1/random_normal"
+ op: "Add"
+ input: "dense_1/random_normal/mul"
+ input: "dense_1/random_normal/mean"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 1600
+ }
+ dim {
+ size: 4096
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "dense_1/kernel"
+ op: "VariableV2"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 1600
+ }
+ dim {
+ size: 4096
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "container"
+ value {
+ s: ""
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 1600
+ }
+ dim {
+ size: 4096
+ }
+ }
+ }
+ }
+ attr {
+ key: "shared_name"
+ value {
+ s: ""
+ }
+ }
+ }
+ node {
+ name: "dense_1/kernel/Assign"
+ op: "Assign"
+ input: "dense_1/kernel"
+ input: "dense_1/random_normal"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@dense_1/kernel"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 1600
+ }
+ dim {
+ size: 4096
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "use_locking"
+ value {
+ b: true
+ }
+ }
+ attr {
+ key: "validate_shape"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "dense_1/kernel/read"
+ op: "Identity"
+ input: "dense_1/kernel"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@dense_1/kernel"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 1600
+ }
+ dim {
+ size: 4096
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "dense_1/Const"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 4096
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ dim {
+ size: 4096
+ }
+ }
+ float_val: 0.0
+ }
+ }
+ }
+ }
+ node {
+ name: "dense_1/bias"
+ op: "VariableV2"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 4096
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "container"
+ value {
+ s: ""
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 4096
+ }
+ }
+ }
+ }
+ attr {
+ key: "shared_name"
+ value {
+ s: ""
+ }
+ }
+ }
+ node {
+ name: "dense_1/bias/Assign"
+ op: "Assign"
+ input: "dense_1/bias"
+ input: "dense_1/Const"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@dense_1/bias"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 4096
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "use_locking"
+ value {
+ b: true
+ }
+ }
+ attr {
+ key: "validate_shape"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "dense_1/bias/read"
+ op: "Identity"
+ input: "dense_1/bias"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@dense_1/bias"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 4096
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "dense_1/MatMul"
+ op: "MatMul"
+ input: "flatten_1/Reshape"
+ input: "dense_1/kernel/read"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: -1
+ }
+ dim {
+ size: 4096
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "transpose_a"
+ value {
+ b: false
+ }
+ }
+ attr {
+ key: "transpose_b"
+ value {
+ b: false
+ }
+ }
+ }
+ node {
+ name: "dense_1/BiasAdd"
+ op: "BiasAdd"
+ input: "dense_1/MatMul"
+ input: "dense_1/bias/read"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: -1
+ }
+ dim {
+ size: 4096
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ }
+ node {
+ name: "dense_1/Relu"
+ op: "Relu"
+ input: "dense_1/BiasAdd"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: -1
+ }
+ dim {
+ size: 4096
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "Relu"
+ op: "Relu"
+ input: "dense_1/Relu"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: -1
+ }
+ dim {
+ size: 4096
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "dense_2/random_normal/shape"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 2
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 2
+ }
+ }
+ tensor_content: "\000\020\000\000\000\020\000\000"
+ }
+ }
+ }
+ }
+ node {
+ name: "dense_2/random_normal/mean"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ }
+ float_val: 0.0
+ }
+ }
+ }
+ }
+ node {
+ name: "dense_2/random_normal/stddev"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ }
+ float_val: 0.05000000074505806
+ }
+ }
+ }
+ }
+ node {
+ name: "dense_2/random_normal/RandomStandardNormal"
+ op: "RandomStandardNormal"
+ input: "dense_2/random_normal/shape"
+ attr {
+ key: "T"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 4096
+ }
+ dim {
+ size: 4096
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "seed"
+ value {
+ i: 87654321
+ }
+ }
+ attr {
+ key: "seed2"
+ value {
+ i: 7821217
+ }
+ }
+ }
+ node {
+ name: "dense_2/random_normal/mul"
+ op: "Mul"
+ input: "dense_2/random_normal/RandomStandardNormal"
+ input: "dense_2/random_normal/stddev"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 4096
+ }
+ dim {
+ size: 4096
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "dense_2/random_normal"
+ op: "Add"
+ input: "dense_2/random_normal/mul"
+ input: "dense_2/random_normal/mean"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 4096
+ }
+ dim {
+ size: 4096
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "dense_2/kernel"
+ op: "VariableV2"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 4096
+ }
+ dim {
+ size: 4096
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "container"
+ value {
+ s: ""
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 4096
+ }
+ dim {
+ size: 4096
+ }
+ }
+ }
+ }
+ attr {
+ key: "shared_name"
+ value {
+ s: ""
+ }
+ }
+ }
+ node {
+ name: "dense_2/kernel/Assign"
+ op: "Assign"
+ input: "dense_2/kernel"
+ input: "dense_2/random_normal"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@dense_2/kernel"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 4096
+ }
+ dim {
+ size: 4096
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "use_locking"
+ value {
+ b: true
+ }
+ }
+ attr {
+ key: "validate_shape"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "dense_2/kernel/read"
+ op: "Identity"
+ input: "dense_2/kernel"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@dense_2/kernel"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 4096
+ }
+ dim {
+ size: 4096
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "dense_2/Const"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 4096
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ dim {
+ size: 4096
+ }
+ }
+ float_val: 0.0
+ }
+ }
+ }
+ }
+ node {
+ name: "dense_2/bias"
+ op: "VariableV2"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 4096
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "container"
+ value {
+ s: ""
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 4096
+ }
+ }
+ }
+ }
+ attr {
+ key: "shared_name"
+ value {
+ s: ""
+ }
+ }
+ }
+ node {
+ name: "dense_2/bias/Assign"
+ op: "Assign"
+ input: "dense_2/bias"
+ input: "dense_2/Const"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@dense_2/bias"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 4096
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "use_locking"
+ value {
+ b: true
+ }
+ }
+ attr {
+ key: "validate_shape"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "dense_2/bias/read"
+ op: "Identity"
+ input: "dense_2/bias"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@dense_2/bias"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 4096
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "dense_2/MatMul"
+ op: "MatMul"
+ input: "Relu"
+ input: "dense_2/kernel/read"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: -1
+ }
+ dim {
+ size: 4096
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "transpose_a"
+ value {
+ b: false
+ }
+ }
+ attr {
+ key: "transpose_b"
+ value {
+ b: false
+ }
+ }
+ }
+ node {
+ name: "dense_2/BiasAdd"
+ op: "BiasAdd"
+ input: "dense_2/MatMul"
+ input: "dense_2/bias/read"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: -1
+ }
+ dim {
+ size: 4096
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ }
+ node {
+ name: "dense_2/Relu"
+ op: "Relu"
+ input: "dense_2/BiasAdd"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: -1
+ }
+ dim {
+ size: 4096
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "Relu_1"
+ op: "Relu"
+ input: "dense_2/Relu"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: -1
+ }
+ dim {
+ size: 4096
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "dense_3/random_normal/shape"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 2
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_INT32
+ tensor_shape {
+ dim {
+ size: 2
+ }
+ }
+ tensor_content: "\000\020\000\000\350\003\000\000"
+ }
+ }
+ }
+ }
+ node {
+ name: "dense_3/random_normal/mean"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ }
+ float_val: 0.0
+ }
+ }
+ }
+ }
+ node {
+ name: "dense_3/random_normal/stddev"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ }
+ float_val: 0.05000000074505806
+ }
+ }
+ }
+ }
+ node {
+ name: "dense_3/random_normal/RandomStandardNormal"
+ op: "RandomStandardNormal"
+ input: "dense_3/random_normal/shape"
+ attr {
+ key: "T"
+ value {
+ type: DT_INT32
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 4096
+ }
+ dim {
+ size: 1000
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "seed"
+ value {
+ i: 87654321
+ }
+ }
+ attr {
+ key: "seed2"
+ value {
+ i: 6505735
+ }
+ }
+ }
+ node {
+ name: "dense_3/random_normal/mul"
+ op: "Mul"
+ input: "dense_3/random_normal/RandomStandardNormal"
+ input: "dense_3/random_normal/stddev"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 4096
+ }
+ dim {
+ size: 1000
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "dense_3/random_normal"
+ op: "Add"
+ input: "dense_3/random_normal/mul"
+ input: "dense_3/random_normal/mean"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 4096
+ }
+ dim {
+ size: 1000
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "dense_3/kernel"
+ op: "VariableV2"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 4096
+ }
+ dim {
+ size: 1000
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "container"
+ value {
+ s: ""
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 4096
+ }
+ dim {
+ size: 1000
+ }
+ }
+ }
+ }
+ attr {
+ key: "shared_name"
+ value {
+ s: ""
+ }
+ }
+ }
+ node {
+ name: "dense_3/kernel/Assign"
+ op: "Assign"
+ input: "dense_3/kernel"
+ input: "dense_3/random_normal"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@dense_3/kernel"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 4096
+ }
+ dim {
+ size: 1000
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "use_locking"
+ value {
+ b: true
+ }
+ }
+ attr {
+ key: "validate_shape"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "dense_3/kernel/read"
+ op: "Identity"
+ input: "dense_3/kernel"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@dense_3/kernel"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 4096
+ }
+ dim {
+ size: 1000
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "dense_3/Const"
+ op: "Const"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 1000
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "value"
+ value {
+ tensor {
+ dtype: DT_FLOAT
+ tensor_shape {
+ dim {
+ size: 1000
+ }
+ }
+ float_val: 0.0
+ }
+ }
+ }
+ }
+ node {
+ name: "dense_3/bias"
+ op: "VariableV2"
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 1000
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "container"
+ value {
+ s: ""
+ }
+ }
+ attr {
+ key: "dtype"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "shape"
+ value {
+ shape {
+ dim {
+ size: 1000
+ }
+ }
+ }
+ }
+ attr {
+ key: "shared_name"
+ value {
+ s: ""
+ }
+ }
+ }
+ node {
+ name: "dense_3/bias/Assign"
+ op: "Assign"
+ input: "dense_3/bias"
+ input: "dense_3/Const"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@dense_3/bias"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 1000
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "use_locking"
+ value {
+ b: true
+ }
+ }
+ attr {
+ key: "validate_shape"
+ value {
+ b: true
+ }
+ }
+ }
+ node {
+ name: "dense_3/bias/read"
+ op: "Identity"
+ input: "dense_3/bias"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_class"
+ value {
+ list {
+ s: "loc:@dense_3/bias"
+ }
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: 1000
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "dense_3/MatMul"
+ op: "MatMul"
+ input: "Relu_1"
+ input: "dense_3/kernel/read"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: -1
+ }
+ dim {
+ size: 1000
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "transpose_a"
+ value {
+ b: false
+ }
+ }
+ attr {
+ key: "transpose_b"
+ value {
+ b: false
+ }
+ }
+ }
+ node {
+ name: "dense_3/BiasAdd"
+ op: "BiasAdd"
+ input: "dense_3/MatMul"
+ input: "dense_3/bias/read"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: -1
+ }
+ dim {
+ size: 1000
+ }
+ }
+ }
+ }
+ }
+ attr {
+ key: "data_format"
+ value {
+ s: "NHWC"
+ }
+ }
+ }
+ node {
+ name: "dense_3/Relu"
+ op: "Relu"
+ input: "dense_3/BiasAdd"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: -1
+ }
+ dim {
+ size: 1000
+ }
+ }
+ }
+ }
+ }
+ }
+ node {
+ name: "prob"
+ op: "Softmax"
+ input: "dense_3/Relu"
+ attr {
+ key: "T"
+ value {
+ type: DT_FLOAT
+ }
+ }
+ attr {
+ key: "_output_shapes"
+ value {
+ list {
+ shape {
+ dim {
+ size: -1
+ }
+ dim {
+ size: 1000
+ }
+ }
+ }
+ }
+ }
+ }
+ versions {
+ producer: 24
+ }
+}
+collection_def {
+ key: "trainable_variables"
+ value {
+ bytes_list {
+ value: "\n\021conv2d_1/kernel:0\022\026conv2d_1/kernel/Assign\032\026conv2d_1/kernel/read:02\030conv2d_1/random_normal:0"
+ value: "\n\017conv2d_1/bias:0\022\024conv2d_1/bias/Assign\032\024conv2d_1/bias/read:02\020conv2d_1/Const:0"
+ value: "\n\021conv2d_2/kernel:0\022\026conv2d_2/kernel/Assign\032\026conv2d_2/kernel/read:02\030conv2d_2/random_normal:0"
+ value: "\n\017conv2d_2/bias:0\022\024conv2d_2/bias/Assign\032\024conv2d_2/bias/read:02\020conv2d_2/Const:0"
+ value: "\n\021conv2d_3/kernel:0\022\026conv2d_3/kernel/Assign\032\026conv2d_3/kernel/read:02\030conv2d_3/random_normal:0"
+ value: "\n\017conv2d_3/bias:0\022\024conv2d_3/bias/Assign\032\024conv2d_3/bias/read:02\020conv2d_3/Const:0"
+ value: "\n\021conv2d_4/kernel:0\022\026conv2d_4/kernel/Assign\032\026conv2d_4/kernel/read:02\030conv2d_4/random_normal:0"
+ value: "\n\017conv2d_4/bias:0\022\024conv2d_4/bias/Assign\032\024conv2d_4/bias/read:02\020conv2d_4/Const:0"
+ value: "\n\021conv2d_5/kernel:0\022\026conv2d_5/kernel/Assign\032\026conv2d_5/kernel/read:02\030conv2d_5/random_normal:0"
+ value: "\n\017conv2d_5/bias:0\022\024conv2d_5/bias/Assign\032\024conv2d_5/bias/read:02\020conv2d_5/Const:0"
+ value: "\n\021conv2d_6/kernel:0\022\026conv2d_6/kernel/Assign\032\026conv2d_6/kernel/read:02\030conv2d_6/random_normal:0"
+ value: "\n\017conv2d_6/bias:0\022\024conv2d_6/bias/Assign\032\024conv2d_6/bias/read:02\020conv2d_6/Const:0"
+ value: "\n\021conv2d_7/kernel:0\022\026conv2d_7/kernel/Assign\032\026conv2d_7/kernel/read:02\030conv2d_7/random_normal:0"
+ value: "\n\017conv2d_7/bias:0\022\024conv2d_7/bias/Assign\032\024conv2d_7/bias/read:02\020conv2d_7/Const:0"
+ value: "\n\021conv2d_8/kernel:0\022\026conv2d_8/kernel/Assign\032\026conv2d_8/kernel/read:02\030conv2d_8/random_normal:0"
+ value: "\n\017conv2d_8/bias:0\022\024conv2d_8/bias/Assign\032\024conv2d_8/bias/read:02\020conv2d_8/Const:0"
+ value: "\n\021conv2d_9/kernel:0\022\026conv2d_9/kernel/Assign\032\026conv2d_9/kernel/read:02\030conv2d_9/random_normal:0"
+ value: "\n\017conv2d_9/bias:0\022\024conv2d_9/bias/Assign\032\024conv2d_9/bias/read:02\020conv2d_9/Const:0"
+ value: "\n\022conv2d_10/kernel:0\022\027conv2d_10/kernel/Assign\032\027conv2d_10/kernel/read:02\031conv2d_10/random_normal:0"
+ value: "\n\020conv2d_10/bias:0\022\025conv2d_10/bias/Assign\032\025conv2d_10/bias/read:02\021conv2d_10/Const:0"
+ value: "\n\022conv2d_11/kernel:0\022\027conv2d_11/kernel/Assign\032\027conv2d_11/kernel/read:02\031conv2d_11/random_normal:0"
+ value: "\n\020conv2d_11/bias:0\022\025conv2d_11/bias/Assign\032\025conv2d_11/bias/read:02\021conv2d_11/Const:0"
+ value: "\n\022conv2d_12/kernel:0\022\027conv2d_12/kernel/Assign\032\027conv2d_12/kernel/read:02\031conv2d_12/random_normal:0"
+ value: "\n\020conv2d_12/bias:0\022\025conv2d_12/bias/Assign\032\025conv2d_12/bias/read:02\021conv2d_12/Const:0"
+ value: "\n\022conv2d_13/kernel:0\022\027conv2d_13/kernel/Assign\032\027conv2d_13/kernel/read:02\031conv2d_13/random_normal:0"
+ value: "\n\020conv2d_13/bias:0\022\025conv2d_13/bias/Assign\032\025conv2d_13/bias/read:02\021conv2d_13/Const:0"
+ value: "\n\022conv2d_14/kernel:0\022\027conv2d_14/kernel/Assign\032\027conv2d_14/kernel/read:02\031conv2d_14/random_normal:0"
+ value: "\n\020conv2d_14/bias:0\022\025conv2d_14/bias/Assign\032\025conv2d_14/bias/read:02\021conv2d_14/Const:0"
+ value: "\n\022conv2d_15/kernel:0\022\027conv2d_15/kernel/Assign\032\027conv2d_15/kernel/read:02\031conv2d_15/random_normal:0"
+ value: "\n\020conv2d_15/bias:0\022\025conv2d_15/bias/Assign\032\025conv2d_15/bias/read:02\021conv2d_15/Const:0"
+ value: "\n\022conv2d_16/kernel:0\022\027conv2d_16/kernel/Assign\032\027conv2d_16/kernel/read:02\031conv2d_16/random_normal:0"
+ value: "\n\020conv2d_16/bias:0\022\025conv2d_16/bias/Assign\032\025conv2d_16/bias/read:02\021conv2d_16/Const:0"
+ value: "\n\020dense_1/kernel:0\022\025dense_1/kernel/Assign\032\025dense_1/kernel/read:02\027dense_1/random_normal:0"
+ value: "\n\016dense_1/bias:0\022\023dense_1/bias/Assign\032\023dense_1/bias/read:02\017dense_1/Const:0"
+ value: "\n\020dense_2/kernel:0\022\025dense_2/kernel/Assign\032\025dense_2/kernel/read:02\027dense_2/random_normal:0"
+ value: "\n\016dense_2/bias:0\022\023dense_2/bias/Assign\032\023dense_2/bias/read:02\017dense_2/Const:0"
+ value: "\n\020dense_3/kernel:0\022\025dense_3/kernel/Assign\032\025dense_3/kernel/read:02\027dense_3/random_normal:0"
+ value: "\n\016dense_3/bias:0\022\023dense_3/bias/Assign\032\023dense_3/bias/read:02\017dense_3/Const:0"
+ }
+ }
+}
+collection_def {
+ key: "variables"
+ value {
+ bytes_list {
+ value: "\n\021conv2d_1/kernel:0\022\026conv2d_1/kernel/Assign\032\026conv2d_1/kernel/read:02\030conv2d_1/random_normal:0"
+ value: "\n\017conv2d_1/bias:0\022\024conv2d_1/bias/Assign\032\024conv2d_1/bias/read:02\020conv2d_1/Const:0"
+ value: "\n\021conv2d_2/kernel:0\022\026conv2d_2/kernel/Assign\032\026conv2d_2/kernel/read:02\030conv2d_2/random_normal:0"
+ value: "\n\017conv2d_2/bias:0\022\024conv2d_2/bias/Assign\032\024conv2d_2/bias/read:02\020conv2d_2/Const:0"
+ value: "\n\021conv2d_3/kernel:0\022\026conv2d_3/kernel/Assign\032\026conv2d_3/kernel/read:02\030conv2d_3/random_normal:0"
+ value: "\n\017conv2d_3/bias:0\022\024conv2d_3/bias/Assign\032\024conv2d_3/bias/read:02\020conv2d_3/Const:0"
+ value: "\n\021conv2d_4/kernel:0\022\026conv2d_4/kernel/Assign\032\026conv2d_4/kernel/read:02\030conv2d_4/random_normal:0"
+ value: "\n\017conv2d_4/bias:0\022\024conv2d_4/bias/Assign\032\024conv2d_4/bias/read:02\020conv2d_4/Const:0"
+ value: "\n\021conv2d_5/kernel:0\022\026conv2d_5/kernel/Assign\032\026conv2d_5/kernel/read:02\030conv2d_5/random_normal:0"
+ value: "\n\017conv2d_5/bias:0\022\024conv2d_5/bias/Assign\032\024conv2d_5/bias/read:02\020conv2d_5/Const:0"
+ value: "\n\021conv2d_6/kernel:0\022\026conv2d_6/kernel/Assign\032\026conv2d_6/kernel/read:02\030conv2d_6/random_normal:0"
+ value: "\n\017conv2d_6/bias:0\022\024conv2d_6/bias/Assign\032\024conv2d_6/bias/read:02\020conv2d_6/Const:0"
+ value: "\n\021conv2d_7/kernel:0\022\026conv2d_7/kernel/Assign\032\026conv2d_7/kernel/read:02\030conv2d_7/random_normal:0"
+ value: "\n\017conv2d_7/bias:0\022\024conv2d_7/bias/Assign\032\024conv2d_7/bias/read:02\020conv2d_7/Const:0"
+ value: "\n\021conv2d_8/kernel:0\022\026conv2d_8/kernel/Assign\032\026conv2d_8/kernel/read:02\030conv2d_8/random_normal:0"
+ value: "\n\017conv2d_8/bias:0\022\024conv2d_8/bias/Assign\032\024conv2d_8/bias/read:02\020conv2d_8/Const:0"
+ value: "\n\021conv2d_9/kernel:0\022\026conv2d_9/kernel/Assign\032\026conv2d_9/kernel/read:02\030conv2d_9/random_normal:0"
+ value: "\n\017conv2d_9/bias:0\022\024conv2d_9/bias/Assign\032\024conv2d_9/bias/read:02\020conv2d_9/Const:0"
+ value: "\n\022conv2d_10/kernel:0\022\027conv2d_10/kernel/Assign\032\027conv2d_10/kernel/read:02\031conv2d_10/random_normal:0"
+ value: "\n\020conv2d_10/bias:0\022\025conv2d_10/bias/Assign\032\025conv2d_10/bias/read:02\021conv2d_10/Const:0"
+ value: "\n\022conv2d_11/kernel:0\022\027conv2d_11/kernel/Assign\032\027conv2d_11/kernel/read:02\031conv2d_11/random_normal:0"
+ value: "\n\020conv2d_11/bias:0\022\025conv2d_11/bias/Assign\032\025conv2d_11/bias/read:02\021conv2d_11/Const:0"
+ value: "\n\022conv2d_12/kernel:0\022\027conv2d_12/kernel/Assign\032\027conv2d_12/kernel/read:02\031conv2d_12/random_normal:0"
+ value: "\n\020conv2d_12/bias:0\022\025conv2d_12/bias/Assign\032\025conv2d_12/bias/read:02\021conv2d_12/Const:0"
+ value: "\n\022conv2d_13/kernel:0\022\027conv2d_13/kernel/Assign\032\027conv2d_13/kernel/read:02\031conv2d_13/random_normal:0"
+ value: "\n\020conv2d_13/bias:0\022\025conv2d_13/bias/Assign\032\025conv2d_13/bias/read:02\021conv2d_13/Const:0"
+ value: "\n\022conv2d_14/kernel:0\022\027conv2d_14/kernel/Assign\032\027conv2d_14/kernel/read:02\031conv2d_14/random_normal:0"
+ value: "\n\020conv2d_14/bias:0\022\025conv2d_14/bias/Assign\032\025conv2d_14/bias/read:02\021conv2d_14/Const:0"
+ value: "\n\022conv2d_15/kernel:0\022\027conv2d_15/kernel/Assign\032\027conv2d_15/kernel/read:02\031conv2d_15/random_normal:0"
+ value: "\n\020conv2d_15/bias:0\022\025conv2d_15/bias/Assign\032\025conv2d_15/bias/read:02\021conv2d_15/Const:0"
+ value: "\n\022conv2d_16/kernel:0\022\027conv2d_16/kernel/Assign\032\027conv2d_16/kernel/read:02\031conv2d_16/random_normal:0"
+ value: "\n\020conv2d_16/bias:0\022\025conv2d_16/bias/Assign\032\025conv2d_16/bias/read:02\021conv2d_16/Const:0"
+ value: "\n\020dense_1/kernel:0\022\025dense_1/kernel/Assign\032\025dense_1/kernel/read:02\027dense_1/random_normal:0"
+ value: "\n\016dense_1/bias:0\022\023dense_1/bias/Assign\032\023dense_1/bias/read:02\017dense_1/Const:0"
+ value: "\n\020dense_2/kernel:0\022\025dense_2/kernel/Assign\032\025dense_2/kernel/read:02\027dense_2/random_normal:0"
+ value: "\n\016dense_2/bias:0\022\023dense_2/bias/Assign\032\023dense_2/bias/read:02\017dense_2/Const:0"
+ value: "\n\020dense_3/kernel:0\022\025dense_3/kernel/Assign\032\025dense_3/kernel/read:02\027dense_3/random_normal:0"
+ value: "\n\016dense_3/bias:0\022\023dense_3/bias/Assign\032\023dense_3/bias/read:02\017dense_3/Const:0"
+ }
+ }
+}
diff --git a/tutorials/tensorflow_prototxt_usage.md b/tutorials/tensorflow_prototxt_usage.md
index 8035821d9..772692ec5 100644
--- a/tutorials/tensorflow_prototxt_usage.md
+++ b/tutorials/tensorflow_prototxt_usage.md
@@ -6,34 +6,34 @@ In order to export a Tensorflow model from Fabrik:
2. A drop-down list should appear. Select Tensorflow.
- * This should download a pbtxt file to your computer.
+ * This should download a ```.meta``` file to your computer.
-3. Rename the file to ```model.pbtxt```.
+3. Rename the file to ```model.meta```.
-4. Load the model from the ProtoBuf file using the following code:
+4. Load the model from ```model.meta``` using the following code:
```
import tensorflow as tf
from google.protobuf import text_format
# read the graphdef from the model file
- with open('model.pbtxt', 'r') as model_file:
+ with open('model.meta', 'r') as model_file:
model_protobuf = text_format(model_file.read(),
- tf.Graphdef())
+ tf.MetaGraphDef())
# import the graphdef into the default graph
- tf.import_graph_def(model_protobuf)
+ tf.train.import_meta_graph(model_protobuf)
```
### Code template
-[The code template](../example/tensorflow/code_template/tensorflow_sample.py) loads the model from a pbtxt file into the default graph. Additional operations like layers and optimizers can be then built onto the graph as required.
+[The code template](../example/tensorflow/code_template/tensorflow_sample.py) loads the model from a ```.meta``` file into the default graph. Additional operations like layers and optimizers can be then built onto the graph as required.
To run the code, run:
```
-python tensorflow_sample.py model.pbtxt
+python tensorflow_sample.py model.meta
```
-Replace ```model.pbtxt``` with the model file that you want to use.
+Replace ```model.meta``` with the model file that you want to use.