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.