summaryrefslogtreecommitdiffstats
path: root/application
diff options
context:
space:
mode:
authorLester Solbakken <lesters@oath.com>2020-06-12 12:16:56 +0200
committerLester Solbakken <lesters@oath.com>2020-06-12 12:16:56 +0200
commit0a886d74d4c9ffde41eef1f7e3c186b60b9f3726 (patch)
treee142b94341563b28a2b4a0e26fe77458749d2ed9 /application
parent8de8ff4f87295d812d4e660f0216953726200c92 (diff)
Import Tensorflow models vis ONNX conversion
Diffstat (limited to 'application')
-rw-r--r--application/src/test/app-packages/model-evaluation/models/onnx/softmax_func.onnxbin0 -> 274 bytes
-rw-r--r--application/src/test/app-packages/model-evaluation/models/tensorflow/mnist/saved/saved_model.pbtxt8830
-rw-r--r--application/src/test/app-packages/model-evaluation/models/tensorflow/mnist/saved/variables/variables.data-00000-of-00001bin1066440 -> 0 bytes
-rw-r--r--application/src/test/app-packages/model-evaluation/models/tensorflow/mnist/saved/variables/variables.indexbin308 -> 0 bytes
-rw-r--r--application/src/test/app-packages/model-evaluation/models/tensorflow/mnist/simple_mnist.py100
-rw-r--r--application/src/test/app-packages/model-evaluation/models/tensorflow/mnist_softmax/mnist_sftmax_with_saving.py93
-rw-r--r--application/src/test/app-packages/model-evaluation/models/tensorflow/mnist_softmax/saved/saved_model.pbtxt5039
-rw-r--r--application/src/test/app-packages/model-evaluation/models/tensorflow/mnist_softmax/saved/variables/variables.data-00000-of-00001bin31400 -> 0 bytes
-rw-r--r--application/src/test/app-packages/model-evaluation/models/tensorflow/mnist_softmax/saved/variables/variables.indexbin165 -> 0 bytes
-rw-r--r--application/src/test/java/com/yahoo/application/container/ContainerModelEvaluationTest.java14
10 files changed, 7 insertions, 14069 deletions
diff --git a/application/src/test/app-packages/model-evaluation/models/onnx/softmax_func.onnx b/application/src/test/app-packages/model-evaluation/models/onnx/softmax_func.onnx
new file mode 100644
index 00000000000..0d4bffa5b57
--- /dev/null
+++ b/application/src/test/app-packages/model-evaluation/models/onnx/softmax_func.onnx
Binary files differ
diff --git a/application/src/test/app-packages/model-evaluation/models/tensorflow/mnist/saved/saved_model.pbtxt b/application/src/test/app-packages/model-evaluation/models/tensorflow/mnist/saved/saved_model.pbtxt
deleted file mode 100644
index 5528aa99401..00000000000
--- a/application/src/test/app-packages/model-evaluation/models/tensorflow/mnist/saved/saved_model.pbtxt
+++ /dev/null
@@ -1,8830 +0,0 @@
-saved_model_schema_version: 1
-meta_graphs {
- 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: "AddN"
- input_arg {
- name: "inputs"
- type_attr: "T"
- number_attr: "N"
- }
- output_arg {
- name: "sum"
- type_attr: "T"
- }
- attr {
- name: "N"
- type: "int"
- has_minimum: true
- minimum: 1
- }
- 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
- type: DT_VARIANT
- }
- }
- }
- is_aggregate: true
- is_commutative: true
- }
- op {
- name: "ApplyGradientDescent"
- input_arg {
- name: "var"
- type_attr: "T"
- is_ref: true
- }
- input_arg {
- name: "alpha"
- type_attr: "T"
- }
- input_arg {
- name: "delta"
- type_attr: "T"
- }
- output_arg {
- name: "out"
- type_attr: "T"
- is_ref: true
- }
- 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: "use_locking"
- type: "bool"
- default_value {
- b: false
- }
- }
- }
- 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: "BroadcastGradientArgs"
- input_arg {
- name: "s0"
- type_attr: "T"
- }
- input_arg {
- name: "s1"
- type_attr: "T"
- }
- output_arg {
- name: "r0"
- type_attr: "T"
- }
- output_arg {
- name: "r1"
- type_attr: "T"
- }
- attr {
- name: "T"
- type: "type"
- default_value {
- type: DT_INT32
- }
- allowed_values {
- list {
- type: DT_INT32
- type: DT_INT64
- }
- }
- }
- }
- op {
- name: "Cast"
- input_arg {
- name: "x"
- type_attr: "SrcT"
- }
- output_arg {
- name: "y"
- type_attr: "DstT"
- }
- attr {
- name: "SrcT"
- type: "type"
- }
- attr {
- name: "DstT"
- type: "type"
- }
- }
- op {
- name: "Const"
- output_arg {
- name: "output"
- type_attr: "dtype"
- }
- attr {
- name: "value"
- type: "tensor"
- }
- attr {
- name: "dtype"
- type: "type"
- }
- }
- op {
- name: "ExpandDims"
- input_arg {
- name: "input"
- type_attr: "T"
- }
- input_arg {
- name: "dim"
- type_attr: "Tdim"
- }
- output_arg {
- name: "output"
- type_attr: "T"
- }
- attr {
- name: "T"
- type: "type"
- }
- attr {
- name: "Tdim"
- type: "type"
- default_value {
- type: DT_INT32
- }
- allowed_values {
- list {
- type: DT_INT32
- type: DT_INT64
- }
- }
- }
- }
- op {
- name: "Fill"
- input_arg {
- name: "dims"
- type: DT_INT32
- }
- input_arg {
- name: "value"
- type_attr: "T"
- }
- output_arg {
- name: "output"
- type_attr: "T"
- }
- attr {
- name: "T"
- type: "type"
- }
- }
- op {
- name: "FloorDiv"
- 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
- }
- }
- }
- }
- op {
- name: "GreaterEqual"
- input_arg {
- name: "x"
- type_attr: "T"
- }
- input_arg {
- name: "y"
- type_attr: "T"
- }
- output_arg {
- name: "z"
- type: DT_BOOL
- }
- 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: "Identity"
- input_arg {
- name: "input"
- type_attr: "T"
- }
- output_arg {
- name: "output"
- type_attr: "T"
- }
- attr {
- name: "T"
- type: "type"
- }
- }
- op {
- name: "InTopKV2"
- input_arg {
- name: "predictions"
- type: DT_FLOAT
- }
- input_arg {
- name: "targets"
- type_attr: "T"
- }
- input_arg {
- name: "k"
- type_attr: "T"
- }
- output_arg {
- name: "precision"
- type: DT_BOOL
- }
- attr {
- name: "T"
- type: "type"
- default_value {
- type: DT_INT32
- }
- allowed_values {
- list {
- type: DT_INT32
- type: DT_INT64
- }
- }
- }
- }
- 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: "Maximum"
- 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_INT32
- type: DT_INT64
- }
- }
- }
- is_commutative: true
- }
- op {
- name: "Mean"
- 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: "MergeV2Checkpoints"
- input_arg {
- name: "checkpoint_prefixes"
- type: DT_STRING
- }
- input_arg {
- name: "destination_prefix"
- type: DT_STRING
- }
- attr {
- name: "delete_old_dirs"
- type: "bool"
- default_value {
- b: true
- }
- }
- is_stateful: true
- }
- 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: "NoOp"
- }
- 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: "PreventGradient"
- input_arg {
- name: "input"
- type_attr: "T"
- }
- output_arg {
- name: "output"
- type_attr: "T"
- }
- attr {
- name: "T"
- type: "type"
- }
- attr {
- name: "message"
- type: "string"
- default_value {
- s: ""
- }
- }
- }
- 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: "RealDiv"
- 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
- }
- }
- }
- }
- 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: "RestoreV2"
- input_arg {
- name: "prefix"
- type: DT_STRING
- }
- input_arg {
- name: "tensor_names"
- type: DT_STRING
- }
- input_arg {
- name: "shape_and_slices"
- type: DT_STRING
- }
- output_arg {
- name: "tensors"
- type_list_attr: "dtypes"
- }
- attr {
- name: "dtypes"
- type: "list(type)"
- has_minimum: true
- minimum: 1
- }
- is_stateful: true
- }
- op {
- name: "SaveV2"
- input_arg {
- name: "prefix"
- type: DT_STRING
- }
- input_arg {
- name: "tensor_names"
- type: DT_STRING
- }
- input_arg {
- name: "shape_and_slices"
- type: DT_STRING
- }
- input_arg {
- name: "tensors"
- type_list_attr: "dtypes"
- }
- attr {
- name: "dtypes"
- type: "list(type)"
- has_minimum: true
- minimum: 1
- }
- is_stateful: true
- }
- op {
- name: "ScalarSummary"
- input_arg {
- name: "tags"
- type: DT_STRING
- }
- input_arg {
- name: "values"
- type_attr: "T"
- }
- output_arg {
- name: "summary"
- type: DT_STRING
- }
- 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: "Select"
- input_arg {
- name: "condition"
- type: DT_BOOL
- }
- input_arg {
- name: "t"
- type_attr: "T"
- }
- input_arg {
- name: "e"
- type_attr: "T"
- }
- output_arg {
- name: "output"
- type_attr: "T"
- }
- attr {
- name: "T"
- type: "type"
- }
- }
- op {
- name: "Shape"
- input_arg {
- name: "input"
- type_attr: "T"
- }
- output_arg {
- name: "output"
- type_attr: "out_type"
- }
- attr {
- name: "T"
- type: "type"
- }
- attr {
- name: "out_type"
- type: "type"
- default_value {
- type: DT_INT32
- }
- allowed_values {
- list {
- type: DT_INT32
- type: DT_INT64
- }
- }
- }
- }
- op {
- name: "ShardedFilename"
- input_arg {
- name: "basename"
- type: DT_STRING
- }
- input_arg {
- name: "shard"
- type: DT_INT32
- }
- input_arg {
- name: "num_shards"
- type: DT_INT32
- }
- output_arg {
- name: "filename"
- type: DT_STRING
- }
- }
- op {
- name: "SparseSoftmaxCrossEntropyWithLogits"
- input_arg {
- name: "features"
- type_attr: "T"
- }
- input_arg {
- name: "labels"
- type_attr: "Tlabels"
- }
- output_arg {
- name: "loss"
- type_attr: "T"
- }
- output_arg {
- name: "backprop"
- type_attr: "T"
- }
- attr {
- name: "T"
- type: "type"
- allowed_values {
- list {
- type: DT_HALF
- type: DT_FLOAT
- type: DT_DOUBLE
- }
- }
- }
- attr {
- name: "Tlabels"
- type: "type"
- default_value {
- type: DT_INT64
- }
- allowed_values {
- list {
- type: DT_INT32
- type: DT_INT64
- }
- }
- }
- }
- op {
- name: "StringJoin"
- input_arg {
- name: "inputs"
- type: DT_STRING
- number_attr: "N"
- }
- output_arg {
- name: "output"
- type: DT_STRING
- }
- attr {
- name: "N"
- type: "int"
- has_minimum: true
- minimum: 1
- }
- attr {
- name: "separator"
- type: "string"
- default_value {
- s: ""
- }
- }
- }
- op {
- name: "Sum"
- 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: "Tile"
- input_arg {
- name: "input"
- type_attr: "T"
- }
- input_arg {
- name: "multiples"
- type_attr: "Tmultiples"
- }
- output_arg {
- name: "output"
- type_attr: "T"
- }
- attr {
- name: "T"
- type: "type"
- }
- attr {
- name: "Tmultiples"
- type: "type"
- default_value {
- type: DT_INT32
- }
- allowed_values {
- list {
- type: DT_INT32
- type: DT_INT64
- }
- }
- }
- }
- op {
- name: "TruncatedNormal"
- 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: "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
- }
- op {
- name: "ZerosLike"
- input_arg {
- name: "x"
- type_attr: "T"
- }
- output_arg {
- name: "y"
- type_attr: "T"
- }
- attr {
- name: "T"
- type: "type"
- }
- }
- }
- tags: "serve"
- tensorflow_version: "1.4.1"
- tensorflow_git_version: "v1.4.0-19-ga52c8d9"
- }
- graph_def {
- node {
- name: "input"
- op: "Placeholder"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 784
- }
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "shape"
- value {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 784
- }
- }
- }
- }
- }
- node {
- name: "y"
- op: "Placeholder"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- unknown_rank: true
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_INT64
- }
- }
- attr {
- key: "shape"
- value {
- shape {
- unknown_rank: true
- }
- }
- }
- }
- node {
- name: "dnn/hidden1/truncated_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: "\020\003\000\000,\001\000\000"
- }
- }
- }
- }
- node {
- name: "dnn/hidden1/truncated_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: "dnn/hidden1/truncated_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.0714285746216774
- }
- }
- }
- }
- node {
- name: "dnn/hidden1/truncated_normal/TruncatedNormal"
- op: "TruncatedNormal"
- input: "dnn/hidden1/truncated_normal/shape"
- attr {
- key: "T"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 784
- }
- dim {
- size: 300
- }
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "seed"
- value {
- i: 0
- }
- }
- attr {
- key: "seed2"
- value {
- i: 0
- }
- }
- }
- node {
- name: "dnn/hidden1/truncated_normal/mul"
- op: "Mul"
- input: "dnn/hidden1/truncated_normal/TruncatedNormal"
- input: "dnn/hidden1/truncated_normal/stddev"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 784
- }
- dim {
- size: 300
- }
- }
- }
- }
- }
- }
- node {
- name: "dnn/hidden1/truncated_normal"
- op: "Add"
- input: "dnn/hidden1/truncated_normal/mul"
- input: "dnn/hidden1/truncated_normal/mean"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 784
- }
- dim {
- size: 300
- }
- }
- }
- }
- }
- }
- node {
- name: "dnn/hidden1/weights"
- op: "VariableV2"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 784
- }
- dim {
- size: 300
- }
- }
- }
- }
- }
- attr {
- key: "container"
- value {
- s: ""
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "shape"
- value {
- shape {
- dim {
- size: 784
- }
- dim {
- size: 300
- }
- }
- }
- }
- attr {
- key: "shared_name"
- value {
- s: ""
- }
- }
- }
- node {
- name: "dnn/hidden1/weights/Assign"
- op: "Assign"
- input: "dnn/hidden1/weights"
- input: "dnn/hidden1/truncated_normal"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@dnn/hidden1/weights"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 784
- }
- dim {
- size: 300
- }
- }
- }
- }
- }
- attr {
- key: "use_locking"
- value {
- b: true
- }
- }
- attr {
- key: "validate_shape"
- value {
- b: true
- }
- }
- }
- node {
- name: "dnn/hidden1/weights/read"
- op: "Identity"
- input: "dnn/hidden1/weights"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@dnn/hidden1/weights"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 784
- }
- dim {
- size: 300
- }
- }
- }
- }
- }
- }
- node {
- name: "dnn/hidden1/zeros"
- op: "Const"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 300
- }
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "value"
- value {
- tensor {
- dtype: DT_FLOAT
- tensor_shape {
- dim {
- size: 300
- }
- }
- float_val: 0.0
- }
- }
- }
- }
- node {
- name: "dnn/hidden1/bias"
- op: "VariableV2"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 300
- }
- }
- }
- }
- }
- attr {
- key: "container"
- value {
- s: ""
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "shape"
- value {
- shape {
- dim {
- size: 300
- }
- }
- }
- }
- attr {
- key: "shared_name"
- value {
- s: ""
- }
- }
- }
- node {
- name: "dnn/hidden1/bias/Assign"
- op: "Assign"
- input: "dnn/hidden1/bias"
- input: "dnn/hidden1/zeros"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@dnn/hidden1/bias"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 300
- }
- }
- }
- }
- }
- attr {
- key: "use_locking"
- value {
- b: true
- }
- }
- attr {
- key: "validate_shape"
- value {
- b: true
- }
- }
- }
- node {
- name: "dnn/hidden1/bias/read"
- op: "Identity"
- input: "dnn/hidden1/bias"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@dnn/hidden1/bias"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 300
- }
- }
- }
- }
- }
- }
- node {
- name: "dnn/hidden1/MatMul"
- op: "MatMul"
- input: "input"
- input: "dnn/hidden1/weights/read"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 300
- }
- }
- }
- }
- }
- attr {
- key: "transpose_a"
- value {
- b: false
- }
- }
- attr {
- key: "transpose_b"
- value {
- b: false
- }
- }
- }
- node {
- name: "dnn/hidden1/add"
- op: "Add"
- input: "dnn/hidden1/MatMul"
- input: "dnn/hidden1/bias/read"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 300
- }
- }
- }
- }
- }
- }
- node {
- name: "dnn/hidden1/mul/x"
- 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.009999999776482582
- }
- }
- }
- }
- node {
- name: "dnn/hidden1/mul"
- op: "Mul"
- input: "dnn/hidden1/mul/x"
- input: "dnn/hidden1/add"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 300
- }
- }
- }
- }
- }
- }
- node {
- name: "dnn/hidden1/Maximum"
- op: "Maximum"
- input: "dnn/hidden1/mul"
- input: "dnn/hidden1/add"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 300
- }
- }
- }
- }
- }
- }
- node {
- name: "dnn/hidden2/truncated_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: ",\001\000\000d\000\000\000"
- }
- }
- }
- }
- node {
- name: "dnn/hidden2/truncated_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: "dnn/hidden2/truncated_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.1154700517654419
- }
- }
- }
- }
- node {
- name: "dnn/hidden2/truncated_normal/TruncatedNormal"
- op: "TruncatedNormal"
- input: "dnn/hidden2/truncated_normal/shape"
- attr {
- key: "T"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 300
- }
- dim {
- size: 100
- }
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "seed"
- value {
- i: 0
- }
- }
- attr {
- key: "seed2"
- value {
- i: 0
- }
- }
- }
- node {
- name: "dnn/hidden2/truncated_normal/mul"
- op: "Mul"
- input: "dnn/hidden2/truncated_normal/TruncatedNormal"
- input: "dnn/hidden2/truncated_normal/stddev"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 300
- }
- dim {
- size: 100
- }
- }
- }
- }
- }
- }
- node {
- name: "dnn/hidden2/truncated_normal"
- op: "Add"
- input: "dnn/hidden2/truncated_normal/mul"
- input: "dnn/hidden2/truncated_normal/mean"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 300
- }
- dim {
- size: 100
- }
- }
- }
- }
- }
- }
- node {
- name: "dnn/hidden2/weights"
- op: "VariableV2"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 300
- }
- dim {
- size: 100
- }
- }
- }
- }
- }
- attr {
- key: "container"
- value {
- s: ""
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "shape"
- value {
- shape {
- dim {
- size: 300
- }
- dim {
- size: 100
- }
- }
- }
- }
- attr {
- key: "shared_name"
- value {
- s: ""
- }
- }
- }
- node {
- name: "dnn/hidden2/weights/Assign"
- op: "Assign"
- input: "dnn/hidden2/weights"
- input: "dnn/hidden2/truncated_normal"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@dnn/hidden2/weights"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 300
- }
- dim {
- size: 100
- }
- }
- }
- }
- }
- attr {
- key: "use_locking"
- value {
- b: true
- }
- }
- attr {
- key: "validate_shape"
- value {
- b: true
- }
- }
- }
- node {
- name: "dnn/hidden2/weights/read"
- op: "Identity"
- input: "dnn/hidden2/weights"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@dnn/hidden2/weights"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 300
- }
- dim {
- size: 100
- }
- }
- }
- }
- }
- }
- node {
- name: "dnn/hidden2/zeros"
- op: "Const"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 100
- }
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "value"
- value {
- tensor {
- dtype: DT_FLOAT
- tensor_shape {
- dim {
- size: 100
- }
- }
- float_val: 0.0
- }
- }
- }
- }
- node {
- name: "dnn/hidden2/bias"
- op: "VariableV2"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 100
- }
- }
- }
- }
- }
- attr {
- key: "container"
- value {
- s: ""
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "shape"
- value {
- shape {
- dim {
- size: 100
- }
- }
- }
- }
- attr {
- key: "shared_name"
- value {
- s: ""
- }
- }
- }
- node {
- name: "dnn/hidden2/bias/Assign"
- op: "Assign"
- input: "dnn/hidden2/bias"
- input: "dnn/hidden2/zeros"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@dnn/hidden2/bias"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 100
- }
- }
- }
- }
- }
- attr {
- key: "use_locking"
- value {
- b: true
- }
- }
- attr {
- key: "validate_shape"
- value {
- b: true
- }
- }
- }
- node {
- name: "dnn/hidden2/bias/read"
- op: "Identity"
- input: "dnn/hidden2/bias"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@dnn/hidden2/bias"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 100
- }
- }
- }
- }
- }
- }
- node {
- name: "dnn/hidden2/MatMul"
- op: "MatMul"
- input: "dnn/hidden1/Maximum"
- input: "dnn/hidden2/weights/read"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 100
- }
- }
- }
- }
- }
- attr {
- key: "transpose_a"
- value {
- b: false
- }
- }
- attr {
- key: "transpose_b"
- value {
- b: false
- }
- }
- }
- node {
- name: "dnn/hidden2/add"
- op: "Add"
- input: "dnn/hidden2/MatMul"
- input: "dnn/hidden2/bias/read"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 100
- }
- }
- }
- }
- }
- }
- node {
- name: "dnn/hidden2/Const"
- op: "Const"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 1
- }
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "value"
- value {
- tensor {
- dtype: DT_FLOAT
- tensor_shape {
- dim {
- size: 1
- }
- }
- float_val: 0.009999999776482582
- }
- }
- }
- }
- node {
- name: "dnn/hidden2/mul"
- op: "Mul"
- input: "dnn/hidden2/Const"
- input: "dnn/hidden2/add"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 100
- }
- }
- }
- }
- }
- }
- node {
- name: "dnn/hidden2/Maximum"
- op: "Maximum"
- input: "dnn/hidden2/mul"
- input: "dnn/hidden2/add"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 100
- }
- }
- }
- }
- }
- }
- node {
- name: "dnn/outputs/truncated_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: "d\000\000\000\n\000\000\000"
- }
- }
- }
- }
- node {
- name: "dnn/outputs/truncated_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: "dnn/outputs/truncated_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.20000000298023224
- }
- }
- }
- }
- node {
- name: "dnn/outputs/truncated_normal/TruncatedNormal"
- op: "TruncatedNormal"
- input: "dnn/outputs/truncated_normal/shape"
- attr {
- key: "T"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 100
- }
- dim {
- size: 10
- }
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "seed"
- value {
- i: 0
- }
- }
- attr {
- key: "seed2"
- value {
- i: 0
- }
- }
- }
- node {
- name: "dnn/outputs/truncated_normal/mul"
- op: "Mul"
- input: "dnn/outputs/truncated_normal/TruncatedNormal"
- input: "dnn/outputs/truncated_normal/stddev"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 100
- }
- dim {
- size: 10
- }
- }
- }
- }
- }
- }
- node {
- name: "dnn/outputs/truncated_normal"
- op: "Add"
- input: "dnn/outputs/truncated_normal/mul"
- input: "dnn/outputs/truncated_normal/mean"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 100
- }
- dim {
- size: 10
- }
- }
- }
- }
- }
- }
- node {
- name: "dnn/outputs/weights"
- op: "VariableV2"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 100
- }
- dim {
- size: 10
- }
- }
- }
- }
- }
- attr {
- key: "container"
- value {
- s: ""
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "shape"
- value {
- shape {
- dim {
- size: 100
- }
- dim {
- size: 10
- }
- }
- }
- }
- attr {
- key: "shared_name"
- value {
- s: ""
- }
- }
- }
- node {
- name: "dnn/outputs/weights/Assign"
- op: "Assign"
- input: "dnn/outputs/weights"
- input: "dnn/outputs/truncated_normal"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@dnn/outputs/weights"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 100
- }
- dim {
- size: 10
- }
- }
- }
- }
- }
- attr {
- key: "use_locking"
- value {
- b: true
- }
- }
- attr {
- key: "validate_shape"
- value {
- b: true
- }
- }
- }
- node {
- name: "dnn/outputs/weights/read"
- op: "Identity"
- input: "dnn/outputs/weights"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@dnn/outputs/weights"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 100
- }
- dim {
- size: 10
- }
- }
- }
- }
- }
- }
- node {
- name: "dnn/outputs/zeros"
- op: "Const"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 10
- }
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "value"
- value {
- tensor {
- dtype: DT_FLOAT
- tensor_shape {
- dim {
- size: 10
- }
- }
- float_val: 0.0
- }
- }
- }
- }
- node {
- name: "dnn/outputs/bias"
- op: "VariableV2"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 10
- }
- }
- }
- }
- }
- attr {
- key: "container"
- value {
- s: ""
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "shape"
- value {
- shape {
- dim {
- size: 10
- }
- }
- }
- }
- attr {
- key: "shared_name"
- value {
- s: ""
- }
- }
- }
- node {
- name: "dnn/outputs/bias/Assign"
- op: "Assign"
- input: "dnn/outputs/bias"
- input: "dnn/outputs/zeros"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@dnn/outputs/bias"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 10
- }
- }
- }
- }
- }
- attr {
- key: "use_locking"
- value {
- b: true
- }
- }
- attr {
- key: "validate_shape"
- value {
- b: true
- }
- }
- }
- node {
- name: "dnn/outputs/bias/read"
- op: "Identity"
- input: "dnn/outputs/bias"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@dnn/outputs/bias"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 10
- }
- }
- }
- }
- }
- }
- node {
- name: "dnn/outputs/MatMul"
- op: "MatMul"
- input: "dnn/hidden2/Maximum"
- input: "dnn/outputs/weights/read"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 10
- }
- }
- }
- }
- }
- attr {
- key: "transpose_a"
- value {
- b: false
- }
- }
- attr {
- key: "transpose_b"
- value {
- b: false
- }
- }
- }
- node {
- name: "dnn/outputs/add"
- op: "Add"
- input: "dnn/outputs/MatMul"
- input: "dnn/outputs/bias/read"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 10
- }
- }
- }
- }
- }
- }
- node {
- name: "loss/SparseSoftmaxCrossEntropyWithLogits/Shape"
- op: "Shape"
- input: "y"
- attr {
- key: "T"
- value {
- type: DT_INT64
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- }
- }
- }
- }
- attr {
- key: "out_type"
- value {
- type: DT_INT32
- }
- }
- }
- node {
- name: "loss/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits"
- op: "SparseSoftmaxCrossEntropyWithLogits"
- input: "dnn/outputs/add"
- input: "y"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "Tlabels"
- value {
- type: DT_INT64
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- }
- shape {
- dim {
- size: -1
- }
- dim {
- size: 10
- }
- }
- }
- }
- }
- }
- node {
- name: "loss/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: "loss/loss"
- op: "Mean"
- input: "loss/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits"
- input: "loss/Const"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "Tidx"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- }
- }
- }
- }
- attr {
- key: "keep_dims"
- value {
- b: false
- }
- }
- }
- node {
- name: "train/gradients/Shape"
- op: "Const"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- }
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "value"
- value {
- tensor {
- dtype: DT_INT32
- tensor_shape {
- dim {
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/Const"
- 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: 1.0
- }
- }
- }
- }
- node {
- name: "train/gradients/Fill"
- op: "Fill"
- input: "train/gradients/Shape"
- input: "train/gradients/Const"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/loss/loss_grad/Reshape/shape"
- 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: "train/gradients/loss/loss_grad/Reshape"
- op: "Reshape"
- input: "train/gradients/Fill"
- input: "train/gradients/loss/loss_grad/Reshape/shape"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "Tshape"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 1
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/loss/loss_grad/Shape"
- op: "Shape"
- input: "loss/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 1
- }
- }
- }
- }
- }
- attr {
- key: "out_type"
- value {
- type: DT_INT32
- }
- }
- }
- node {
- name: "train/gradients/loss/loss_grad/Tile"
- op: "Tile"
- input: "train/gradients/loss/loss_grad/Reshape"
- input: "train/gradients/loss/loss_grad/Shape"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "Tmultiples"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/loss/loss_grad/Shape_1"
- op: "Shape"
- input: "loss/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 1
- }
- }
- }
- }
- }
- attr {
- key: "out_type"
- value {
- type: DT_INT32
- }
- }
- }
- node {
- name: "train/gradients/loss/loss_grad/Shape_2"
- op: "Const"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- }
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "value"
- value {
- tensor {
- dtype: DT_INT32
- tensor_shape {
- dim {
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/loss/loss_grad/Const"
- op: "Const"
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@train/gradients/loss/loss_grad/Shape_1"
- }
- }
- }
- 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: "train/gradients/loss/loss_grad/Prod"
- op: "Prod"
- input: "train/gradients/loss/loss_grad/Shape_1"
- input: "train/gradients/loss/loss_grad/Const"
- attr {
- key: "T"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "Tidx"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@train/gradients/loss/loss_grad/Shape_1"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- }
- }
- }
- }
- attr {
- key: "keep_dims"
- value {
- b: false
- }
- }
- }
- node {
- name: "train/gradients/loss/loss_grad/Const_1"
- op: "Const"
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@train/gradients/loss/loss_grad/Shape_1"
- }
- }
- }
- 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: "train/gradients/loss/loss_grad/Prod_1"
- op: "Prod"
- input: "train/gradients/loss/loss_grad/Shape_2"
- input: "train/gradients/loss/loss_grad/Const_1"
- attr {
- key: "T"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "Tidx"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@train/gradients/loss/loss_grad/Shape_1"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- }
- }
- }
- }
- attr {
- key: "keep_dims"
- value {
- b: false
- }
- }
- }
- node {
- name: "train/gradients/loss/loss_grad/Maximum/y"
- op: "Const"
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@train/gradients/loss/loss_grad/Shape_1"
- }
- }
- }
- 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: "train/gradients/loss/loss_grad/Maximum"
- op: "Maximum"
- input: "train/gradients/loss/loss_grad/Prod_1"
- input: "train/gradients/loss/loss_grad/Maximum/y"
- attr {
- key: "T"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@train/gradients/loss/loss_grad/Shape_1"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/loss/loss_grad/floordiv"
- op: "FloorDiv"
- input: "train/gradients/loss/loss_grad/Prod"
- input: "train/gradients/loss/loss_grad/Maximum"
- attr {
- key: "T"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@train/gradients/loss/loss_grad/Shape_1"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/loss/loss_grad/Cast"
- op: "Cast"
- input: "train/gradients/loss/loss_grad/floordiv"
- attr {
- key: "DstT"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "SrcT"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/loss/loss_grad/truediv"
- op: "RealDiv"
- input: "train/gradients/loss/loss_grad/Tile"
- input: "train/gradients/loss/loss_grad/Cast"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/zeros_like"
- op: "ZerosLike"
- input: "loss/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits:1"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 10
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/loss/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits_grad/PreventGradient"
- op: "PreventGradient"
- input: "loss/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits:1"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 10
- }
- }
- }
- }
- }
- attr {
- key: "message"
- value {
- s: "Currently there is no way to take the second derivative of sparse_softmax_cross_entropy_with_logits due to the fused implementation\'s interaction with tf.gradients()"
- }
- }
- }
- node {
- name: "train/gradients/loss/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits_grad/ExpandDims/dim"
- 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: "train/gradients/loss/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits_grad/ExpandDims"
- op: "ExpandDims"
- input: "train/gradients/loss/loss_grad/truediv"
- input: "train/gradients/loss/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits_grad/ExpandDims/dim"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "Tdim"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 1
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/loss/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits_grad/mul"
- op: "Mul"
- input: "train/gradients/loss/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits_grad/ExpandDims"
- input: "train/gradients/loss/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits_grad/PreventGradient"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 10
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/outputs/add_grad/Shape"
- op: "Shape"
- input: "dnn/outputs/MatMul"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 2
- }
- }
- }
- }
- }
- attr {
- key: "out_type"
- value {
- type: DT_INT32
- }
- }
- }
- node {
- name: "train/gradients/dnn/outputs/add_grad/Shape_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: 10
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/outputs/add_grad/BroadcastGradientArgs"
- op: "BroadcastGradientArgs"
- input: "train/gradients/dnn/outputs/add_grad/Shape"
- input: "train/gradients/dnn/outputs/add_grad/Shape_1"
- attr {
- key: "T"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- }
- shape {
- dim {
- size: -1
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/outputs/add_grad/Sum"
- op: "Sum"
- input: "train/gradients/loss/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits_grad/mul"
- input: "train/gradients/dnn/outputs/add_grad/BroadcastGradientArgs"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "Tidx"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- unknown_rank: true
- }
- }
- }
- }
- attr {
- key: "keep_dims"
- value {
- b: false
- }
- }
- }
- node {
- name: "train/gradients/dnn/outputs/add_grad/Reshape"
- op: "Reshape"
- input: "train/gradients/dnn/outputs/add_grad/Sum"
- input: "train/gradients/dnn/outputs/add_grad/Shape"
- 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: 10
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/outputs/add_grad/Sum_1"
- op: "Sum"
- input: "train/gradients/loss/SparseSoftmaxCrossEntropyWithLogits/SparseSoftmaxCrossEntropyWithLogits_grad/mul"
- input: "train/gradients/dnn/outputs/add_grad/BroadcastGradientArgs:1"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "Tidx"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- unknown_rank: true
- }
- }
- }
- }
- attr {
- key: "keep_dims"
- value {
- b: false
- }
- }
- }
- node {
- name: "train/gradients/dnn/outputs/add_grad/Reshape_1"
- op: "Reshape"
- input: "train/gradients/dnn/outputs/add_grad/Sum_1"
- input: "train/gradients/dnn/outputs/add_grad/Shape_1"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "Tshape"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 10
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/outputs/add_grad/tuple/group_deps"
- op: "NoOp"
- input: "^train/gradients/dnn/outputs/add_grad/Reshape"
- input: "^train/gradients/dnn/outputs/add_grad/Reshape_1"
- }
- node {
- name: "train/gradients/dnn/outputs/add_grad/tuple/control_dependency"
- op: "Identity"
- input: "train/gradients/dnn/outputs/add_grad/Reshape"
- input: "^train/gradients/dnn/outputs/add_grad/tuple/group_deps"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@train/gradients/dnn/outputs/add_grad/Reshape"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 10
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/outputs/add_grad/tuple/control_dependency_1"
- op: "Identity"
- input: "train/gradients/dnn/outputs/add_grad/Reshape_1"
- input: "^train/gradients/dnn/outputs/add_grad/tuple/group_deps"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@train/gradients/dnn/outputs/add_grad/Reshape_1"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 10
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/outputs/MatMul_grad/MatMul"
- op: "MatMul"
- input: "train/gradients/dnn/outputs/add_grad/tuple/control_dependency"
- input: "dnn/outputs/weights/read"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 100
- }
- }
- }
- }
- }
- attr {
- key: "transpose_a"
- value {
- b: false
- }
- }
- attr {
- key: "transpose_b"
- value {
- b: true
- }
- }
- }
- node {
- name: "train/gradients/dnn/outputs/MatMul_grad/MatMul_1"
- op: "MatMul"
- input: "dnn/hidden2/Maximum"
- input: "train/gradients/dnn/outputs/add_grad/tuple/control_dependency"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 100
- }
- dim {
- size: 10
- }
- }
- }
- }
- }
- attr {
- key: "transpose_a"
- value {
- b: true
- }
- }
- attr {
- key: "transpose_b"
- value {
- b: false
- }
- }
- }
- node {
- name: "train/gradients/dnn/outputs/MatMul_grad/tuple/group_deps"
- op: "NoOp"
- input: "^train/gradients/dnn/outputs/MatMul_grad/MatMul"
- input: "^train/gradients/dnn/outputs/MatMul_grad/MatMul_1"
- }
- node {
- name: "train/gradients/dnn/outputs/MatMul_grad/tuple/control_dependency"
- op: "Identity"
- input: "train/gradients/dnn/outputs/MatMul_grad/MatMul"
- input: "^train/gradients/dnn/outputs/MatMul_grad/tuple/group_deps"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@train/gradients/dnn/outputs/MatMul_grad/MatMul"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 100
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/outputs/MatMul_grad/tuple/control_dependency_1"
- op: "Identity"
- input: "train/gradients/dnn/outputs/MatMul_grad/MatMul_1"
- input: "^train/gradients/dnn/outputs/MatMul_grad/tuple/group_deps"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@train/gradients/dnn/outputs/MatMul_grad/MatMul_1"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 100
- }
- dim {
- size: 10
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden2/Maximum_grad/Shape"
- op: "Shape"
- input: "dnn/hidden2/mul"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 2
- }
- }
- }
- }
- }
- attr {
- key: "out_type"
- value {
- type: DT_INT32
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden2/Maximum_grad/Shape_1"
- op: "Shape"
- input: "dnn/hidden2/add"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 2
- }
- }
- }
- }
- }
- attr {
- key: "out_type"
- value {
- type: DT_INT32
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden2/Maximum_grad/Shape_2"
- op: "Shape"
- input: "train/gradients/dnn/outputs/MatMul_grad/tuple/control_dependency"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 2
- }
- }
- }
- }
- }
- attr {
- key: "out_type"
- value {
- type: DT_INT32
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden2/Maximum_grad/zeros/Const"
- 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: "train/gradients/dnn/hidden2/Maximum_grad/zeros"
- op: "Fill"
- input: "train/gradients/dnn/hidden2/Maximum_grad/Shape_2"
- input: "train/gradients/dnn/hidden2/Maximum_grad/zeros/Const"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 100
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden2/Maximum_grad/GreaterEqual"
- op: "GreaterEqual"
- input: "dnn/hidden2/mul"
- input: "dnn/hidden2/add"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 100
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden2/Maximum_grad/BroadcastGradientArgs"
- op: "BroadcastGradientArgs"
- input: "train/gradients/dnn/hidden2/Maximum_grad/Shape"
- input: "train/gradients/dnn/hidden2/Maximum_grad/Shape_1"
- attr {
- key: "T"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- }
- shape {
- dim {
- size: -1
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden2/Maximum_grad/Select"
- op: "Select"
- input: "train/gradients/dnn/hidden2/Maximum_grad/GreaterEqual"
- input: "train/gradients/dnn/outputs/MatMul_grad/tuple/control_dependency"
- input: "train/gradients/dnn/hidden2/Maximum_grad/zeros"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 100
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden2/Maximum_grad/Select_1"
- op: "Select"
- input: "train/gradients/dnn/hidden2/Maximum_grad/GreaterEqual"
- input: "train/gradients/dnn/hidden2/Maximum_grad/zeros"
- input: "train/gradients/dnn/outputs/MatMul_grad/tuple/control_dependency"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 100
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden2/Maximum_grad/Sum"
- op: "Sum"
- input: "train/gradients/dnn/hidden2/Maximum_grad/Select"
- input: "train/gradients/dnn/hidden2/Maximum_grad/BroadcastGradientArgs"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "Tidx"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- unknown_rank: true
- }
- }
- }
- }
- attr {
- key: "keep_dims"
- value {
- b: false
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden2/Maximum_grad/Reshape"
- op: "Reshape"
- input: "train/gradients/dnn/hidden2/Maximum_grad/Sum"
- input: "train/gradients/dnn/hidden2/Maximum_grad/Shape"
- 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: 100
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden2/Maximum_grad/Sum_1"
- op: "Sum"
- input: "train/gradients/dnn/hidden2/Maximum_grad/Select_1"
- input: "train/gradients/dnn/hidden2/Maximum_grad/BroadcastGradientArgs:1"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "Tidx"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- unknown_rank: true
- }
- }
- }
- }
- attr {
- key: "keep_dims"
- value {
- b: false
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden2/Maximum_grad/Reshape_1"
- op: "Reshape"
- input: "train/gradients/dnn/hidden2/Maximum_grad/Sum_1"
- input: "train/gradients/dnn/hidden2/Maximum_grad/Shape_1"
- 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: 100
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden2/Maximum_grad/tuple/group_deps"
- op: "NoOp"
- input: "^train/gradients/dnn/hidden2/Maximum_grad/Reshape"
- input: "^train/gradients/dnn/hidden2/Maximum_grad/Reshape_1"
- }
- node {
- name: "train/gradients/dnn/hidden2/Maximum_grad/tuple/control_dependency"
- op: "Identity"
- input: "train/gradients/dnn/hidden2/Maximum_grad/Reshape"
- input: "^train/gradients/dnn/hidden2/Maximum_grad/tuple/group_deps"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@train/gradients/dnn/hidden2/Maximum_grad/Reshape"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 100
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden2/Maximum_grad/tuple/control_dependency_1"
- op: "Identity"
- input: "train/gradients/dnn/hidden2/Maximum_grad/Reshape_1"
- input: "^train/gradients/dnn/hidden2/Maximum_grad/tuple/group_deps"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@train/gradients/dnn/hidden2/Maximum_grad/Reshape_1"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 100
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden2/mul_grad/Shape"
- 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: "train/gradients/dnn/hidden2/mul_grad/Shape_1"
- op: "Shape"
- input: "dnn/hidden2/add"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 2
- }
- }
- }
- }
- }
- attr {
- key: "out_type"
- value {
- type: DT_INT32
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden2/mul_grad/BroadcastGradientArgs"
- op: "BroadcastGradientArgs"
- input: "train/gradients/dnn/hidden2/mul_grad/Shape"
- input: "train/gradients/dnn/hidden2/mul_grad/Shape_1"
- attr {
- key: "T"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- }
- shape {
- dim {
- size: -1
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden2/mul_grad/mul"
- op: "Mul"
- input: "train/gradients/dnn/hidden2/Maximum_grad/tuple/control_dependency"
- input: "dnn/hidden2/add"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 100
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden2/mul_grad/Sum"
- op: "Sum"
- input: "train/gradients/dnn/hidden2/mul_grad/mul"
- input: "train/gradients/dnn/hidden2/mul_grad/BroadcastGradientArgs"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "Tidx"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- unknown_rank: true
- }
- }
- }
- }
- attr {
- key: "keep_dims"
- value {
- b: false
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden2/mul_grad/Reshape"
- op: "Reshape"
- input: "train/gradients/dnn/hidden2/mul_grad/Sum"
- input: "train/gradients/dnn/hidden2/mul_grad/Shape"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "Tshape"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 1
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden2/mul_grad/mul_1"
- op: "Mul"
- input: "dnn/hidden2/Const"
- input: "train/gradients/dnn/hidden2/Maximum_grad/tuple/control_dependency"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 100
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden2/mul_grad/Sum_1"
- op: "Sum"
- input: "train/gradients/dnn/hidden2/mul_grad/mul_1"
- input: "train/gradients/dnn/hidden2/mul_grad/BroadcastGradientArgs:1"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "Tidx"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- unknown_rank: true
- }
- }
- }
- }
- attr {
- key: "keep_dims"
- value {
- b: false
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden2/mul_grad/Reshape_1"
- op: "Reshape"
- input: "train/gradients/dnn/hidden2/mul_grad/Sum_1"
- input: "train/gradients/dnn/hidden2/mul_grad/Shape_1"
- 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: 100
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden2/mul_grad/tuple/group_deps"
- op: "NoOp"
- input: "^train/gradients/dnn/hidden2/mul_grad/Reshape"
- input: "^train/gradients/dnn/hidden2/mul_grad/Reshape_1"
- }
- node {
- name: "train/gradients/dnn/hidden2/mul_grad/tuple/control_dependency"
- op: "Identity"
- input: "train/gradients/dnn/hidden2/mul_grad/Reshape"
- input: "^train/gradients/dnn/hidden2/mul_grad/tuple/group_deps"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@train/gradients/dnn/hidden2/mul_grad/Reshape"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 1
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden2/mul_grad/tuple/control_dependency_1"
- op: "Identity"
- input: "train/gradients/dnn/hidden2/mul_grad/Reshape_1"
- input: "^train/gradients/dnn/hidden2/mul_grad/tuple/group_deps"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@train/gradients/dnn/hidden2/mul_grad/Reshape_1"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 100
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/AddN"
- op: "AddN"
- input: "train/gradients/dnn/hidden2/Maximum_grad/tuple/control_dependency_1"
- input: "train/gradients/dnn/hidden2/mul_grad/tuple/control_dependency_1"
- attr {
- key: "N"
- value {
- i: 2
- }
- }
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@train/gradients/dnn/hidden2/Maximum_grad/Reshape_1"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 100
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden2/add_grad/Shape"
- op: "Shape"
- input: "dnn/hidden2/MatMul"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 2
- }
- }
- }
- }
- }
- attr {
- key: "out_type"
- value {
- type: DT_INT32
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden2/add_grad/Shape_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: 100
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden2/add_grad/BroadcastGradientArgs"
- op: "BroadcastGradientArgs"
- input: "train/gradients/dnn/hidden2/add_grad/Shape"
- input: "train/gradients/dnn/hidden2/add_grad/Shape_1"
- attr {
- key: "T"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- }
- shape {
- dim {
- size: -1
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden2/add_grad/Sum"
- op: "Sum"
- input: "train/gradients/AddN"
- input: "train/gradients/dnn/hidden2/add_grad/BroadcastGradientArgs"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "Tidx"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- unknown_rank: true
- }
- }
- }
- }
- attr {
- key: "keep_dims"
- value {
- b: false
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden2/add_grad/Reshape"
- op: "Reshape"
- input: "train/gradients/dnn/hidden2/add_grad/Sum"
- input: "train/gradients/dnn/hidden2/add_grad/Shape"
- 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: 100
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden2/add_grad/Sum_1"
- op: "Sum"
- input: "train/gradients/AddN"
- input: "train/gradients/dnn/hidden2/add_grad/BroadcastGradientArgs:1"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "Tidx"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- unknown_rank: true
- }
- }
- }
- }
- attr {
- key: "keep_dims"
- value {
- b: false
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden2/add_grad/Reshape_1"
- op: "Reshape"
- input: "train/gradients/dnn/hidden2/add_grad/Sum_1"
- input: "train/gradients/dnn/hidden2/add_grad/Shape_1"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "Tshape"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 100
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden2/add_grad/tuple/group_deps"
- op: "NoOp"
- input: "^train/gradients/dnn/hidden2/add_grad/Reshape"
- input: "^train/gradients/dnn/hidden2/add_grad/Reshape_1"
- }
- node {
- name: "train/gradients/dnn/hidden2/add_grad/tuple/control_dependency"
- op: "Identity"
- input: "train/gradients/dnn/hidden2/add_grad/Reshape"
- input: "^train/gradients/dnn/hidden2/add_grad/tuple/group_deps"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@train/gradients/dnn/hidden2/add_grad/Reshape"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 100
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden2/add_grad/tuple/control_dependency_1"
- op: "Identity"
- input: "train/gradients/dnn/hidden2/add_grad/Reshape_1"
- input: "^train/gradients/dnn/hidden2/add_grad/tuple/group_deps"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@train/gradients/dnn/hidden2/add_grad/Reshape_1"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 100
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden2/MatMul_grad/MatMul"
- op: "MatMul"
- input: "train/gradients/dnn/hidden2/add_grad/tuple/control_dependency"
- input: "dnn/hidden2/weights/read"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 300
- }
- }
- }
- }
- }
- attr {
- key: "transpose_a"
- value {
- b: false
- }
- }
- attr {
- key: "transpose_b"
- value {
- b: true
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden2/MatMul_grad/MatMul_1"
- op: "MatMul"
- input: "dnn/hidden1/Maximum"
- input: "train/gradients/dnn/hidden2/add_grad/tuple/control_dependency"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 300
- }
- dim {
- size: 100
- }
- }
- }
- }
- }
- attr {
- key: "transpose_a"
- value {
- b: true
- }
- }
- attr {
- key: "transpose_b"
- value {
- b: false
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden2/MatMul_grad/tuple/group_deps"
- op: "NoOp"
- input: "^train/gradients/dnn/hidden2/MatMul_grad/MatMul"
- input: "^train/gradients/dnn/hidden2/MatMul_grad/MatMul_1"
- }
- node {
- name: "train/gradients/dnn/hidden2/MatMul_grad/tuple/control_dependency"
- op: "Identity"
- input: "train/gradients/dnn/hidden2/MatMul_grad/MatMul"
- input: "^train/gradients/dnn/hidden2/MatMul_grad/tuple/group_deps"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@train/gradients/dnn/hidden2/MatMul_grad/MatMul"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 300
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden2/MatMul_grad/tuple/control_dependency_1"
- op: "Identity"
- input: "train/gradients/dnn/hidden2/MatMul_grad/MatMul_1"
- input: "^train/gradients/dnn/hidden2/MatMul_grad/tuple/group_deps"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@train/gradients/dnn/hidden2/MatMul_grad/MatMul_1"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 300
- }
- dim {
- size: 100
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden1/Maximum_grad/Shape"
- op: "Shape"
- input: "dnn/hidden1/mul"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 2
- }
- }
- }
- }
- }
- attr {
- key: "out_type"
- value {
- type: DT_INT32
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden1/Maximum_grad/Shape_1"
- op: "Shape"
- input: "dnn/hidden1/add"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 2
- }
- }
- }
- }
- }
- attr {
- key: "out_type"
- value {
- type: DT_INT32
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden1/Maximum_grad/Shape_2"
- op: "Shape"
- input: "train/gradients/dnn/hidden2/MatMul_grad/tuple/control_dependency"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 2
- }
- }
- }
- }
- }
- attr {
- key: "out_type"
- value {
- type: DT_INT32
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden1/Maximum_grad/zeros/Const"
- 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: "train/gradients/dnn/hidden1/Maximum_grad/zeros"
- op: "Fill"
- input: "train/gradients/dnn/hidden1/Maximum_grad/Shape_2"
- input: "train/gradients/dnn/hidden1/Maximum_grad/zeros/Const"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 300
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden1/Maximum_grad/GreaterEqual"
- op: "GreaterEqual"
- input: "dnn/hidden1/mul"
- input: "dnn/hidden1/add"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 300
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden1/Maximum_grad/BroadcastGradientArgs"
- op: "BroadcastGradientArgs"
- input: "train/gradients/dnn/hidden1/Maximum_grad/Shape"
- input: "train/gradients/dnn/hidden1/Maximum_grad/Shape_1"
- attr {
- key: "T"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- }
- shape {
- dim {
- size: -1
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden1/Maximum_grad/Select"
- op: "Select"
- input: "train/gradients/dnn/hidden1/Maximum_grad/GreaterEqual"
- input: "train/gradients/dnn/hidden2/MatMul_grad/tuple/control_dependency"
- input: "train/gradients/dnn/hidden1/Maximum_grad/zeros"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 300
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden1/Maximum_grad/Select_1"
- op: "Select"
- input: "train/gradients/dnn/hidden1/Maximum_grad/GreaterEqual"
- input: "train/gradients/dnn/hidden1/Maximum_grad/zeros"
- input: "train/gradients/dnn/hidden2/MatMul_grad/tuple/control_dependency"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 300
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden1/Maximum_grad/Sum"
- op: "Sum"
- input: "train/gradients/dnn/hidden1/Maximum_grad/Select"
- input: "train/gradients/dnn/hidden1/Maximum_grad/BroadcastGradientArgs"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "Tidx"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- unknown_rank: true
- }
- }
- }
- }
- attr {
- key: "keep_dims"
- value {
- b: false
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden1/Maximum_grad/Reshape"
- op: "Reshape"
- input: "train/gradients/dnn/hidden1/Maximum_grad/Sum"
- input: "train/gradients/dnn/hidden1/Maximum_grad/Shape"
- 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: 300
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden1/Maximum_grad/Sum_1"
- op: "Sum"
- input: "train/gradients/dnn/hidden1/Maximum_grad/Select_1"
- input: "train/gradients/dnn/hidden1/Maximum_grad/BroadcastGradientArgs:1"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "Tidx"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- unknown_rank: true
- }
- }
- }
- }
- attr {
- key: "keep_dims"
- value {
- b: false
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden1/Maximum_grad/Reshape_1"
- op: "Reshape"
- input: "train/gradients/dnn/hidden1/Maximum_grad/Sum_1"
- input: "train/gradients/dnn/hidden1/Maximum_grad/Shape_1"
- 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: 300
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden1/Maximum_grad/tuple/group_deps"
- op: "NoOp"
- input: "^train/gradients/dnn/hidden1/Maximum_grad/Reshape"
- input: "^train/gradients/dnn/hidden1/Maximum_grad/Reshape_1"
- }
- node {
- name: "train/gradients/dnn/hidden1/Maximum_grad/tuple/control_dependency"
- op: "Identity"
- input: "train/gradients/dnn/hidden1/Maximum_grad/Reshape"
- input: "^train/gradients/dnn/hidden1/Maximum_grad/tuple/group_deps"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@train/gradients/dnn/hidden1/Maximum_grad/Reshape"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 300
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden1/Maximum_grad/tuple/control_dependency_1"
- op: "Identity"
- input: "train/gradients/dnn/hidden1/Maximum_grad/Reshape_1"
- input: "^train/gradients/dnn/hidden1/Maximum_grad/tuple/group_deps"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@train/gradients/dnn/hidden1/Maximum_grad/Reshape_1"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 300
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden1/mul_grad/Shape"
- op: "Const"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- }
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "value"
- value {
- tensor {
- dtype: DT_INT32
- tensor_shape {
- dim {
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden1/mul_grad/Shape_1"
- op: "Shape"
- input: "dnn/hidden1/add"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 2
- }
- }
- }
- }
- }
- attr {
- key: "out_type"
- value {
- type: DT_INT32
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden1/mul_grad/BroadcastGradientArgs"
- op: "BroadcastGradientArgs"
- input: "train/gradients/dnn/hidden1/mul_grad/Shape"
- input: "train/gradients/dnn/hidden1/mul_grad/Shape_1"
- attr {
- key: "T"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- }
- shape {
- dim {
- size: -1
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden1/mul_grad/mul"
- op: "Mul"
- input: "train/gradients/dnn/hidden1/Maximum_grad/tuple/control_dependency"
- input: "dnn/hidden1/add"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 300
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden1/mul_grad/Sum"
- op: "Sum"
- input: "train/gradients/dnn/hidden1/mul_grad/mul"
- input: "train/gradients/dnn/hidden1/mul_grad/BroadcastGradientArgs"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "Tidx"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- unknown_rank: true
- }
- }
- }
- }
- attr {
- key: "keep_dims"
- value {
- b: false
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden1/mul_grad/Reshape"
- op: "Reshape"
- input: "train/gradients/dnn/hidden1/mul_grad/Sum"
- input: "train/gradients/dnn/hidden1/mul_grad/Shape"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "Tshape"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden1/mul_grad/mul_1"
- op: "Mul"
- input: "dnn/hidden1/mul/x"
- input: "train/gradients/dnn/hidden1/Maximum_grad/tuple/control_dependency"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 300
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden1/mul_grad/Sum_1"
- op: "Sum"
- input: "train/gradients/dnn/hidden1/mul_grad/mul_1"
- input: "train/gradients/dnn/hidden1/mul_grad/BroadcastGradientArgs:1"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "Tidx"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- unknown_rank: true
- }
- }
- }
- }
- attr {
- key: "keep_dims"
- value {
- b: false
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden1/mul_grad/Reshape_1"
- op: "Reshape"
- input: "train/gradients/dnn/hidden1/mul_grad/Sum_1"
- input: "train/gradients/dnn/hidden1/mul_grad/Shape_1"
- 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: 300
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden1/mul_grad/tuple/group_deps"
- op: "NoOp"
- input: "^train/gradients/dnn/hidden1/mul_grad/Reshape"
- input: "^train/gradients/dnn/hidden1/mul_grad/Reshape_1"
- }
- node {
- name: "train/gradients/dnn/hidden1/mul_grad/tuple/control_dependency"
- op: "Identity"
- input: "train/gradients/dnn/hidden1/mul_grad/Reshape"
- input: "^train/gradients/dnn/hidden1/mul_grad/tuple/group_deps"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@train/gradients/dnn/hidden1/mul_grad/Reshape"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden1/mul_grad/tuple/control_dependency_1"
- op: "Identity"
- input: "train/gradients/dnn/hidden1/mul_grad/Reshape_1"
- input: "^train/gradients/dnn/hidden1/mul_grad/tuple/group_deps"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@train/gradients/dnn/hidden1/mul_grad/Reshape_1"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 300
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/AddN_1"
- op: "AddN"
- input: "train/gradients/dnn/hidden1/Maximum_grad/tuple/control_dependency_1"
- input: "train/gradients/dnn/hidden1/mul_grad/tuple/control_dependency_1"
- attr {
- key: "N"
- value {
- i: 2
- }
- }
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@train/gradients/dnn/hidden1/Maximum_grad/Reshape_1"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 300
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden1/add_grad/Shape"
- op: "Shape"
- input: "dnn/hidden1/MatMul"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 2
- }
- }
- }
- }
- }
- attr {
- key: "out_type"
- value {
- type: DT_INT32
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden1/add_grad/Shape_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: 300
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden1/add_grad/BroadcastGradientArgs"
- op: "BroadcastGradientArgs"
- input: "train/gradients/dnn/hidden1/add_grad/Shape"
- input: "train/gradients/dnn/hidden1/add_grad/Shape_1"
- attr {
- key: "T"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- }
- shape {
- dim {
- size: -1
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden1/add_grad/Sum"
- op: "Sum"
- input: "train/gradients/AddN_1"
- input: "train/gradients/dnn/hidden1/add_grad/BroadcastGradientArgs"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "Tidx"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- unknown_rank: true
- }
- }
- }
- }
- attr {
- key: "keep_dims"
- value {
- b: false
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden1/add_grad/Reshape"
- op: "Reshape"
- input: "train/gradients/dnn/hidden1/add_grad/Sum"
- input: "train/gradients/dnn/hidden1/add_grad/Shape"
- 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: 300
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden1/add_grad/Sum_1"
- op: "Sum"
- input: "train/gradients/AddN_1"
- input: "train/gradients/dnn/hidden1/add_grad/BroadcastGradientArgs:1"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "Tidx"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- unknown_rank: true
- }
- }
- }
- }
- attr {
- key: "keep_dims"
- value {
- b: false
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden1/add_grad/Reshape_1"
- op: "Reshape"
- input: "train/gradients/dnn/hidden1/add_grad/Sum_1"
- input: "train/gradients/dnn/hidden1/add_grad/Shape_1"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "Tshape"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 300
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden1/add_grad/tuple/group_deps"
- op: "NoOp"
- input: "^train/gradients/dnn/hidden1/add_grad/Reshape"
- input: "^train/gradients/dnn/hidden1/add_grad/Reshape_1"
- }
- node {
- name: "train/gradients/dnn/hidden1/add_grad/tuple/control_dependency"
- op: "Identity"
- input: "train/gradients/dnn/hidden1/add_grad/Reshape"
- input: "^train/gradients/dnn/hidden1/add_grad/tuple/group_deps"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@train/gradients/dnn/hidden1/add_grad/Reshape"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 300
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden1/add_grad/tuple/control_dependency_1"
- op: "Identity"
- input: "train/gradients/dnn/hidden1/add_grad/Reshape_1"
- input: "^train/gradients/dnn/hidden1/add_grad/tuple/group_deps"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@train/gradients/dnn/hidden1/add_grad/Reshape_1"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 300
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden1/MatMul_grad/MatMul"
- op: "MatMul"
- input: "train/gradients/dnn/hidden1/add_grad/tuple/control_dependency"
- input: "dnn/hidden1/weights/read"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 784
- }
- }
- }
- }
- }
- attr {
- key: "transpose_a"
- value {
- b: false
- }
- }
- attr {
- key: "transpose_b"
- value {
- b: true
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden1/MatMul_grad/MatMul_1"
- op: "MatMul"
- input: "input"
- input: "train/gradients/dnn/hidden1/add_grad/tuple/control_dependency"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 784
- }
- dim {
- size: 300
- }
- }
- }
- }
- }
- attr {
- key: "transpose_a"
- value {
- b: true
- }
- }
- attr {
- key: "transpose_b"
- value {
- b: false
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden1/MatMul_grad/tuple/group_deps"
- op: "NoOp"
- input: "^train/gradients/dnn/hidden1/MatMul_grad/MatMul"
- input: "^train/gradients/dnn/hidden1/MatMul_grad/MatMul_1"
- }
- node {
- name: "train/gradients/dnn/hidden1/MatMul_grad/tuple/control_dependency"
- op: "Identity"
- input: "train/gradients/dnn/hidden1/MatMul_grad/MatMul"
- input: "^train/gradients/dnn/hidden1/MatMul_grad/tuple/group_deps"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@train/gradients/dnn/hidden1/MatMul_grad/MatMul"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 784
- }
- }
- }
- }
- }
- }
- node {
- name: "train/gradients/dnn/hidden1/MatMul_grad/tuple/control_dependency_1"
- op: "Identity"
- input: "train/gradients/dnn/hidden1/MatMul_grad/MatMul_1"
- input: "^train/gradients/dnn/hidden1/MatMul_grad/tuple/group_deps"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@train/gradients/dnn/hidden1/MatMul_grad/MatMul_1"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 784
- }
- dim {
- size: 300
- }
- }
- }
- }
- }
- }
- node {
- name: "train/GradientDescent/learning_rate"
- 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.009999999776482582
- }
- }
- }
- }
- node {
- name: "train/GradientDescent/update_dnn/hidden1/weights/ApplyGradientDescent"
- op: "ApplyGradientDescent"
- input: "dnn/hidden1/weights"
- input: "train/GradientDescent/learning_rate"
- input: "train/gradients/dnn/hidden1/MatMul_grad/tuple/control_dependency_1"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@dnn/hidden1/weights"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 784
- }
- dim {
- size: 300
- }
- }
- }
- }
- }
- attr {
- key: "use_locking"
- value {
- b: false
- }
- }
- }
- node {
- name: "train/GradientDescent/update_dnn/hidden1/bias/ApplyGradientDescent"
- op: "ApplyGradientDescent"
- input: "dnn/hidden1/bias"
- input: "train/GradientDescent/learning_rate"
- input: "train/gradients/dnn/hidden1/add_grad/tuple/control_dependency_1"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@dnn/hidden1/bias"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 300
- }
- }
- }
- }
- }
- attr {
- key: "use_locking"
- value {
- b: false
- }
- }
- }
- node {
- name: "train/GradientDescent/update_dnn/hidden2/weights/ApplyGradientDescent"
- op: "ApplyGradientDescent"
- input: "dnn/hidden2/weights"
- input: "train/GradientDescent/learning_rate"
- input: "train/gradients/dnn/hidden2/MatMul_grad/tuple/control_dependency_1"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@dnn/hidden2/weights"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 300
- }
- dim {
- size: 100
- }
- }
- }
- }
- }
- attr {
- key: "use_locking"
- value {
- b: false
- }
- }
- }
- node {
- name: "train/GradientDescent/update_dnn/hidden2/bias/ApplyGradientDescent"
- op: "ApplyGradientDescent"
- input: "dnn/hidden2/bias"
- input: "train/GradientDescent/learning_rate"
- input: "train/gradients/dnn/hidden2/add_grad/tuple/control_dependency_1"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@dnn/hidden2/bias"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 100
- }
- }
- }
- }
- }
- attr {
- key: "use_locking"
- value {
- b: false
- }
- }
- }
- node {
- name: "train/GradientDescent/update_dnn/outputs/weights/ApplyGradientDescent"
- op: "ApplyGradientDescent"
- input: "dnn/outputs/weights"
- input: "train/GradientDescent/learning_rate"
- input: "train/gradients/dnn/outputs/MatMul_grad/tuple/control_dependency_1"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@dnn/outputs/weights"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 100
- }
- dim {
- size: 10
- }
- }
- }
- }
- }
- attr {
- key: "use_locking"
- value {
- b: false
- }
- }
- }
- node {
- name: "train/GradientDescent/update_dnn/outputs/bias/ApplyGradientDescent"
- op: "ApplyGradientDescent"
- input: "dnn/outputs/bias"
- input: "train/GradientDescent/learning_rate"
- input: "train/gradients/dnn/outputs/add_grad/tuple/control_dependency_1"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@dnn/outputs/bias"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 10
- }
- }
- }
- }
- }
- attr {
- key: "use_locking"
- value {
- b: false
- }
- }
- }
- node {
- name: "train/GradientDescent"
- op: "NoOp"
- input: "^train/GradientDescent/update_dnn/hidden1/weights/ApplyGradientDescent"
- input: "^train/GradientDescent/update_dnn/hidden1/bias/ApplyGradientDescent"
- input: "^train/GradientDescent/update_dnn/hidden2/weights/ApplyGradientDescent"
- input: "^train/GradientDescent/update_dnn/hidden2/bias/ApplyGradientDescent"
- input: "^train/GradientDescent/update_dnn/outputs/weights/ApplyGradientDescent"
- input: "^train/GradientDescent/update_dnn/outputs/bias/ApplyGradientDescent"
- }
- node {
- name: "eval/in_top_k/InTopKV2/k"
- op: "Const"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_INT64
- }
- }
- attr {
- key: "value"
- value {
- tensor {
- dtype: DT_INT64
- tensor_shape {
- }
- int64_val: 1
- }
- }
- }
- }
- node {
- name: "eval/in_top_k/InTopKV2"
- op: "InTopKV2"
- input: "dnn/outputs/add"
- input: "y"
- input: "eval/in_top_k/InTopKV2/k"
- attr {
- key: "T"
- value {
- type: DT_INT64
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- }
- }
- }
- }
- }
- node {
- name: "eval/Cast"
- op: "Cast"
- input: "eval/in_top_k/InTopKV2"
- attr {
- key: "DstT"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "SrcT"
- value {
- type: DT_BOOL
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- }
- }
- }
- }
- }
- node {
- name: "eval/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: "eval/Mean"
- op: "Mean"
- input: "eval/Cast"
- input: "eval/Const"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "Tidx"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- }
- }
- }
- }
- attr {
- key: "keep_dims"
- value {
- b: false
- }
- }
- }
- node {
- name: "init"
- op: "NoOp"
- input: "^dnn/hidden1/weights/Assign"
- input: "^dnn/hidden1/bias/Assign"
- input: "^dnn/hidden2/weights/Assign"
- input: "^dnn/hidden2/bias/Assign"
- input: "^dnn/outputs/weights/Assign"
- input: "^dnn/outputs/bias/Assign"
- }
- node {
- name: "Accuracy/tags"
- op: "Const"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_STRING
- }
- }
- attr {
- key: "value"
- value {
- tensor {
- dtype: DT_STRING
- tensor_shape {
- }
- string_val: "Accuracy"
- }
- }
- }
- }
- node {
- name: "Accuracy"
- op: "ScalarSummary"
- input: "Accuracy/tags"
- input: "eval/Mean"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- }
- }
- }
- }
- }
- node {
- name: "save/Const"
- op: "Const"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_STRING
- }
- }
- attr {
- key: "value"
- value {
- tensor {
- dtype: DT_STRING
- tensor_shape {
- }
- string_val: "model"
- }
- }
- }
- }
- node {
- name: "save/StringJoin/inputs_1"
- op: "Const"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_STRING
- }
- }
- attr {
- key: "value"
- value {
- tensor {
- dtype: DT_STRING
- tensor_shape {
- }
- string_val: "_temp_af8f34e037d9459f96200d29e33a7078/part"
- }
- }
- }
- }
- node {
- name: "save/StringJoin"
- op: "StringJoin"
- input: "save/Const"
- input: "save/StringJoin/inputs_1"
- attr {
- key: "N"
- value {
- i: 2
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- }
- }
- }
- }
- attr {
- key: "separator"
- value {
- s: ""
- }
- }
- }
- node {
- name: "save/num_shards"
- 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: "save/ShardedFilename/shard"
- 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: 0
- }
- }
- }
- }
- node {
- name: "save/ShardedFilename"
- op: "ShardedFilename"
- input: "save/StringJoin"
- input: "save/ShardedFilename/shard"
- input: "save/num_shards"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- }
- }
- }
- }
- }
- node {
- name: "save/SaveV2/tensor_names"
- op: "Const"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 6
- }
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_STRING
- }
- }
- attr {
- key: "value"
- value {
- tensor {
- dtype: DT_STRING
- tensor_shape {
- dim {
- size: 6
- }
- }
- string_val: "dnn/hidden1/bias"
- string_val: "dnn/hidden1/weights"
- string_val: "dnn/hidden2/bias"
- string_val: "dnn/hidden2/weights"
- string_val: "dnn/outputs/bias"
- string_val: "dnn/outputs/weights"
- }
- }
- }
- }
- node {
- name: "save/SaveV2/shape_and_slices"
- op: "Const"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 6
- }
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_STRING
- }
- }
- attr {
- key: "value"
- value {
- tensor {
- dtype: DT_STRING
- tensor_shape {
- dim {
- size: 6
- }
- }
- string_val: ""
- string_val: ""
- string_val: ""
- string_val: ""
- string_val: ""
- string_val: ""
- }
- }
- }
- }
- node {
- name: "save/SaveV2"
- op: "SaveV2"
- input: "save/ShardedFilename"
- input: "save/SaveV2/tensor_names"
- input: "save/SaveV2/shape_and_slices"
- input: "dnn/hidden1/bias"
- input: "dnn/hidden1/weights"
- input: "dnn/hidden2/bias"
- input: "dnn/hidden2/weights"
- input: "dnn/outputs/bias"
- input: "dnn/outputs/weights"
- attr {
- key: "dtypes"
- value {
- list {
- type: DT_FLOAT
- type: DT_FLOAT
- type: DT_FLOAT
- type: DT_FLOAT
- type: DT_FLOAT
- type: DT_FLOAT
- }
- }
- }
- }
- node {
- name: "save/control_dependency"
- op: "Identity"
- input: "save/ShardedFilename"
- input: "^save/SaveV2"
- attr {
- key: "T"
- value {
- type: DT_STRING
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@save/ShardedFilename"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- }
- }
- }
- }
- }
- node {
- name: "save/MergeV2Checkpoints/checkpoint_prefixes"
- op: "Pack"
- input: "save/ShardedFilename"
- input: "^save/control_dependency"
- attr {
- key: "N"
- value {
- i: 1
- }
- }
- attr {
- key: "T"
- value {
- type: DT_STRING
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 1
- }
- }
- }
- }
- }
- attr {
- key: "axis"
- value {
- i: 0
- }
- }
- }
- node {
- name: "save/MergeV2Checkpoints"
- op: "MergeV2Checkpoints"
- input: "save/MergeV2Checkpoints/checkpoint_prefixes"
- input: "save/Const"
- attr {
- key: "delete_old_dirs"
- value {
- b: true
- }
- }
- }
- node {
- name: "save/Identity"
- op: "Identity"
- input: "save/Const"
- input: "^save/control_dependency"
- input: "^save/MergeV2Checkpoints"
- attr {
- key: "T"
- value {
- type: DT_STRING
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- }
- }
- }
- }
- }
- node {
- name: "save/RestoreV2/tensor_names"
- op: "Const"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 1
- }
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_STRING
- }
- }
- attr {
- key: "value"
- value {
- tensor {
- dtype: DT_STRING
- tensor_shape {
- dim {
- size: 1
- }
- }
- string_val: "dnn/hidden1/bias"
- }
- }
- }
- }
- node {
- name: "save/RestoreV2/shape_and_slices"
- op: "Const"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 1
- }
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_STRING
- }
- }
- attr {
- key: "value"
- value {
- tensor {
- dtype: DT_STRING
- tensor_shape {
- dim {
- size: 1
- }
- }
- string_val: ""
- }
- }
- }
- }
- node {
- name: "save/RestoreV2"
- op: "RestoreV2"
- input: "save/Const"
- input: "save/RestoreV2/tensor_names"
- input: "save/RestoreV2/shape_and_slices"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- unknown_rank: true
- }
- }
- }
- }
- attr {
- key: "dtypes"
- value {
- list {
- type: DT_FLOAT
- }
- }
- }
- }
- node {
- name: "save/Assign"
- op: "Assign"
- input: "dnn/hidden1/bias"
- input: "save/RestoreV2"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@dnn/hidden1/bias"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 300
- }
- }
- }
- }
- }
- attr {
- key: "use_locking"
- value {
- b: true
- }
- }
- attr {
- key: "validate_shape"
- value {
- b: true
- }
- }
- }
- node {
- name: "save/RestoreV2_1/tensor_names"
- op: "Const"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 1
- }
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_STRING
- }
- }
- attr {
- key: "value"
- value {
- tensor {
- dtype: DT_STRING
- tensor_shape {
- dim {
- size: 1
- }
- }
- string_val: "dnn/hidden1/weights"
- }
- }
- }
- }
- node {
- name: "save/RestoreV2_1/shape_and_slices"
- op: "Const"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 1
- }
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_STRING
- }
- }
- attr {
- key: "value"
- value {
- tensor {
- dtype: DT_STRING
- tensor_shape {
- dim {
- size: 1
- }
- }
- string_val: ""
- }
- }
- }
- }
- node {
- name: "save/RestoreV2_1"
- op: "RestoreV2"
- input: "save/Const"
- input: "save/RestoreV2_1/tensor_names"
- input: "save/RestoreV2_1/shape_and_slices"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- unknown_rank: true
- }
- }
- }
- }
- attr {
- key: "dtypes"
- value {
- list {
- type: DT_FLOAT
- }
- }
- }
- }
- node {
- name: "save/Assign_1"
- op: "Assign"
- input: "dnn/hidden1/weights"
- input: "save/RestoreV2_1"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@dnn/hidden1/weights"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 784
- }
- dim {
- size: 300
- }
- }
- }
- }
- }
- attr {
- key: "use_locking"
- value {
- b: true
- }
- }
- attr {
- key: "validate_shape"
- value {
- b: true
- }
- }
- }
- node {
- name: "save/RestoreV2_2/tensor_names"
- op: "Const"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 1
- }
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_STRING
- }
- }
- attr {
- key: "value"
- value {
- tensor {
- dtype: DT_STRING
- tensor_shape {
- dim {
- size: 1
- }
- }
- string_val: "dnn/hidden2/bias"
- }
- }
- }
- }
- node {
- name: "save/RestoreV2_2/shape_and_slices"
- op: "Const"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 1
- }
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_STRING
- }
- }
- attr {
- key: "value"
- value {
- tensor {
- dtype: DT_STRING
- tensor_shape {
- dim {
- size: 1
- }
- }
- string_val: ""
- }
- }
- }
- }
- node {
- name: "save/RestoreV2_2"
- op: "RestoreV2"
- input: "save/Const"
- input: "save/RestoreV2_2/tensor_names"
- input: "save/RestoreV2_2/shape_and_slices"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- unknown_rank: true
- }
- }
- }
- }
- attr {
- key: "dtypes"
- value {
- list {
- type: DT_FLOAT
- }
- }
- }
- }
- node {
- name: "save/Assign_2"
- op: "Assign"
- input: "dnn/hidden2/bias"
- input: "save/RestoreV2_2"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@dnn/hidden2/bias"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 100
- }
- }
- }
- }
- }
- attr {
- key: "use_locking"
- value {
- b: true
- }
- }
- attr {
- key: "validate_shape"
- value {
- b: true
- }
- }
- }
- node {
- name: "save/RestoreV2_3/tensor_names"
- op: "Const"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 1
- }
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_STRING
- }
- }
- attr {
- key: "value"
- value {
- tensor {
- dtype: DT_STRING
- tensor_shape {
- dim {
- size: 1
- }
- }
- string_val: "dnn/hidden2/weights"
- }
- }
- }
- }
- node {
- name: "save/RestoreV2_3/shape_and_slices"
- op: "Const"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 1
- }
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_STRING
- }
- }
- attr {
- key: "value"
- value {
- tensor {
- dtype: DT_STRING
- tensor_shape {
- dim {
- size: 1
- }
- }
- string_val: ""
- }
- }
- }
- }
- node {
- name: "save/RestoreV2_3"
- op: "RestoreV2"
- input: "save/Const"
- input: "save/RestoreV2_3/tensor_names"
- input: "save/RestoreV2_3/shape_and_slices"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- unknown_rank: true
- }
- }
- }
- }
- attr {
- key: "dtypes"
- value {
- list {
- type: DT_FLOAT
- }
- }
- }
- }
- node {
- name: "save/Assign_3"
- op: "Assign"
- input: "dnn/hidden2/weights"
- input: "save/RestoreV2_3"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@dnn/hidden2/weights"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 300
- }
- dim {
- size: 100
- }
- }
- }
- }
- }
- attr {
- key: "use_locking"
- value {
- b: true
- }
- }
- attr {
- key: "validate_shape"
- value {
- b: true
- }
- }
- }
- node {
- name: "save/RestoreV2_4/tensor_names"
- op: "Const"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 1
- }
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_STRING
- }
- }
- attr {
- key: "value"
- value {
- tensor {
- dtype: DT_STRING
- tensor_shape {
- dim {
- size: 1
- }
- }
- string_val: "dnn/outputs/bias"
- }
- }
- }
- }
- node {
- name: "save/RestoreV2_4/shape_and_slices"
- op: "Const"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 1
- }
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_STRING
- }
- }
- attr {
- key: "value"
- value {
- tensor {
- dtype: DT_STRING
- tensor_shape {
- dim {
- size: 1
- }
- }
- string_val: ""
- }
- }
- }
- }
- node {
- name: "save/RestoreV2_4"
- op: "RestoreV2"
- input: "save/Const"
- input: "save/RestoreV2_4/tensor_names"
- input: "save/RestoreV2_4/shape_and_slices"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- unknown_rank: true
- }
- }
- }
- }
- attr {
- key: "dtypes"
- value {
- list {
- type: DT_FLOAT
- }
- }
- }
- }
- node {
- name: "save/Assign_4"
- op: "Assign"
- input: "dnn/outputs/bias"
- input: "save/RestoreV2_4"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@dnn/outputs/bias"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 10
- }
- }
- }
- }
- }
- attr {
- key: "use_locking"
- value {
- b: true
- }
- }
- attr {
- key: "validate_shape"
- value {
- b: true
- }
- }
- }
- node {
- name: "save/RestoreV2_5/tensor_names"
- op: "Const"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 1
- }
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_STRING
- }
- }
- attr {
- key: "value"
- value {
- tensor {
- dtype: DT_STRING
- tensor_shape {
- dim {
- size: 1
- }
- }
- string_val: "dnn/outputs/weights"
- }
- }
- }
- }
- node {
- name: "save/RestoreV2_5/shape_and_slices"
- op: "Const"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 1
- }
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_STRING
- }
- }
- attr {
- key: "value"
- value {
- tensor {
- dtype: DT_STRING
- tensor_shape {
- dim {
- size: 1
- }
- }
- string_val: ""
- }
- }
- }
- }
- node {
- name: "save/RestoreV2_5"
- op: "RestoreV2"
- input: "save/Const"
- input: "save/RestoreV2_5/tensor_names"
- input: "save/RestoreV2_5/shape_and_slices"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- unknown_rank: true
- }
- }
- }
- }
- attr {
- key: "dtypes"
- value {
- list {
- type: DT_FLOAT
- }
- }
- }
- }
- node {
- name: "save/Assign_5"
- op: "Assign"
- input: "dnn/outputs/weights"
- input: "save/RestoreV2_5"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@dnn/outputs/weights"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 100
- }
- dim {
- size: 10
- }
- }
- }
- }
- }
- attr {
- key: "use_locking"
- value {
- b: true
- }
- }
- attr {
- key: "validate_shape"
- value {
- b: true
- }
- }
- }
- node {
- name: "save/restore_shard"
- op: "NoOp"
- input: "^save/Assign"
- input: "^save/Assign_1"
- input: "^save/Assign_2"
- input: "^save/Assign_3"
- input: "^save/Assign_4"
- input: "^save/Assign_5"
- }
- node {
- name: "save/restore_all"
- op: "NoOp"
- input: "^save/restore_shard"
- }
- versions {
- producer: 24
- }
- }
- saver_def {
- filename_tensor_name: "save/Const:0"
- save_tensor_name: "save/Identity:0"
- restore_op_name: "save/restore_all"
- max_to_keep: 5
- sharded: true
- keep_checkpoint_every_n_hours: 10000.0
- version: V2
- }
- collection_def {
- key: "summaries"
- value {
- node_list {
- value: "Accuracy:0"
- }
- }
- }
- collection_def {
- key: "train_op"
- value {
- node_list {
- value: "train/GradientDescent"
- }
- }
- }
- collection_def {
- key: "trainable_variables"
- value {
- bytes_list {
- value: "\n\025dnn/hidden1/weights:0\022\032dnn/hidden1/weights/Assign\032\032dnn/hidden1/weights/read:02\036dnn/hidden1/truncated_normal:0"
- value: "\n\022dnn/hidden1/bias:0\022\027dnn/hidden1/bias/Assign\032\027dnn/hidden1/bias/read:02\023dnn/hidden1/zeros:0"
- value: "\n\025dnn/hidden2/weights:0\022\032dnn/hidden2/weights/Assign\032\032dnn/hidden2/weights/read:02\036dnn/hidden2/truncated_normal:0"
- value: "\n\022dnn/hidden2/bias:0\022\027dnn/hidden2/bias/Assign\032\027dnn/hidden2/bias/read:02\023dnn/hidden2/zeros:0"
- value: "\n\025dnn/outputs/weights:0\022\032dnn/outputs/weights/Assign\032\032dnn/outputs/weights/read:02\036dnn/outputs/truncated_normal:0"
- value: "\n\022dnn/outputs/bias:0\022\027dnn/outputs/bias/Assign\032\027dnn/outputs/bias/read:02\023dnn/outputs/zeros:0"
- }
- }
- }
- collection_def {
- key: "variables"
- value {
- bytes_list {
- value: "\n\025dnn/hidden1/weights:0\022\032dnn/hidden1/weights/Assign\032\032dnn/hidden1/weights/read:02\036dnn/hidden1/truncated_normal:0"
- value: "\n\022dnn/hidden1/bias:0\022\027dnn/hidden1/bias/Assign\032\027dnn/hidden1/bias/read:02\023dnn/hidden1/zeros:0"
- value: "\n\025dnn/hidden2/weights:0\022\032dnn/hidden2/weights/Assign\032\032dnn/hidden2/weights/read:02\036dnn/hidden2/truncated_normal:0"
- value: "\n\022dnn/hidden2/bias:0\022\027dnn/hidden2/bias/Assign\032\027dnn/hidden2/bias/read:02\023dnn/hidden2/zeros:0"
- value: "\n\025dnn/outputs/weights:0\022\032dnn/outputs/weights/Assign\032\032dnn/outputs/weights/read:02\036dnn/outputs/truncated_normal:0"
- value: "\n\022dnn/outputs/bias:0\022\027dnn/outputs/bias/Assign\032\027dnn/outputs/bias/read:02\023dnn/outputs/zeros:0"
- }
- }
- }
- signature_def {
- key: "serving_default"
- value {
- inputs {
- key: "x"
- value {
- name: "input:0"
- dtype: DT_FLOAT
- tensor_shape {
- dim {
- size: -1
- }
- dim {
- size: 784
- }
- }
- }
- }
- outputs {
- key: "y"
- value {
- name: "dnn/outputs/add:0"
- dtype: DT_FLOAT
- tensor_shape {
- dim {
- size: -1
- }
- dim {
- size: 10
- }
- }
- }
- }
- method_name: "tensorflow/serving/predict"
- }
- }
-}
diff --git a/application/src/test/app-packages/model-evaluation/models/tensorflow/mnist/saved/variables/variables.data-00000-of-00001 b/application/src/test/app-packages/model-evaluation/models/tensorflow/mnist/saved/variables/variables.data-00000-of-00001
deleted file mode 100644
index ed4af6c0f8c..00000000000
--- a/application/src/test/app-packages/model-evaluation/models/tensorflow/mnist/saved/variables/variables.data-00000-of-00001
+++ /dev/null
Binary files differ
diff --git a/application/src/test/app-packages/model-evaluation/models/tensorflow/mnist/saved/variables/variables.index b/application/src/test/app-packages/model-evaluation/models/tensorflow/mnist/saved/variables/variables.index
deleted file mode 100644
index c877b02b42a..00000000000
--- a/application/src/test/app-packages/model-evaluation/models/tensorflow/mnist/saved/variables/variables.index
+++ /dev/null
Binary files differ
diff --git a/application/src/test/app-packages/model-evaluation/models/tensorflow/mnist/simple_mnist.py b/application/src/test/app-packages/model-evaluation/models/tensorflow/mnist/simple_mnist.py
deleted file mode 100644
index 7494e93fa71..00000000000
--- a/application/src/test/app-packages/model-evaluation/models/tensorflow/mnist/simple_mnist.py
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-
-# Common imports
-import numpy as np
-import tensorflow as tf
-
-from tensorflow.examples.tutorials.mnist import input_data
-from datetime import datetime
-
-now = datetime.utcnow().strftime("%Y%m%d%H%M%S")
-root_logdir = "tf_logs"
-logdir = "{}/run-{}/".format(root_logdir, now)
-
-mnist = input_data.read_data_sets("/tmp/data/")
-X_train = mnist.train.images
-X_test = mnist.test.images
-y_train = mnist.train.labels.astype("int")
-y_test = mnist.test.labels.astype("int")
-
-n_inputs = 28*28 # MNIST
-n_hidden1 = 300
-n_hidden2 = 100
-n_hidden3 = 40
-n_outputs = 10
-
-learning_rate = 0.01
-n_epochs = 20
-batch_size = 50
-
-input = tf.placeholder(tf.float32, shape=(None, n_inputs), name="input")
-y = tf.placeholder(tf.int64, shape=(None), name="y")
-
-
-def neuron_layer(X, n_neurons, name, activation=None):
- with tf.name_scope(name):
- n_inputs = int(X.get_shape()[1])
- stddev = 2 / np.sqrt(n_inputs)
- init = tf.truncated_normal((n_inputs, n_neurons), stddev=stddev)
- W = tf.Variable(init, name="weights")
- b = tf.Variable(tf.zeros([n_neurons]), name="bias")
- Z = tf.matmul(X, W) + b
- if activation is not None:
- return activation(Z)
- else:
- return Z
-
-
-def leaky_relu(z, name=None):
- return tf.maximum(0.01 * z, z, name=name)
-
-def leaky_relu_with_small_constant(z, name=None):
- return tf.maximum(tf.constant(0.01, shape=[1]) * z, z, name=name)
-
-with tf.name_scope("dnn"):
- hidden1 = neuron_layer(input, n_hidden1, name="hidden1", activation=leaky_relu)
- hidden2 = neuron_layer(hidden1, n_hidden2, name="hidden2", activation=leaky_relu_with_small_constant)
- logits = neuron_layer(hidden2, n_outputs, name="outputs") #, activation=tf.nn.sigmoid)
-
-with tf.name_scope("loss"):
- xentropy = tf.nn.sparse_softmax_cross_entropy_with_logits(labels=y, logits=logits)
- loss = tf.reduce_mean(xentropy, name="loss")
-
-with tf.name_scope("train"):
- optimizer = tf.train.GradientDescentOptimizer(learning_rate)
- training_op = optimizer.minimize(loss)
-
-with tf.name_scope("eval"):
- correct = tf.nn.in_top_k(logits, y, 1)
- accuracy = tf.reduce_mean(tf.cast(correct, tf.float32))
-
-init = tf.global_variables_initializer()
-accuracy_summary = tf.summary.scalar('Accuracy', accuracy)
-file_writer = tf.summary.FileWriter(logdir, tf.get_default_graph())
-
-with tf.Session() as sess:
- init.run()
- for epoch in range(n_epochs):
- for iteration in range(mnist.train.num_examples // batch_size):
- X_batch, y_batch = mnist.train.next_batch(batch_size)
- sess.run(training_op, feed_dict={input: X_batch, y: y_batch})
- acc_train = accuracy.eval(feed_dict={input: X_batch, y: y_batch})
- acc_val = accuracy.eval(feed_dict={input: mnist.validation.images,
- y: mnist.validation.labels})
- print(epoch, "Train accuracy:", acc_train, "Val accuracy:", acc_val)
-
- # Save summary for tensorboard
- summary_str = accuracy_summary.eval(feed_dict={input: mnist.validation.images,
- y: mnist.validation.labels})
- file_writer.add_summary(summary_str, epoch)
-
- export_path = "saved"
- print('Exporting trained model to ', export_path)
- builder = tf.saved_model.builder.SavedModelBuilder(export_path)
- signature = tf.saved_model.signature_def_utils.predict_signature_def(inputs = {'x':input}, outputs = {'y':logits})
- builder.add_meta_graph_and_variables(sess,
- [tf.saved_model.tag_constants.SERVING],
- signature_def_map={'serving_default':signature})
- builder.save(as_text=True)
-
-file_writer.close()
diff --git a/application/src/test/app-packages/model-evaluation/models/tensorflow/mnist_softmax/mnist_sftmax_with_saving.py b/application/src/test/app-packages/model-evaluation/models/tensorflow/mnist_softmax/mnist_sftmax_with_saving.py
deleted file mode 100644
index 3f4f794d2ac..00000000000
--- a/application/src/test/app-packages/model-evaluation/models/tensorflow/mnist_softmax/mnist_sftmax_with_saving.py
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 2018 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-# Copyright 2015 The TensorFlow Authors. All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-# ==============================================================================
-
-"""A very simple MNIST classifier.
-
-See extensive documentation at
-https://www.tensorflow.org/get_started/mnist/beginners
-"""
-from __future__ import absolute_import
-from __future__ import division
-from __future__ import print_function
-
-import argparse
-import sys
-
-from tensorflow.examples.tutorials.mnist import input_data
-
-import tensorflow as tf
-
-FLAGS = None
-
-
-def main(_):
- # Import data
- mnist = input_data.read_data_sets(FLAGS.data_dir, one_hot=True)
-
- # Create the model
- x = tf.placeholder(tf.float32, [None, 784])
-
- with tf.name_scope("layer"):
- W = tf.Variable(tf.zeros([784, 10]))
- b = tf.Variable(tf.zeros([10]))
- y = tf.matmul(x, W) + b
-
-
- # Define loss and optimizer
- y_ = tf.placeholder(tf.float32, [None, 10])
-
- # The raw formulation of cross-entropy,
- #
- # tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(tf.nn.softmax(y)),
- # reduction_indices=[1]))
- #
- # can be numerically unstable.
- #
- # So here we use tf.nn.softmax_cross_entropy_with_logits on the raw
- # outputs of 'y', and then average across the batch.
- cross_entropy = tf.reduce_mean(
- tf.nn.softmax_cross_entropy_with_logits(labels=y_, logits=y))
- train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)
-
- sess = tf.InteractiveSession()
- tf.global_variables_initializer().run()
- # Train
- for _ in range(1000):
- batch_xs, batch_ys = mnist.train.next_batch(100)
- sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys})
-
- # Test trained model
- correct_prediction = tf.equal(tf.argmax(y, 1), tf.argmax(y_, 1))
- accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
- print(sess.run(accuracy, feed_dict={x: mnist.test.images,
- y_: mnist.test.labels}))
-
- # Save the model
- export_path = "saved"
- print('Exporting trained model to ', export_path)
- builder = tf.saved_model.builder.SavedModelBuilder(export_path)
- signature = tf.saved_model.signature_def_utils.predict_signature_def(inputs = {'x':x}, outputs = {'y':y})
- builder.add_meta_graph_and_variables(sess,
- [tf.saved_model.tag_constants.SERVING],
- signature_def_map={'serving_default':signature})
- builder.save(as_text=True)
-
-if __name__ == '__main__':
- parser = argparse.ArgumentParser()
- parser.add_argument('--data_dir', type=str, default='/tmp/tensorflow/mnist/input_data',
- help='Directory for storing input data')
- FLAGS, unparsed = parser.parse_known_args()
- tf.app.run(main=main, argv=[sys.argv[0]] + unparsed)
diff --git a/application/src/test/app-packages/model-evaluation/models/tensorflow/mnist_softmax/saved/saved_model.pbtxt b/application/src/test/app-packages/model-evaluation/models/tensorflow/mnist_softmax/saved/saved_model.pbtxt
deleted file mode 100644
index 05b0e4e0f29..00000000000
--- a/application/src/test/app-packages/model-evaluation/models/tensorflow/mnist_softmax/saved/saved_model.pbtxt
+++ /dev/null
@@ -1,5039 +0,0 @@
-saved_model_schema_version: 1
-meta_graphs {
- 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: "ApplyGradientDescent"
- input_arg {
- name: "var"
- type_attr: "T"
- is_ref: true
- }
- input_arg {
- name: "alpha"
- type_attr: "T"
- }
- input_arg {
- name: "delta"
- type_attr: "T"
- }
- output_arg {
- name: "out"
- type_attr: "T"
- is_ref: true
- }
- 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: "use_locking"
- type: "bool"
- default_value {
- b: false
- }
- }
- }
- op {
- name: "ArgMax"
- input_arg {
- name: "input"
- type_attr: "T"
- }
- input_arg {
- name: "dimension"
- type_attr: "Tidx"
- }
- output_arg {
- name: "output"
- type_attr: "output_type"
- }
- 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
- }
- }
- }
- attr {
- name: "output_type"
- type: "type"
- default_value {
- type: DT_INT64
- }
- allowed_values {
- list {
- type: DT_INT32
- type: DT_INT64
- }
- }
- }
- }
- 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: "BroadcastGradientArgs"
- input_arg {
- name: "s0"
- type_attr: "T"
- }
- input_arg {
- name: "s1"
- type_attr: "T"
- }
- output_arg {
- name: "r0"
- type_attr: "T"
- }
- output_arg {
- name: "r1"
- type_attr: "T"
- }
- attr {
- name: "T"
- type: "type"
- default_value {
- type: DT_INT32
- }
- allowed_values {
- list {
- type: DT_INT32
- type: DT_INT64
- }
- }
- }
- }
- op {
- name: "Cast"
- input_arg {
- name: "x"
- type_attr: "SrcT"
- }
- output_arg {
- name: "y"
- type_attr: "DstT"
- }
- attr {
- name: "SrcT"
- type: "type"
- }
- attr {
- name: "DstT"
- type: "type"
- }
- }
- op {
- name: "ConcatV2"
- input_arg {
- name: "values"
- type_attr: "T"
- number_attr: "N"
- }
- input_arg {
- name: "axis"
- type_attr: "Tidx"
- }
- output_arg {
- name: "output"
- type_attr: "T"
- }
- attr {
- name: "N"
- type: "int"
- has_minimum: true
- minimum: 2
- }
- attr {
- name: "T"
- type: "type"
- }
- attr {
- name: "Tidx"
- type: "type"
- default_value {
- type: DT_INT32
- }
- allowed_values {
- list {
- type: DT_INT32
- type: DT_INT64
- }
- }
- }
- }
- op {
- name: "Const"
- output_arg {
- name: "output"
- type_attr: "dtype"
- }
- attr {
- name: "value"
- type: "tensor"
- }
- attr {
- name: "dtype"
- type: "type"
- }
- }
- op {
- name: "Equal"
- input_arg {
- name: "x"
- type_attr: "T"
- }
- input_arg {
- name: "y"
- type_attr: "T"
- }
- output_arg {
- name: "z"
- type: DT_BOOL
- }
- 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_QUINT8
- type: DT_QINT8
- type: DT_QINT32
- type: DT_STRING
- type: DT_BOOL
- type: DT_COMPLEX128
- }
- }
- }
- is_commutative: true
- }
- op {
- name: "ExpandDims"
- input_arg {
- name: "input"
- type_attr: "T"
- }
- input_arg {
- name: "dim"
- type_attr: "Tdim"
- }
- output_arg {
- name: "output"
- type_attr: "T"
- }
- attr {
- name: "T"
- type: "type"
- }
- attr {
- name: "Tdim"
- type: "type"
- default_value {
- type: DT_INT32
- }
- allowed_values {
- list {
- type: DT_INT32
- type: DT_INT64
- }
- }
- }
- }
- op {
- name: "Fill"
- input_arg {
- name: "dims"
- type: DT_INT32
- }
- input_arg {
- name: "value"
- type_attr: "T"
- }
- output_arg {
- name: "output"
- type_attr: "T"
- }
- attr {
- name: "T"
- type: "type"
- }
- }
- op {
- name: "FloorDiv"
- 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
- }
- }
- }
- }
- 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: "Maximum"
- 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_INT32
- type: DT_INT64
- }
- }
- }
- is_commutative: true
- }
- op {
- name: "Mean"
- 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: "MergeV2Checkpoints"
- input_arg {
- name: "checkpoint_prefixes"
- type: DT_STRING
- }
- input_arg {
- name: "destination_prefix"
- type: DT_STRING
- }
- attr {
- name: "delete_old_dirs"
- type: "bool"
- default_value {
- b: true
- }
- }
- is_stateful: true
- }
- 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: "NoOp"
- }
- 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: "RealDiv"
- 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
- }
- }
- }
- }
- 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: "RestoreV2"
- input_arg {
- name: "prefix"
- type: DT_STRING
- }
- input_arg {
- name: "tensor_names"
- type: DT_STRING
- }
- input_arg {
- name: "shape_and_slices"
- type: DT_STRING
- }
- output_arg {
- name: "tensors"
- type_list_attr: "dtypes"
- }
- attr {
- name: "dtypes"
- type: "list(type)"
- has_minimum: true
- minimum: 1
- }
- is_stateful: true
- }
- op {
- name: "SaveV2"
- input_arg {
- name: "prefix"
- type: DT_STRING
- }
- input_arg {
- name: "tensor_names"
- type: DT_STRING
- }
- input_arg {
- name: "shape_and_slices"
- type: DT_STRING
- }
- input_arg {
- name: "tensors"
- type_list_attr: "dtypes"
- }
- attr {
- name: "dtypes"
- type: "list(type)"
- has_minimum: true
- minimum: 1
- }
- is_stateful: true
- }
- op {
- name: "Shape"
- input_arg {
- name: "input"
- type_attr: "T"
- }
- output_arg {
- name: "output"
- type_attr: "out_type"
- }
- attr {
- name: "T"
- type: "type"
- }
- attr {
- name: "out_type"
- type: "type"
- default_value {
- type: DT_INT32
- }
- allowed_values {
- list {
- type: DT_INT32
- type: DT_INT64
- }
- }
- }
- }
- op {
- name: "ShardedFilename"
- input_arg {
- name: "basename"
- type: DT_STRING
- }
- input_arg {
- name: "shard"
- type: DT_INT32
- }
- input_arg {
- name: "num_shards"
- type: DT_INT32
- }
- output_arg {
- name: "filename"
- type: DT_STRING
- }
- }
- op {
- name: "Slice"
- input_arg {
- name: "input"
- type_attr: "T"
- }
- input_arg {
- name: "begin"
- type_attr: "Index"
- }
- input_arg {
- name: "size"
- 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
- }
- }
- }
- }
- op {
- name: "SoftmaxCrossEntropyWithLogits"
- input_arg {
- name: "features"
- type_attr: "T"
- }
- input_arg {
- name: "labels"
- type_attr: "T"
- }
- output_arg {
- name: "loss"
- type_attr: "T"
- }
- output_arg {
- name: "backprop"
- type_attr: "T"
- }
- attr {
- name: "T"
- type: "type"
- allowed_values {
- list {
- type: DT_HALF
- type: DT_FLOAT
- type: DT_DOUBLE
- }
- }
- }
- }
- op {
- name: "StringJoin"
- input_arg {
- name: "inputs"
- type: DT_STRING
- number_attr: "N"
- }
- output_arg {
- name: "output"
- type: DT_STRING
- }
- attr {
- name: "N"
- type: "int"
- has_minimum: true
- minimum: 1
- }
- attr {
- name: "separator"
- type: "string"
- default_value {
- s: ""
- }
- }
- }
- op {
- name: "Sub"
- 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
- }
- }
- }
- }
- op {
- name: "Sum"
- 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: "Tile"
- input_arg {
- name: "input"
- type_attr: "T"
- }
- input_arg {
- name: "multiples"
- type_attr: "Tmultiples"
- }
- output_arg {
- name: "output"
- type_attr: "T"
- }
- attr {
- name: "T"
- type: "type"
- }
- attr {
- name: "Tmultiples"
- type: "type"
- default_value {
- type: DT_INT32
- }
- allowed_values {
- list {
- type: DT_INT32
- type: DT_INT64
- }
- }
- }
- }
- 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
- }
- op {
- name: "ZerosLike"
- input_arg {
- name: "x"
- type_attr: "T"
- }
- output_arg {
- name: "y"
- type_attr: "T"
- }
- attr {
- name: "T"
- type: "type"
- }
- }
- }
- tags: "serve"
- tensorflow_version: "1.4.1"
- tensorflow_git_version: "v1.4.0-19-ga52c8d9"
- }
- graph_def {
- node {
- name: "Placeholder"
- op: "Placeholder"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 784
- }
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "shape"
- value {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 784
- }
- }
- }
- }
- }
- node {
- name: "Placeholder_1"
- op: "Placeholder"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 10
- }
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "shape"
- value {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 10
- }
- }
- }
- }
- }
- node {
- name: "layer/zeros"
- op: "Const"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 784
- }
- dim {
- size: 10
- }
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "value"
- value {
- tensor {
- dtype: DT_FLOAT
- tensor_shape {
- dim {
- size: 784
- }
- dim {
- size: 10
- }
- }
- float_val: 0.0
- }
- }
- }
- }
- node {
- name: "layer/Variable"
- op: "VariableV2"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 784
- }
- dim {
- size: 10
- }
- }
- }
- }
- }
- attr {
- key: "container"
- value {
- s: ""
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "shape"
- value {
- shape {
- dim {
- size: 784
- }
- dim {
- size: 10
- }
- }
- }
- }
- attr {
- key: "shared_name"
- value {
- s: ""
- }
- }
- }
- node {
- name: "layer/Variable/Assign"
- op: "Assign"
- input: "layer/Variable"
- input: "layer/zeros"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@layer/Variable"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 784
- }
- dim {
- size: 10
- }
- }
- }
- }
- }
- attr {
- key: "use_locking"
- value {
- b: true
- }
- }
- attr {
- key: "validate_shape"
- value {
- b: true
- }
- }
- }
- node {
- name: "layer/Variable/read"
- op: "Identity"
- input: "layer/Variable"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@layer/Variable"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 784
- }
- dim {
- size: 10
- }
- }
- }
- }
- }
- }
- node {
- name: "layer/zeros_1"
- op: "Const"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 10
- }
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "value"
- value {
- tensor {
- dtype: DT_FLOAT
- tensor_shape {
- dim {
- size: 10
- }
- }
- float_val: 0.0
- }
- }
- }
- }
- node {
- name: "layer/Variable_1"
- op: "VariableV2"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 10
- }
- }
- }
- }
- }
- attr {
- key: "container"
- value {
- s: ""
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "shape"
- value {
- shape {
- dim {
- size: 10
- }
- }
- }
- }
- attr {
- key: "shared_name"
- value {
- s: ""
- }
- }
- }
- node {
- name: "layer/Variable_1/Assign"
- op: "Assign"
- input: "layer/Variable_1"
- input: "layer/zeros_1"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@layer/Variable_1"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 10
- }
- }
- }
- }
- }
- attr {
- key: "use_locking"
- value {
- b: true
- }
- }
- attr {
- key: "validate_shape"
- value {
- b: true
- }
- }
- }
- node {
- name: "layer/Variable_1/read"
- op: "Identity"
- input: "layer/Variable_1"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@layer/Variable_1"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 10
- }
- }
- }
- }
- }
- }
- node {
- name: "layer/MatMul"
- op: "MatMul"
- input: "Placeholder"
- input: "layer/Variable/read"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 10
- }
- }
- }
- }
- }
- attr {
- key: "transpose_a"
- value {
- b: false
- }
- }
- attr {
- key: "transpose_b"
- value {
- b: false
- }
- }
- }
- node {
- name: "layer/add"
- op: "Add"
- input: "layer/MatMul"
- input: "layer/Variable_1/read"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 10
- }
- }
- }
- }
- }
- }
- node {
- name: "Rank"
- 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: 2
- }
- }
- }
- }
- node {
- name: "Shape"
- op: "Shape"
- input: "layer/add"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 2
- }
- }
- }
- }
- }
- attr {
- key: "out_type"
- value {
- type: DT_INT32
- }
- }
- }
- node {
- name: "Rank_1"
- 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: 2
- }
- }
- }
- }
- node {
- name: "Shape_1"
- op: "Shape"
- input: "layer/add"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 2
- }
- }
- }
- }
- }
- attr {
- key: "out_type"
- value {
- type: DT_INT32
- }
- }
- }
- node {
- name: "Sub/y"
- 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: "Sub"
- op: "Sub"
- input: "Rank_1"
- input: "Sub/y"
- attr {
- key: "T"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- }
- }
- }
- }
- }
- node {
- name: "Slice/begin"
- op: "Pack"
- input: "Sub"
- attr {
- key: "N"
- value {
- i: 1
- }
- }
- attr {
- key: "T"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 1
- }
- }
- }
- }
- }
- attr {
- key: "axis"
- value {
- i: 0
- }
- }
- }
- node {
- name: "Slice/size"
- 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: "Slice"
- op: "Slice"
- input: "Shape_1"
- input: "Slice/begin"
- input: "Slice/size"
- attr {
- key: "Index"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "T"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 1
- }
- }
- }
- }
- }
- }
- node {
- name: "concat/values_0"
- 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: "concat/axis"
- 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: 0
- }
- }
- }
- }
- node {
- name: "concat"
- op: "ConcatV2"
- input: "concat/values_0"
- input: "Slice"
- input: "concat/axis"
- attr {
- key: "N"
- value {
- i: 2
- }
- }
- attr {
- key: "T"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "Tidx"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 2
- }
- }
- }
- }
- }
- }
- node {
- name: "Reshape"
- op: "Reshape"
- input: "layer/add"
- input: "concat"
- 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: "Rank_2"
- 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: 2
- }
- }
- }
- }
- node {
- name: "Shape_2"
- op: "Shape"
- input: "Placeholder_1"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 2
- }
- }
- }
- }
- }
- attr {
- key: "out_type"
- value {
- type: DT_INT32
- }
- }
- }
- node {
- name: "Sub_1/y"
- 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: "Sub_1"
- op: "Sub"
- input: "Rank_2"
- input: "Sub_1/y"
- attr {
- key: "T"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- }
- }
- }
- }
- }
- node {
- name: "Slice_1/begin"
- op: "Pack"
- input: "Sub_1"
- attr {
- key: "N"
- value {
- i: 1
- }
- }
- attr {
- key: "T"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 1
- }
- }
- }
- }
- }
- attr {
- key: "axis"
- value {
- i: 0
- }
- }
- }
- node {
- name: "Slice_1/size"
- 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: "Slice_1"
- op: "Slice"
- input: "Shape_2"
- input: "Slice_1/begin"
- input: "Slice_1/size"
- attr {
- key: "Index"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "T"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 1
- }
- }
- }
- }
- }
- }
- node {
- name: "concat_1/values_0"
- 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: "concat_1/axis"
- 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: 0
- }
- }
- }
- }
- node {
- name: "concat_1"
- op: "ConcatV2"
- input: "concat_1/values_0"
- input: "Slice_1"
- input: "concat_1/axis"
- attr {
- key: "N"
- value {
- i: 2
- }
- }
- attr {
- key: "T"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "Tidx"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 2
- }
- }
- }
- }
- }
- }
- node {
- name: "Reshape_1"
- op: "Reshape"
- input: "Placeholder_1"
- input: "concat_1"
- 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: "SoftmaxCrossEntropyWithLogits"
- op: "SoftmaxCrossEntropyWithLogits"
- input: "Reshape"
- input: "Reshape_1"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- }
- shape {
- dim {
- size: -1
- }
- dim {
- size: -1
- }
- }
- }
- }
- }
- }
- node {
- name: "Sub_2/y"
- 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: "Sub_2"
- op: "Sub"
- input: "Rank"
- input: "Sub_2/y"
- attr {
- key: "T"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- }
- }
- }
- }
- }
- node {
- name: "Slice_2/begin"
- 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: "Slice_2/size"
- op: "Pack"
- input: "Sub_2"
- attr {
- key: "N"
- value {
- i: 1
- }
- }
- attr {
- key: "T"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 1
- }
- }
- }
- }
- }
- attr {
- key: "axis"
- value {
- i: 0
- }
- }
- }
- node {
- name: "Slice_2"
- op: "Slice"
- input: "Shape"
- input: "Slice_2/begin"
- input: "Slice_2/size"
- attr {
- key: "Index"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "T"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- }
- }
- }
- }
- }
- node {
- name: "Reshape_2"
- op: "Reshape"
- input: "SoftmaxCrossEntropyWithLogits"
- input: "Slice_2"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "Tshape"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- }
- }
- }
- }
- }
- node {
- name: "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: "Mean"
- op: "Mean"
- input: "Reshape_2"
- input: "Const"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "Tidx"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- }
- }
- }
- }
- attr {
- key: "keep_dims"
- value {
- b: false
- }
- }
- }
- node {
- name: "gradients/Shape"
- op: "Const"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- }
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "value"
- value {
- tensor {
- dtype: DT_INT32
- tensor_shape {
- dim {
- }
- }
- }
- }
- }
- }
- node {
- name: "gradients/Const"
- 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: 1.0
- }
- }
- }
- }
- node {
- name: "gradients/Fill"
- op: "Fill"
- input: "gradients/Shape"
- input: "gradients/Const"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- }
- }
- }
- }
- }
- node {
- name: "gradients/Mean_grad/Reshape/shape"
- 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: "gradients/Mean_grad/Reshape"
- op: "Reshape"
- input: "gradients/Fill"
- input: "gradients/Mean_grad/Reshape/shape"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "Tshape"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 1
- }
- }
- }
- }
- }
- }
- node {
- name: "gradients/Mean_grad/Shape"
- op: "Shape"
- input: "Reshape_2"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 1
- }
- }
- }
- }
- }
- attr {
- key: "out_type"
- value {
- type: DT_INT32
- }
- }
- }
- node {
- name: "gradients/Mean_grad/Tile"
- op: "Tile"
- input: "gradients/Mean_grad/Reshape"
- input: "gradients/Mean_grad/Shape"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "Tmultiples"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- }
- }
- }
- }
- }
- node {
- name: "gradients/Mean_grad/Shape_1"
- op: "Shape"
- input: "Reshape_2"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 1
- }
- }
- }
- }
- }
- attr {
- key: "out_type"
- value {
- type: DT_INT32
- }
- }
- }
- node {
- name: "gradients/Mean_grad/Shape_2"
- op: "Const"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- }
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "value"
- value {
- tensor {
- dtype: DT_INT32
- tensor_shape {
- dim {
- }
- }
- }
- }
- }
- }
- node {
- name: "gradients/Mean_grad/Const"
- op: "Const"
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@gradients/Mean_grad/Shape_1"
- }
- }
- }
- 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: "gradients/Mean_grad/Prod"
- op: "Prod"
- input: "gradients/Mean_grad/Shape_1"
- input: "gradients/Mean_grad/Const"
- attr {
- key: "T"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "Tidx"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@gradients/Mean_grad/Shape_1"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- }
- }
- }
- }
- attr {
- key: "keep_dims"
- value {
- b: false
- }
- }
- }
- node {
- name: "gradients/Mean_grad/Const_1"
- op: "Const"
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@gradients/Mean_grad/Shape_1"
- }
- }
- }
- 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: "gradients/Mean_grad/Prod_1"
- op: "Prod"
- input: "gradients/Mean_grad/Shape_2"
- input: "gradients/Mean_grad/Const_1"
- attr {
- key: "T"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "Tidx"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@gradients/Mean_grad/Shape_1"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- }
- }
- }
- }
- attr {
- key: "keep_dims"
- value {
- b: false
- }
- }
- }
- node {
- name: "gradients/Mean_grad/Maximum/y"
- op: "Const"
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@gradients/Mean_grad/Shape_1"
- }
- }
- }
- 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: "gradients/Mean_grad/Maximum"
- op: "Maximum"
- input: "gradients/Mean_grad/Prod_1"
- input: "gradients/Mean_grad/Maximum/y"
- attr {
- key: "T"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@gradients/Mean_grad/Shape_1"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- }
- }
- }
- }
- }
- node {
- name: "gradients/Mean_grad/floordiv"
- op: "FloorDiv"
- input: "gradients/Mean_grad/Prod"
- input: "gradients/Mean_grad/Maximum"
- attr {
- key: "T"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@gradients/Mean_grad/Shape_1"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- }
- }
- }
- }
- }
- node {
- name: "gradients/Mean_grad/Cast"
- op: "Cast"
- input: "gradients/Mean_grad/floordiv"
- attr {
- key: "DstT"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "SrcT"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- }
- }
- }
- }
- }
- node {
- name: "gradients/Mean_grad/truediv"
- op: "RealDiv"
- input: "gradients/Mean_grad/Tile"
- input: "gradients/Mean_grad/Cast"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- }
- }
- }
- }
- }
- node {
- name: "gradients/Reshape_2_grad/Shape"
- op: "Shape"
- input: "SoftmaxCrossEntropyWithLogits"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 1
- }
- }
- }
- }
- }
- attr {
- key: "out_type"
- value {
- type: DT_INT32
- }
- }
- }
- node {
- name: "gradients/Reshape_2_grad/Reshape"
- op: "Reshape"
- input: "gradients/Mean_grad/truediv"
- input: "gradients/Reshape_2_grad/Shape"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "Tshape"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- }
- }
- }
- }
- }
- node {
- name: "gradients/zeros_like"
- op: "ZerosLike"
- input: "SoftmaxCrossEntropyWithLogits:1"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: -1
- }
- }
- }
- }
- }
- }
- node {
- name: "gradients/SoftmaxCrossEntropyWithLogits_grad/ExpandDims/dim"
- 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: "gradients/SoftmaxCrossEntropyWithLogits_grad/ExpandDims"
- op: "ExpandDims"
- input: "gradients/Reshape_2_grad/Reshape"
- input: "gradients/SoftmaxCrossEntropyWithLogits_grad/ExpandDims/dim"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "Tdim"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 1
- }
- }
- }
- }
- }
- }
- node {
- name: "gradients/SoftmaxCrossEntropyWithLogits_grad/mul"
- op: "Mul"
- input: "gradients/SoftmaxCrossEntropyWithLogits_grad/ExpandDims"
- input: "SoftmaxCrossEntropyWithLogits:1"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: -1
- }
- }
- }
- }
- }
- }
- node {
- name: "gradients/Reshape_grad/Shape"
- op: "Shape"
- input: "layer/add"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 2
- }
- }
- }
- }
- }
- attr {
- key: "out_type"
- value {
- type: DT_INT32
- }
- }
- }
- node {
- name: "gradients/Reshape_grad/Reshape"
- op: "Reshape"
- input: "gradients/SoftmaxCrossEntropyWithLogits_grad/mul"
- input: "gradients/Reshape_grad/Shape"
- 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: 10
- }
- }
- }
- }
- }
- }
- node {
- name: "gradients/layer/add_grad/Shape"
- op: "Shape"
- input: "layer/MatMul"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 2
- }
- }
- }
- }
- }
- attr {
- key: "out_type"
- value {
- type: DT_INT32
- }
- }
- }
- node {
- name: "gradients/layer/add_grad/Shape_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: 10
- }
- }
- }
- }
- node {
- name: "gradients/layer/add_grad/BroadcastGradientArgs"
- op: "BroadcastGradientArgs"
- input: "gradients/layer/add_grad/Shape"
- input: "gradients/layer/add_grad/Shape_1"
- attr {
- key: "T"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- }
- shape {
- dim {
- size: -1
- }
- }
- }
- }
- }
- }
- node {
- name: "gradients/layer/add_grad/Sum"
- op: "Sum"
- input: "gradients/Reshape_grad/Reshape"
- input: "gradients/layer/add_grad/BroadcastGradientArgs"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "Tidx"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- unknown_rank: true
- }
- }
- }
- }
- attr {
- key: "keep_dims"
- value {
- b: false
- }
- }
- }
- node {
- name: "gradients/layer/add_grad/Reshape"
- op: "Reshape"
- input: "gradients/layer/add_grad/Sum"
- input: "gradients/layer/add_grad/Shape"
- 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: 10
- }
- }
- }
- }
- }
- }
- node {
- name: "gradients/layer/add_grad/Sum_1"
- op: "Sum"
- input: "gradients/Reshape_grad/Reshape"
- input: "gradients/layer/add_grad/BroadcastGradientArgs:1"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "Tidx"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- unknown_rank: true
- }
- }
- }
- }
- attr {
- key: "keep_dims"
- value {
- b: false
- }
- }
- }
- node {
- name: "gradients/layer/add_grad/Reshape_1"
- op: "Reshape"
- input: "gradients/layer/add_grad/Sum_1"
- input: "gradients/layer/add_grad/Shape_1"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "Tshape"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 10
- }
- }
- }
- }
- }
- }
- node {
- name: "gradients/layer/add_grad/tuple/group_deps"
- op: "NoOp"
- input: "^gradients/layer/add_grad/Reshape"
- input: "^gradients/layer/add_grad/Reshape_1"
- }
- node {
- name: "gradients/layer/add_grad/tuple/control_dependency"
- op: "Identity"
- input: "gradients/layer/add_grad/Reshape"
- input: "^gradients/layer/add_grad/tuple/group_deps"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@gradients/layer/add_grad/Reshape"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 10
- }
- }
- }
- }
- }
- }
- node {
- name: "gradients/layer/add_grad/tuple/control_dependency_1"
- op: "Identity"
- input: "gradients/layer/add_grad/Reshape_1"
- input: "^gradients/layer/add_grad/tuple/group_deps"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@gradients/layer/add_grad/Reshape_1"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 10
- }
- }
- }
- }
- }
- }
- node {
- name: "gradients/layer/MatMul_grad/MatMul"
- op: "MatMul"
- input: "gradients/layer/add_grad/tuple/control_dependency"
- input: "layer/Variable/read"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 784
- }
- }
- }
- }
- }
- attr {
- key: "transpose_a"
- value {
- b: false
- }
- }
- attr {
- key: "transpose_b"
- value {
- b: true
- }
- }
- }
- node {
- name: "gradients/layer/MatMul_grad/MatMul_1"
- op: "MatMul"
- input: "Placeholder"
- input: "gradients/layer/add_grad/tuple/control_dependency"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 784
- }
- dim {
- size: 10
- }
- }
- }
- }
- }
- attr {
- key: "transpose_a"
- value {
- b: true
- }
- }
- attr {
- key: "transpose_b"
- value {
- b: false
- }
- }
- }
- node {
- name: "gradients/layer/MatMul_grad/tuple/group_deps"
- op: "NoOp"
- input: "^gradients/layer/MatMul_grad/MatMul"
- input: "^gradients/layer/MatMul_grad/MatMul_1"
- }
- node {
- name: "gradients/layer/MatMul_grad/tuple/control_dependency"
- op: "Identity"
- input: "gradients/layer/MatMul_grad/MatMul"
- input: "^gradients/layer/MatMul_grad/tuple/group_deps"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@gradients/layer/MatMul_grad/MatMul"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- dim {
- size: 784
- }
- }
- }
- }
- }
- }
- node {
- name: "gradients/layer/MatMul_grad/tuple/control_dependency_1"
- op: "Identity"
- input: "gradients/layer/MatMul_grad/MatMul_1"
- input: "^gradients/layer/MatMul_grad/tuple/group_deps"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@gradients/layer/MatMul_grad/MatMul_1"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 784
- }
- dim {
- size: 10
- }
- }
- }
- }
- }
- }
- node {
- name: "GradientDescent/learning_rate"
- 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.5
- }
- }
- }
- }
- node {
- name: "GradientDescent/update_layer/Variable/ApplyGradientDescent"
- op: "ApplyGradientDescent"
- input: "layer/Variable"
- input: "GradientDescent/learning_rate"
- input: "gradients/layer/MatMul_grad/tuple/control_dependency_1"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@layer/Variable"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 784
- }
- dim {
- size: 10
- }
- }
- }
- }
- }
- attr {
- key: "use_locking"
- value {
- b: false
- }
- }
- }
- node {
- name: "GradientDescent/update_layer/Variable_1/ApplyGradientDescent"
- op: "ApplyGradientDescent"
- input: "layer/Variable_1"
- input: "GradientDescent/learning_rate"
- input: "gradients/layer/add_grad/tuple/control_dependency_1"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@layer/Variable_1"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 10
- }
- }
- }
- }
- }
- attr {
- key: "use_locking"
- value {
- b: false
- }
- }
- }
- node {
- name: "GradientDescent"
- op: "NoOp"
- input: "^GradientDescent/update_layer/Variable/ApplyGradientDescent"
- input: "^GradientDescent/update_layer/Variable_1/ApplyGradientDescent"
- }
- node {
- name: "init"
- op: "NoOp"
- input: "^layer/Variable/Assign"
- input: "^layer/Variable_1/Assign"
- }
- node {
- name: "ArgMax/dimension"
- 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: "ArgMax"
- op: "ArgMax"
- input: "layer/add"
- input: "ArgMax/dimension"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "Tidx"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- }
- }
- }
- }
- attr {
- key: "output_type"
- value {
- type: DT_INT64
- }
- }
- }
- node {
- name: "ArgMax_1/dimension"
- 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: "ArgMax_1"
- op: "ArgMax"
- input: "Placeholder_1"
- input: "ArgMax_1/dimension"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "Tidx"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- }
- }
- }
- }
- attr {
- key: "output_type"
- value {
- type: DT_INT64
- }
- }
- }
- node {
- name: "Equal"
- op: "Equal"
- input: "ArgMax"
- input: "ArgMax_1"
- attr {
- key: "T"
- value {
- type: DT_INT64
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- }
- }
- }
- }
- }
- node {
- name: "Cast_1"
- op: "Cast"
- input: "Equal"
- attr {
- key: "DstT"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "SrcT"
- value {
- type: DT_BOOL
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: -1
- }
- }
- }
- }
- }
- }
- node {
- name: "Const_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: "Mean_1"
- op: "Mean"
- input: "Cast_1"
- input: "Const_1"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "Tidx"
- value {
- type: DT_INT32
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- }
- }
- }
- }
- attr {
- key: "keep_dims"
- value {
- b: false
- }
- }
- }
- node {
- name: "save/Const"
- op: "Const"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_STRING
- }
- }
- attr {
- key: "value"
- value {
- tensor {
- dtype: DT_STRING
- tensor_shape {
- }
- string_val: "model"
- }
- }
- }
- }
- node {
- name: "save/StringJoin/inputs_1"
- op: "Const"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_STRING
- }
- }
- attr {
- key: "value"
- value {
- tensor {
- dtype: DT_STRING
- tensor_shape {
- }
- string_val: "_temp_65caff16d5244276b9828b0dab21b157/part"
- }
- }
- }
- }
- node {
- name: "save/StringJoin"
- op: "StringJoin"
- input: "save/Const"
- input: "save/StringJoin/inputs_1"
- attr {
- key: "N"
- value {
- i: 2
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- }
- }
- }
- }
- attr {
- key: "separator"
- value {
- s: ""
- }
- }
- }
- node {
- name: "save/num_shards"
- 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: "save/ShardedFilename/shard"
- 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: 0
- }
- }
- }
- }
- node {
- name: "save/ShardedFilename"
- op: "ShardedFilename"
- input: "save/StringJoin"
- input: "save/ShardedFilename/shard"
- input: "save/num_shards"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- }
- }
- }
- }
- }
- node {
- name: "save/SaveV2/tensor_names"
- op: "Const"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 2
- }
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_STRING
- }
- }
- attr {
- key: "value"
- value {
- tensor {
- dtype: DT_STRING
- tensor_shape {
- dim {
- size: 2
- }
- }
- string_val: "layer/Variable"
- string_val: "layer/Variable_1"
- }
- }
- }
- }
- node {
- name: "save/SaveV2/shape_and_slices"
- op: "Const"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 2
- }
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_STRING
- }
- }
- attr {
- key: "value"
- value {
- tensor {
- dtype: DT_STRING
- tensor_shape {
- dim {
- size: 2
- }
- }
- string_val: ""
- string_val: ""
- }
- }
- }
- }
- node {
- name: "save/SaveV2"
- op: "SaveV2"
- input: "save/ShardedFilename"
- input: "save/SaveV2/tensor_names"
- input: "save/SaveV2/shape_and_slices"
- input: "layer/Variable"
- input: "layer/Variable_1"
- attr {
- key: "dtypes"
- value {
- list {
- type: DT_FLOAT
- type: DT_FLOAT
- }
- }
- }
- }
- node {
- name: "save/control_dependency"
- op: "Identity"
- input: "save/ShardedFilename"
- input: "^save/SaveV2"
- attr {
- key: "T"
- value {
- type: DT_STRING
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@save/ShardedFilename"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- }
- }
- }
- }
- }
- node {
- name: "save/MergeV2Checkpoints/checkpoint_prefixes"
- op: "Pack"
- input: "save/ShardedFilename"
- input: "^save/control_dependency"
- attr {
- key: "N"
- value {
- i: 1
- }
- }
- attr {
- key: "T"
- value {
- type: DT_STRING
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 1
- }
- }
- }
- }
- }
- attr {
- key: "axis"
- value {
- i: 0
- }
- }
- }
- node {
- name: "save/MergeV2Checkpoints"
- op: "MergeV2Checkpoints"
- input: "save/MergeV2Checkpoints/checkpoint_prefixes"
- input: "save/Const"
- attr {
- key: "delete_old_dirs"
- value {
- b: true
- }
- }
- }
- node {
- name: "save/Identity"
- op: "Identity"
- input: "save/Const"
- input: "^save/control_dependency"
- input: "^save/MergeV2Checkpoints"
- attr {
- key: "T"
- value {
- type: DT_STRING
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- }
- }
- }
- }
- }
- node {
- name: "save/RestoreV2/tensor_names"
- op: "Const"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 1
- }
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_STRING
- }
- }
- attr {
- key: "value"
- value {
- tensor {
- dtype: DT_STRING
- tensor_shape {
- dim {
- size: 1
- }
- }
- string_val: "layer/Variable"
- }
- }
- }
- }
- node {
- name: "save/RestoreV2/shape_and_slices"
- op: "Const"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 1
- }
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_STRING
- }
- }
- attr {
- key: "value"
- value {
- tensor {
- dtype: DT_STRING
- tensor_shape {
- dim {
- size: 1
- }
- }
- string_val: ""
- }
- }
- }
- }
- node {
- name: "save/RestoreV2"
- op: "RestoreV2"
- input: "save/Const"
- input: "save/RestoreV2/tensor_names"
- input: "save/RestoreV2/shape_and_slices"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- unknown_rank: true
- }
- }
- }
- }
- attr {
- key: "dtypes"
- value {
- list {
- type: DT_FLOAT
- }
- }
- }
- }
- node {
- name: "save/Assign"
- op: "Assign"
- input: "layer/Variable"
- input: "save/RestoreV2"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@layer/Variable"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 784
- }
- dim {
- size: 10
- }
- }
- }
- }
- }
- attr {
- key: "use_locking"
- value {
- b: true
- }
- }
- attr {
- key: "validate_shape"
- value {
- b: true
- }
- }
- }
- node {
- name: "save/RestoreV2_1/tensor_names"
- op: "Const"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 1
- }
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_STRING
- }
- }
- attr {
- key: "value"
- value {
- tensor {
- dtype: DT_STRING
- tensor_shape {
- dim {
- size: 1
- }
- }
- string_val: "layer/Variable_1"
- }
- }
- }
- }
- node {
- name: "save/RestoreV2_1/shape_and_slices"
- op: "Const"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 1
- }
- }
- }
- }
- }
- attr {
- key: "dtype"
- value {
- type: DT_STRING
- }
- }
- attr {
- key: "value"
- value {
- tensor {
- dtype: DT_STRING
- tensor_shape {
- dim {
- size: 1
- }
- }
- string_val: ""
- }
- }
- }
- }
- node {
- name: "save/RestoreV2_1"
- op: "RestoreV2"
- input: "save/Const"
- input: "save/RestoreV2_1/tensor_names"
- input: "save/RestoreV2_1/shape_and_slices"
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- unknown_rank: true
- }
- }
- }
- }
- attr {
- key: "dtypes"
- value {
- list {
- type: DT_FLOAT
- }
- }
- }
- }
- node {
- name: "save/Assign_1"
- op: "Assign"
- input: "layer/Variable_1"
- input: "save/RestoreV2_1"
- attr {
- key: "T"
- value {
- type: DT_FLOAT
- }
- }
- attr {
- key: "_class"
- value {
- list {
- s: "loc:@layer/Variable_1"
- }
- }
- }
- attr {
- key: "_output_shapes"
- value {
- list {
- shape {
- dim {
- size: 10
- }
- }
- }
- }
- }
- attr {
- key: "use_locking"
- value {
- b: true
- }
- }
- attr {
- key: "validate_shape"
- value {
- b: true
- }
- }
- }
- node {
- name: "save/restore_shard"
- op: "NoOp"
- input: "^save/Assign"
- input: "^save/Assign_1"
- }
- node {
- name: "save/restore_all"
- op: "NoOp"
- input: "^save/restore_shard"
- }
- versions {
- producer: 24
- }
- }
- saver_def {
- filename_tensor_name: "save/Const:0"
- save_tensor_name: "save/Identity:0"
- restore_op_name: "save/restore_all"
- max_to_keep: 5
- sharded: true
- keep_checkpoint_every_n_hours: 10000.0
- version: V2
- }
- collection_def {
- key: "train_op"
- value {
- node_list {
- value: "GradientDescent"
- }
- }
- }
- collection_def {
- key: "trainable_variables"
- value {
- bytes_list {
- value: "\n\020layer/Variable:0\022\025layer/Variable/Assign\032\025layer/Variable/read:02\rlayer/zeros:0"
- value: "\n\022layer/Variable_1:0\022\027layer/Variable_1/Assign\032\027layer/Variable_1/read:02\017layer/zeros_1:0"
- }
- }
- }
- collection_def {
- key: "variables"
- value {
- bytes_list {
- value: "\n\020layer/Variable:0\022\025layer/Variable/Assign\032\025layer/Variable/read:02\rlayer/zeros:0"
- value: "\n\022layer/Variable_1:0\022\027layer/Variable_1/Assign\032\027layer/Variable_1/read:02\017layer/zeros_1:0"
- }
- }
- }
- signature_def {
- key: "serving_default"
- value {
- inputs {
- key: "x"
- value {
- name: "Placeholder:0"
- dtype: DT_FLOAT
- tensor_shape {
- dim {
- size: -1
- }
- dim {
- size: 784
- }
- }
- }
- }
- outputs {
- key: "y"
- value {
- name: "layer/add:0"
- dtype: DT_FLOAT
- tensor_shape {
- dim {
- size: -1
- }
- dim {
- size: 10
- }
- }
- }
- }
- method_name: "tensorflow/serving/predict"
- }
- }
-}
diff --git a/application/src/test/app-packages/model-evaluation/models/tensorflow/mnist_softmax/saved/variables/variables.data-00000-of-00001 b/application/src/test/app-packages/model-evaluation/models/tensorflow/mnist_softmax/saved/variables/variables.data-00000-of-00001
deleted file mode 100644
index 826b0280abf..00000000000
--- a/application/src/test/app-packages/model-evaluation/models/tensorflow/mnist_softmax/saved/variables/variables.data-00000-of-00001
+++ /dev/null
Binary files differ
diff --git a/application/src/test/app-packages/model-evaluation/models/tensorflow/mnist_softmax/saved/variables/variables.index b/application/src/test/app-packages/model-evaluation/models/tensorflow/mnist_softmax/saved/variables/variables.index
deleted file mode 100644
index d00fc5b06ed..00000000000
--- a/application/src/test/app-packages/model-evaluation/models/tensorflow/mnist_softmax/saved/variables/variables.index
+++ /dev/null
Binary files differ
diff --git a/application/src/test/java/com/yahoo/application/container/ContainerModelEvaluationTest.java b/application/src/test/java/com/yahoo/application/container/ContainerModelEvaluationTest.java
index 3d7eed1e729..369b2cbe42b 100644
--- a/application/src/test/java/com/yahoo/application/container/ContainerModelEvaluationTest.java
+++ b/application/src/test/java/com/yahoo/application/container/ContainerModelEvaluationTest.java
@@ -45,7 +45,7 @@ public class ContainerModelEvaluationTest {
}
private void assertLoadedModels(JDisc jdisc) {
{
- String expected = "{\"xgboost_xgboost_2_2\":\"http://localhost/model-evaluation/v1/xgboost_xgboost_2_2\",\"onnx_mnist_softmax\":\"http://localhost/model-evaluation/v1/onnx_mnist_softmax\",\"tensorflow_mnist_softmax_saved\":\"http://localhost/model-evaluation/v1/tensorflow_mnist_softmax_saved\",\"tensorflow_mnist_saved\":\"http://localhost/model-evaluation/v1/tensorflow_mnist_saved\",\"vespa_example\":\"http://localhost/model-evaluation/v1/vespa_example\",\"lightgbm_regression\":\"http://localhost/model-evaluation/v1/lightgbm_regression\"}";
+ String expected = "{\"xgboost_xgboost_2_2\":\"http://localhost/model-evaluation/v1/xgboost_xgboost_2_2\",\"onnx_mnist_softmax\":\"http://localhost/model-evaluation/v1/onnx_mnist_softmax\",\"vespa_example\":\"http://localhost/model-evaluation/v1/vespa_example\",\"onnx_softmax_func\":\"http://localhost/model-evaluation/v1/onnx_softmax_func\",\"lightgbm_regression\":\"http://localhost/model-evaluation/v1/lightgbm_regression\"}";
assertResponse("http://localhost/model-evaluation/v1", expected, jdisc);
}
@@ -60,9 +60,8 @@ public class ContainerModelEvaluationTest {
}
{
- // Note: The specific response value here has not been verified
- String expected = "{\"cells\":[{\"address\":{\"d0\":\"0\",\"d1\":\"0\"},\"value\":-0.5066885003407351},{\"address\":{\"d0\":\"0\",\"d1\":\"1\"},\"value\":0.3912837743150205},{\"address\":{\"d0\":\"0\",\"d1\":\"2\"},\"value\":-0.12401806321703948},{\"address\":{\"d0\":\"0\",\"d1\":\"3\"},\"value\":-0.7019029168606575},{\"address\":{\"d0\":\"0\",\"d1\":\"4\"},\"value\":0.13120114146441697},{\"address\":{\"d0\":\"0\",\"d1\":\"5\"},\"value\":0.6611923203384626},{\"address\":{\"d0\":\"0\",\"d1\":\"6\"},\"value\":-0.22365810810026446},{\"address\":{\"d0\":\"0\",\"d1\":\"7\"},\"value\":-0.0740018307465809},{\"address\":{\"d0\":\"0\",\"d1\":\"8\"},\"value\":0.056492490256153896},{\"address\":{\"d0\":\"0\",\"d1\":\"9\"},\"value\":-0.18422015072393733}]}";
- assertResponse("http://localhost/model-evaluation/v1/tensorflow_mnist_saved/serving_default.y/eval?input=" + inputTensor(), expected, jdisc);
+ String expected = "{\"cells\":[{\"address\":{\"d0\":\"0\"},\"value\":0.3006095290184021},{\"address\":{\"d0\":\"1\"},\"value\":0.33222490549087524},{\"address\":{\"d0\":\"2\"},\"value\":0.36716532707214355}]}";
+ assertResponse("http://localhost/model-evaluation/v1/onnx_softmax_func/default.output/eval?input=" + inputTensor(), expected, jdisc);
}
}
@@ -79,9 +78,10 @@ public class ContainerModelEvaluationTest {
}
private String inputTensor() {
- Tensor.Builder b = Tensor.Builder.of(TensorType.fromSpec("tensor(d0[],d1[784])"));
- for (int i = 0; i < 784; i++)
- b.cell(0.0, 0, i);
+ Tensor.Builder b = Tensor.Builder.of(TensorType.fromSpec("tensor<float>(d0[3])"));
+ b.cell(0.1, 0);
+ b.cell(0.2, 1);
+ b.cell(0.3, 2);
return URLEncoder.encode(b.build().toString(), StandardCharsets.UTF_8);
}