Skip to content

Instantly share code, notes, and snippets.

@CodingBeard
Created December 4, 2021 12:31
Show Gist options
  • Save CodingBeard/769a42d06a9b9d518e69f6c1ae41e45b to your computer and use it in GitHub Desktop.
Save CodingBeard/769a42d06a9b9d518e69f6c1ae41e45b to your computer and use it in GitHub Desktop.
Code:
import tensorflow as tf
import tensorflow.keras as k
class GolangModel(tf.Module):
def __init__(self):
super().__init__()
bool_input = k.layers.Input(
shape=(3,),
name='bool_input',
dtype=tf.float32,
batch_size=10
)
output = k.layers.Dense(
1,
name="bool_output",
dtype=tf.float32,
)(bool_input)
self.model = k.Model(bool_input, output)
self._global_step = tf.Variable(0, dtype=tf.int32, trainable=False)
self._optimizer = k.optimizers.Adam()
self._loss = k.losses.binary_crossentropy
@tf.function(
input_signature=[
tf.TensorSpec(shape=(None, 3), dtype=tf.float32),
tf.TensorSpec(shape=(None, 1), dtype=tf.float32),
]
)
def learn(self, data, labels):
self._global_step.assign_add(1)
with tf.GradientTape() as tape:
loss = self._loss(labels, self.model(data))
gradient = tape.gradient(loss, self.model.trainable_variables)
self._optimizer.apply_gradients(zip(gradient, self.model.trainable_variables))
return {"loss": loss}
@tf.function(input_signature=[tf.TensorSpec(shape=(None, 3), dtype=tf.float32)])
def predict(self, data):
prediction = self.model(data)
return {"prediction": prediction}
gm = GolangModel()
gm.learn(
tf.zeros([10, 3], dtype=tf.float32),
tf.zeros([10, 1], dtype=tf.float32),
)
gm.predict(tf.zeros((10, 3), dtype=tf.float32))
tf.saved_model.save(
gm,
"base_model",
signatures={
"learn": gm.learn,
"predict": gm.predict,
},
)
base_model/saved_model.pb:
node {
name: "Variable"
op: "VarHandleOp"
attr {
key: "allowed_devices"
value {
list {
}
}
}
attr {
key: "container"
value {
s: ""
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "shape"
value {
shape {
}
}
}
attr {
key: "shared_name"
value {
s: "Variable"
}
}
}
node {
name: "Variable/Read/ReadVariableOp"
op: "ReadVariableOp"
input: "Variable"
attr {
key: "dtype"
value {
type: DT_INT32
}
}
}
node {
name: "Adam/iter"
op: "VarHandleOp"
attr {
key: "allowed_devices"
value {
list {
}
}
}
attr {
key: "container"
value {
s: ""
}
}
attr {
key: "dtype"
value {
type: DT_INT64
}
}
attr {
key: "shape"
value {
shape {
}
}
}
attr {
key: "shared_name"
value {
s: "Adam/iter"
}
}
}
node {
name: "Adam/iter/Read/ReadVariableOp"
op: "ReadVariableOp"
input: "Adam/iter"
attr {
key: "dtype"
value {
type: DT_INT64
}
}
}
node {
name: "Adam/beta_1"
op: "VarHandleOp"
attr {
key: "allowed_devices"
value {
list {
}
}
}
attr {
key: "container"
value {
s: ""
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
}
}
}
attr {
key: "shared_name"
value {
s: "Adam/beta_1"
}
}
}
node {
name: "Adam/beta_1/Read/ReadVariableOp"
op: "ReadVariableOp"
input: "Adam/beta_1"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
}
node {
name: "Adam/beta_2"
op: "VarHandleOp"
attr {
key: "allowed_devices"
value {
list {
}
}
}
attr {
key: "container"
value {
s: ""
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
}
}
}
attr {
key: "shared_name"
value {
s: "Adam/beta_2"
}
}
}
node {
name: "Adam/beta_2/Read/ReadVariableOp"
op: "ReadVariableOp"
input: "Adam/beta_2"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
}
node {
name: "Adam/decay"
op: "VarHandleOp"
attr {
key: "allowed_devices"
value {
list {
}
}
}
attr {
key: "container"
value {
s: ""
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
}
}
}
attr {
key: "shared_name"
value {
s: "Adam/decay"
}
}
}
node {
name: "Adam/decay/Read/ReadVariableOp"
op: "ReadVariableOp"
input: "Adam/decay"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
}
node {
name: "Adam/learning_rate"
op: "VarHandleOp"
attr {
key: "allowed_devices"
value {
list {
}
}
}
attr {
key: "container"
value {
s: ""
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
}
}
}
attr {
key: "shared_name"
value {
s: "Adam/learning_rate"
}
}
}
node {
name: "Adam/learning_rate/Read/ReadVariableOp"
op: "ReadVariableOp"
input: "Adam/learning_rate"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
}
node {
name: "bool_output/kernel"
op: "VarHandleOp"
attr {
key: "allowed_devices"
value {
list {
}
}
}
attr {
key: "container"
value {
s: ""
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
dim {
size: 3
}
dim {
size: 1
}
}
}
}
attr {
key: "shared_name"
value {
s: "bool_output/kernel"
}
}
}
node {
name: "bool_output/kernel/Read/ReadVariableOp"
op: "ReadVariableOp"
input: "bool_output/kernel"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
}
node {
name: "bool_output/bias"
op: "VarHandleOp"
attr {
key: "allowed_devices"
value {
list {
}
}
}
attr {
key: "container"
value {
s: ""
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
dim {
size: 1
}
}
}
}
attr {
key: "shared_name"
value {
s: "bool_output/bias"
}
}
}
node {
name: "bool_output/bias/Read/ReadVariableOp"
op: "ReadVariableOp"
input: "bool_output/bias"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
}
node {
name: "Adam/bool_output/kernel/m"
op: "VarHandleOp"
attr {
key: "allowed_devices"
value {
list {
}
}
}
attr {
key: "container"
value {
s: ""
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
dim {
size: 3
}
dim {
size: 1
}
}
}
}
attr {
key: "shared_name"
value {
s: "Adam/bool_output/kernel/m"
}
}
}
node {
name: "Adam/bool_output/kernel/m/Read/ReadVariableOp"
op: "ReadVariableOp"
input: "Adam/bool_output/kernel/m"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
}
node {
name: "Adam/bool_output/bias/m"
op: "VarHandleOp"
attr {
key: "allowed_devices"
value {
list {
}
}
}
attr {
key: "container"
value {
s: ""
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
dim {
size: 1
}
}
}
}
attr {
key: "shared_name"
value {
s: "Adam/bool_output/bias/m"
}
}
}
node {
name: "Adam/bool_output/bias/m/Read/ReadVariableOp"
op: "ReadVariableOp"
input: "Adam/bool_output/bias/m"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
}
node {
name: "Adam/bool_output/kernel/v"
op: "VarHandleOp"
attr {
key: "allowed_devices"
value {
list {
}
}
}
attr {
key: "container"
value {
s: ""
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
dim {
size: 3
}
dim {
size: 1
}
}
}
}
attr {
key: "shared_name"
value {
s: "Adam/bool_output/kernel/v"
}
}
}
node {
name: "Adam/bool_output/kernel/v/Read/ReadVariableOp"
op: "ReadVariableOp"
input: "Adam/bool_output/kernel/v"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
}
node {
name: "Adam/bool_output/bias/v"
op: "VarHandleOp"
attr {
key: "allowed_devices"
value {
list {
}
}
}
attr {
key: "container"
value {
s: ""
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
dim {
size: 1
}
}
}
}
attr {
key: "shared_name"
value {
s: "Adam/bool_output/bias/v"
}
}
}
node {
name: "Adam/bool_output/bias/v/Read/ReadVariableOp"
op: "ReadVariableOp"
input: "Adam/bool_output/bias/v"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
}
node {
name: "NoOp"
op: "NoOp"
}
node {
name: "Const"
op: "Const"
device: "/device:CPU:0"
attr {
key: "dtype"
value {
type: DT_STRING
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_STRING
tensor_shape {
}
string_val: "\n=\n\t\010\001\022\005model\n\020\010\002\022\014_global_step\n\016\010\003\022\n_optimizer\n\016\010\004\022\nsignatures\n\206\001\n\013\010\005\022\007layer-0\n\030\010\006\022\024layer_with_weights-0\n\013\010\006\022\007layer-1\n\031\010\007\022\025regularization_losses\n\r\010\010\022\tvariables\n\027\010\t\022\023trainable_variables\n\r\010\n\022\tkeras_api\nE\022C\n\016VARIABLE_VALUE\022\010Variable\032\'_global_step/.ATTRIBUTES/VARIABLE_VALUE\nd\n\010\010\013\022\004iter\n\n\010\014\022\006beta_1\n\n\010\r\022\006beta_2\n\t\010\016\022\005decay\n\021\010\017\022\rlearning_rate\032\007\010\020\022\001m\030 \032\007\010\021\022\001m\030!\032\007\010\020\022\001v\030\"\032\007\010\021\022\001v\030#\n\000\n\000\nh\n\n\010\020\022\006kernel\n\010\010\021\022\004bias\n\031\010\022\022\025regularization_losses\n\r\010\023\022\tvariables\n\027\010\024\022\023trainable_variables\n\r\010\025\022\tkeras_api\n\000\n\016\n\005\010\020\022\0010\n\005\010\021\022\0011\n\016\n\005\010\020\022\0010\n\005\010\021\022\0011\n\255\001\n\037\010\026\022\033layer_regularization_losses\n\021\010\027\022\rlayer_metrics\n\031\010\007\022\025regularization_losses\n\013\010\030\022\007metrics\n\n\010\031\022\006layers\n\033\010\032\022\027non_trainable_variables\n\r\010\010\022\tvariables\n\027\010\t\022\023trainable_variables\nI\022G\n\016VARIABLE_VALUE\022\tAdam/iter\032*_optimizer/iter/.ATTRIBUTES/VARIABLE_VALUE\nM\022K\n\016VARIABLE_VALUE\022\013Adam/beta_1\032,_optimizer/beta_1/.ATTRIBUTES/VARIABLE_VALUE\nM\022K\n\016VARIABLE_VALUE\022\013Adam/beta_2\032,_optimizer/beta_2/.ATTRIBUTES/VARIABLE_VALUE\nK\022I\n\016VARIABLE_VALUE\022\nAdam/decay\032+_optimizer/decay/.ATTRIBUTES/VARIABLE_VALUE\n[\022Y\n\016VARIABLE_VALUE\022\022Adam/learning_rate\0323_optimizer/learning_rate/.ATTRIBUTES/VARIABLE_VALUE\nd\022b\n\016VARIABLE_VALUE\022\022bool_output/kernel\032<model/layer_with_weights-0/kernel/.ATTRIBUTES/VARIABLE_VALUE\n`\022^\n\016VARIABLE_VALUE\022\020bool_output/bias\032:model/layer_with_weights-0/bias/.ATTRIBUTES/VARIABLE_VALUE\n\000\n\016\n\005\010\020\022\0010\n\005\010\021\022\0011\n\016\n\005\010\020\022\0010\n\005\010\021\022\0011\n\255\001\n\037\010\033\022\033layer_regularization_losses\n\021\010\034\022\rlayer_metrics\n\031\010\022\022\025regularization_losses\n\013\010\035\022\007metrics\n\n\010\036\022\006layers\n\033\010\037\022\027non_trainable_variables\n\r\010\023\022\tvariables\n\027\010\024\022\023trainable_variables\n\000\n\000\n\000\n\016\n\005\010\005\022\0010\n\005\010\006\022\0011\n\000\n\000\n\000\n\000\n\000\n\000\n\211\001\022\206\001\n\016VARIABLE_VALUE\022\031Adam/bool_output/kernel/m\032Ymodel/layer_with_weights-0/kernel/.OPTIMIZER_SLOT/_optimizer/m/.ATTRIBUTES/VARIABLE_VALUE\n\205\001\022\202\001\n\016VARIABLE_VALUE\022\027Adam/bool_output/bias/m\032Wmodel/layer_with_weights-0/bias/.OPTIMIZER_SLOT/_optimizer/m/.ATTRIBUTES/VARIABLE_VALUE\n\211\001\022\206\001\n\016VARIABLE_VALUE\022\031Adam/bool_output/kernel/v\032Ymodel/layer_with_weights-0/kernel/.OPTIMIZER_SLOT/_optimizer/v/.ATTRIBUTES/VARIABLE_VALUE\n\205\001\022\202\001\n\016VARIABLE_VALUE\022\027Adam/bool_output/bias/v\032Wmodel/layer_with_weights-0/bias/.OPTIMIZER_SLOT/_optimizer/v/.ATTRIBUTES/VARIABLE_VALUE"
}
}
}
}
node {
name: "learn_data"
op: "Placeholder"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
dim {
size: -1
}
dim {
size: 3
}
}
}
}
}
node {
name: "learn_labels"
op: "Placeholder"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
dim {
size: -1
}
dim {
size: 1
}
}
}
}
}
node {
name: "StatefulPartitionedCall"
op: "StatefulPartitionedCall"
input: "learn_data"
input: "learn_labels"
input: "Variable"
input: "bool_output/kernel"
input: "bool_output/bias"
input: "Adam/learning_rate"
input: "Adam/iter"
input: "Adam/beta_1"
input: "Adam/beta_2"
input: "Adam/bool_output/kernel/m"
input: "Adam/bool_output/kernel/v"
input: "Adam/bool_output/bias/m"
input: "Adam/bool_output/bias/v"
attr {
key: "Tin"
value {
list {
type: DT_FLOAT
type: DT_FLOAT
type: DT_RESOURCE
type: DT_RESOURCE
type: DT_RESOURCE
type: DT_RESOURCE
type: DT_RESOURCE
type: DT_RESOURCE
type: DT_RESOURCE
type: DT_RESOURCE
type: DT_RESOURCE
type: DT_RESOURCE
type: DT_RESOURCE
}
}
}
attr {
key: "Tout"
value {
list {
type: DT_FLOAT
}
}
}
attr {
key: "_collective_manager_ids"
value {
list {
}
}
}
attr {
key: "_read_only_resource_inputs"
value {
list {
i: 5
i: 7
i: 8
}
}
}
attr {
key: "config"
value {
s: ""
}
}
attr {
key: "config_proto"
value {
s: "\n\007\n\003CPU\020\001\n\007\n\003GPU\020\0002\002J\0008\001\202\001\000"
}
}
attr {
key: "executor_type"
value {
s: ""
}
}
attr {
key: "f"
value {
func {
name: "__inference_signature_wrapper_473"
}
}
}
}
node {
name: "predict_data"
op: "Placeholder"
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "shape"
value {
shape {
dim {
size: -1
}
dim {
size: 3
}
}
}
}
}
node {
name: "StatefulPartitionedCall_1"
op: "StatefulPartitionedCall"
input: "predict_data"
input: "bool_output/kernel"
input: "bool_output/bias"
attr {
key: "Tin"
value {
list {
type: DT_FLOAT
type: DT_RESOURCE
type: DT_RESOURCE
}
}
}
attr {
key: "Tout"
value {
list {
type: DT_FLOAT
}
}
}
attr {
key: "_collective_manager_ids"
value {
list {
}
}
}
attr {
key: "_read_only_resource_inputs"
value {
list {
i: 1
i: 2
}
}
}
attr {
key: "config"
value {
s: ""
}
}
attr {
key: "config_proto"
value {
s: "\n\007\n\003CPU\020\001\n\007\n\003GPU\020\0002\002J\0008\001\202\001\000"
}
}
attr {
key: "executor_type"
value {
s: ""
}
}
attr {
key: "f"
value {
func {
name: "__inference_signature_wrapper_494"
}
}
}
}
node {
name: "saver_filename"
op: "Placeholder"
attr {
key: "dtype"
value {
type: DT_STRING
}
}
attr {
key: "shape"
value {
shape {
}
}
}
}
node {
name: "StatefulPartitionedCall_2"
op: "StatefulPartitionedCall"
input: "saver_filename"
input: "Variable/Read/ReadVariableOp"
input: "Adam/iter/Read/ReadVariableOp"
input: "Adam/beta_1/Read/ReadVariableOp"
input: "Adam/beta_2/Read/ReadVariableOp"
input: "Adam/decay/Read/ReadVariableOp"
input: "Adam/learning_rate/Read/ReadVariableOp"
input: "bool_output/kernel/Read/ReadVariableOp"
input: "bool_output/bias/Read/ReadVariableOp"
input: "Adam/bool_output/kernel/m/Read/ReadVariableOp"
input: "Adam/bool_output/bias/m/Read/ReadVariableOp"
input: "Adam/bool_output/kernel/v/Read/ReadVariableOp"
input: "Adam/bool_output/bias/v/Read/ReadVariableOp"
input: "Const"
attr {
key: "Tin"
value {
list {
type: DT_STRING
type: DT_INT32
type: DT_INT64
type: DT_FLOAT
type: DT_FLOAT
type: DT_FLOAT
type: DT_FLOAT
type: DT_FLOAT
type: DT_FLOAT
type: DT_FLOAT
type: DT_FLOAT
type: DT_FLOAT
type: DT_FLOAT
type: DT_STRING
}
}
}
attr {
key: "Tout"
value {
list {
type: DT_STRING
}
}
}
attr {
key: "_collective_manager_ids"
value {
list {
}
}
}
attr {
key: "_read_only_resource_inputs"
value {
list {
}
}
}
attr {
key: "config"
value {
s: ""
}
}
attr {
key: "config_proto"
value {
s: "\n\007\n\003CPU\020\001\n\007\n\003GPU\020\0002\002J\0008\001\202\001\000"
}
}
attr {
key: "executor_type"
value {
s: ""
}
}
attr {
key: "f"
value {
func {
name: "__inference__traced_save_719"
}
}
}
}
node {
name: "StatefulPartitionedCall_3"
op: "StatefulPartitionedCall"
input: "saver_filename"
input: "Variable"
input: "Adam/iter"
input: "Adam/beta_1"
input: "Adam/beta_2"
input: "Adam/decay"
input: "Adam/learning_rate"
input: "bool_output/kernel"
input: "bool_output/bias"
input: "Adam/bool_output/kernel/m"
input: "Adam/bool_output/bias/m"
input: "Adam/bool_output/kernel/v"
input: "Adam/bool_output/bias/v"
attr {
key: "Tin"
value {
list {
type: DT_STRING
type: DT_RESOURCE
type: DT_RESOURCE
type: DT_RESOURCE
type: DT_RESOURCE
type: DT_RESOURCE
type: DT_RESOURCE
type: DT_RESOURCE
type: DT_RESOURCE
type: DT_RESOURCE
type: DT_RESOURCE
type: DT_RESOURCE
type: DT_RESOURCE
}
}
}
attr {
key: "Tout"
value {
list {
type: DT_STRING
}
}
}
attr {
key: "_collective_manager_ids"
value {
list {
}
}
}
attr {
key: "_read_only_resource_inputs"
value {
list {
}
}
}
attr {
key: "config"
value {
s: ""
}
}
attr {
key: "config_proto"
value {
s: "\n\007\n\003CPU\020\001\n\007\n\003GPU\020\0002\002J\0008\001\202\001\000"
}
}
attr {
key: "executor_type"
value {
s: ""
}
}
attr {
key: "f"
value {
func {
name: "__inference__traced_restore_765"
}
}
}
}
library {
function {
signature {
name: "__inference_model_layer_call_and_return_conditional_losses_628"
input_arg {
name: "inputs"
type: DT_FLOAT
}
input_arg {
name: "bool_output_matmul_readvariableop_resource"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 3
}
dim {
size: 1
}
}
}
}
input_arg {
name: "bool_output_biasadd_readvariableop_resource"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 1
}
}
}
}
output_arg {
name: "identity"
type: DT_FLOAT
}
is_stateful: true
control_output: "bool_output/BiasAdd/ReadVariableOp"
control_output: "bool_output/MatMul/ReadVariableOp"
}
node_def {
name: "bool_output/MatMul/ReadVariableOp"
op: "ReadVariableOp"
input: "bool_output_matmul_readvariableop_resource"
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 3
}
dim {
size: 1
}
}
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
experimental_debug_info {
original_node_names: "bool_output/MatMul/ReadVariableOp"
}
}
node_def {
name: "bool_output/MatMul"
op: "MatMul"
input: "inputs"
input: "bool_output/MatMul/ReadVariableOp:value:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "bool_output/MatMul"
}
}
node_def {
name: "bool_output/BiasAdd/ReadVariableOp"
op: "ReadVariableOp"
input: "bool_output_biasadd_readvariableop_resource"
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 1
}
}
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
experimental_debug_info {
original_node_names: "bool_output/BiasAdd/ReadVariableOp"
}
}
node_def {
name: "bool_output/BiasAdd"
op: "BiasAdd"
input: "bool_output/MatMul:product:0"
input: "bool_output/BiasAdd/ReadVariableOp:value:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "bool_output/BiasAdd"
}
}
node_def {
name: "Identity"
op: "Identity"
input: "bool_output/BiasAdd:output:0"
input: "^NoOp"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "Identity"
}
}
node_def {
name: "NoOp"
op: "NoOp"
input: "^bool_output/BiasAdd/ReadVariableOp"
input: "^bool_output/MatMul/ReadVariableOp"
attr {
key: "_acd_function_control_output"
value {
b: true
}
}
attr {
key: "_output_shapes"
value {
list {
}
}
}
experimental_debug_info {
original_node_names: "NoOp"
}
}
ret {
key: "identity"
value: "Identity:output:0"
}
attr {
key: "_construction_context"
value {
s: "kEagerRuntime"
}
}
attr {
key: "_input_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 3
}
}
shape {
}
shape {
}
}
}
}
control_ret {
key: "bool_output/BiasAdd/ReadVariableOp"
value: "bool_output/BiasAdd/ReadVariableOp"
}
control_ret {
key: "bool_output/MatMul/ReadVariableOp"
value: "bool_output/MatMul/ReadVariableOp"
}
arg_attr {
key: 0
value {
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 3
}
}
}
}
}
attr {
key: "_user_specified_name"
value {
s: "inputs"
}
}
}
}
}
function {
signature {
name: "__inference_model_layer_call_fn_536"
input_arg {
name: "bool_input"
type: DT_FLOAT
}
input_arg {
name: "unknown"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 3
}
dim {
size: 1
}
}
}
}
input_arg {
name: "unknown_0"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 1
}
}
}
}
output_arg {
name: "identity"
type: DT_FLOAT
}
is_stateful: true
control_output: "StatefulPartitionedCall"
}
node_def {
name: "StatefulPartitionedCall"
op: "StatefulPartitionedCall"
input: "bool_input"
input: "unknown"
input: "unknown_0"
attr {
key: "Tin"
value {
list {
type: DT_FLOAT
type: DT_RESOURCE
type: DT_RESOURCE
}
}
}
attr {
key: "Tout"
value {
list {
type: DT_FLOAT
}
}
}
attr {
key: "_collective_manager_ids"
value {
list {
}
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
attr {
key: "_read_only_resource_inputs"
value {
list {
i: 1
i: 2
}
}
}
attr {
key: "config_proto"
value {
s: "\n\007\n\003CPU\020\001\n\007\n\003GPU\020\0002\002J\0008\001\202\001\000"
}
}
attr {
key: "f"
value {
func {
name: "__inference_model_layer_call_and_return_conditional_losses_529"
}
}
}
experimental_debug_info {
original_node_names: "StatefulPartitionedCall"
}
}
node_def {
name: "Identity"
op: "Identity"
input: "StatefulPartitionedCall:output:0"
input: "^NoOp"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "Identity"
}
}
node_def {
name: "NoOp"
op: "NoOp"
input: "^StatefulPartitionedCall"
attr {
key: "_acd_function_control_output"
value {
b: true
}
}
attr {
key: "_output_shapes"
value {
list {
}
}
}
experimental_debug_info {
original_node_names: "NoOp"
}
}
ret {
key: "identity"
value: "Identity:output:0"
}
attr {
key: "_construction_context"
value {
s: "kEagerRuntime"
}
}
attr {
key: "_input_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 3
}
}
shape {
}
shape {
}
}
}
}
control_ret {
key: "StatefulPartitionedCall"
value: "StatefulPartitionedCall"
}
arg_attr {
key: 0
value {
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 3
}
}
}
}
}
attr {
key: "_user_specified_name"
value {
s: "bool_input"
}
}
}
}
}
function {
signature {
name: "__inference_model_layer_call_and_return_conditional_losses_638"
input_arg {
name: "inputs"
type: DT_FLOAT
}
input_arg {
name: "bool_output_matmul_readvariableop_resource"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 3
}
dim {
size: 1
}
}
}
}
input_arg {
name: "bool_output_biasadd_readvariableop_resource"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 1
}
}
}
}
output_arg {
name: "identity"
type: DT_FLOAT
}
is_stateful: true
control_output: "bool_output/BiasAdd/ReadVariableOp"
control_output: "bool_output/MatMul/ReadVariableOp"
}
node_def {
name: "bool_output/MatMul/ReadVariableOp"
op: "ReadVariableOp"
input: "bool_output_matmul_readvariableop_resource"
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 3
}
dim {
size: 1
}
}
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
experimental_debug_info {
original_node_names: "bool_output/MatMul/ReadVariableOp"
}
}
node_def {
name: "bool_output/MatMul"
op: "MatMul"
input: "inputs"
input: "bool_output/MatMul/ReadVariableOp:value:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "bool_output/MatMul"
}
}
node_def {
name: "bool_output/BiasAdd/ReadVariableOp"
op: "ReadVariableOp"
input: "bool_output_biasadd_readvariableop_resource"
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 1
}
}
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
experimental_debug_info {
original_node_names: "bool_output/BiasAdd/ReadVariableOp"
}
}
node_def {
name: "bool_output/BiasAdd"
op: "BiasAdd"
input: "bool_output/MatMul:product:0"
input: "bool_output/BiasAdd/ReadVariableOp:value:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "bool_output/BiasAdd"
}
}
node_def {
name: "Identity"
op: "Identity"
input: "bool_output/BiasAdd:output:0"
input: "^NoOp"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "Identity"
}
}
node_def {
name: "NoOp"
op: "NoOp"
input: "^bool_output/BiasAdd/ReadVariableOp"
input: "^bool_output/MatMul/ReadVariableOp"
attr {
key: "_acd_function_control_output"
value {
b: true
}
}
attr {
key: "_output_shapes"
value {
list {
}
}
}
experimental_debug_info {
original_node_names: "NoOp"
}
}
ret {
key: "identity"
value: "Identity:output:0"
}
attr {
key: "_construction_context"
value {
s: "kEagerRuntime"
}
}
attr {
key: "_input_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 3
}
}
shape {
}
shape {
}
}
}
}
control_ret {
key: "bool_output/BiasAdd/ReadVariableOp"
value: "bool_output/BiasAdd/ReadVariableOp"
}
control_ret {
key: "bool_output/MatMul/ReadVariableOp"
value: "bool_output/MatMul/ReadVariableOp"
}
arg_attr {
key: 0
value {
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 3
}
}
}
}
}
attr {
key: "_user_specified_name"
value {
s: "inputs"
}
}
}
}
}
function {
signature {
name: "__inference__wrapped_model_505"
input_arg {
name: "bool_input"
type: DT_FLOAT
}
input_arg {
name: "model_bool_output_matmul_readvariableop_resource"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 3
}
dim {
size: 1
}
}
}
}
input_arg {
name: "model_bool_output_biasadd_readvariableop_resource"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 1
}
}
}
}
output_arg {
name: "identity"
type: DT_FLOAT
}
is_stateful: true
control_output: "model/bool_output/BiasAdd/ReadVariableOp"
control_output: "model/bool_output/MatMul/ReadVariableOp"
}
node_def {
name: "model/bool_output/MatMul/ReadVariableOp"
op: "ReadVariableOp"
input: "model_bool_output_matmul_readvariableop_resource"
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 3
}
dim {
size: 1
}
}
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
experimental_debug_info {
original_node_names: "model/bool_output/MatMul/ReadVariableOp"
}
}
node_def {
name: "model/bool_output/MatMul"
op: "MatMul"
input: "bool_input"
input: "model/bool_output/MatMul/ReadVariableOp:value:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "model/bool_output/MatMul"
}
}
node_def {
name: "model/bool_output/BiasAdd/ReadVariableOp"
op: "ReadVariableOp"
input: "model_bool_output_biasadd_readvariableop_resource"
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 1
}
}
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
experimental_debug_info {
original_node_names: "model/bool_output/BiasAdd/ReadVariableOp"
}
}
node_def {
name: "model/bool_output/BiasAdd"
op: "BiasAdd"
input: "model/bool_output/MatMul:product:0"
input: "model/bool_output/BiasAdd/ReadVariableOp:value:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "model/bool_output/BiasAdd"
}
}
node_def {
name: "Identity"
op: "Identity"
input: "model/bool_output/BiasAdd:output:0"
input: "^NoOp"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "Identity"
}
}
node_def {
name: "NoOp"
op: "NoOp"
input: "^model/bool_output/BiasAdd/ReadVariableOp"
input: "^model/bool_output/MatMul/ReadVariableOp"
attr {
key: "_acd_function_control_output"
value {
b: true
}
}
attr {
key: "_output_shapes"
value {
list {
}
}
}
experimental_debug_info {
original_node_names: "NoOp"
}
}
ret {
key: "identity"
value: "Identity:output:0"
}
attr {
key: "_construction_context"
value {
s: "kEagerRuntime"
}
}
attr {
key: "_input_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 3
}
}
shape {
}
shape {
}
}
}
}
control_ret {
key: "model/bool_output/BiasAdd/ReadVariableOp"
value: "model/bool_output/BiasAdd/ReadVariableOp"
}
control_ret {
key: "model/bool_output/MatMul/ReadVariableOp"
value: "model/bool_output/MatMul/ReadVariableOp"
}
arg_attr {
key: 0
value {
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 3
}
}
}
}
}
attr {
key: "_user_specified_name"
value {
s: "bool_input"
}
}
}
}
}
function {
signature {
name: "__inference_signature_wrapper_494"
input_arg {
name: "data"
type: DT_FLOAT
}
input_arg {
name: "unknown"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 3
}
dim {
size: 1
}
}
}
}
input_arg {
name: "unknown_0"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 1
}
}
}
}
output_arg {
name: "identity"
type: DT_FLOAT
}
is_stateful: true
control_output: "StatefulPartitionedCall"
}
node_def {
name: "StatefulPartitionedCall"
op: "StatefulPartitionedCall"
input: "data"
input: "unknown"
input: "unknown_0"
attr {
key: "Tin"
value {
list {
type: DT_FLOAT
type: DT_RESOURCE
type: DT_RESOURCE
}
}
}
attr {
key: "Tout"
value {
list {
type: DT_FLOAT
}
}
}
attr {
key: "_collective_manager_ids"
value {
list {
}
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
attr {
key: "_read_only_resource_inputs"
value {
list {
i: 1
i: 2
}
}
}
attr {
key: "config_proto"
value {
s: "\n\007\n\003CPU\020\001\n\007\n\003GPU\020\0002\002J\0008\001\202\001\000"
}
}
attr {
key: "f"
value {
func {
name: "__inference_predict_483"
}
}
}
experimental_debug_info {
original_node_names: "StatefulPartitionedCall"
}
}
node_def {
name: "Identity"
op: "Identity"
input: "StatefulPartitionedCall:output:0"
input: "^NoOp"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "Identity"
}
}
node_def {
name: "NoOp"
op: "NoOp"
input: "^StatefulPartitionedCall"
attr {
key: "_acd_function_control_output"
value {
b: true
}
}
attr {
key: "_output_shapes"
value {
list {
}
}
}
experimental_debug_info {
original_node_names: "NoOp"
}
}
ret {
key: "identity"
value: "Identity:output:0"
}
attr {
key: "_construction_context"
value {
s: "kEagerRuntime"
}
}
attr {
key: "_input_shapes"
value {
list {
shape {
dim {
size: -1
}
dim {
size: 3
}
}
shape {
}
shape {
}
}
}
}
control_ret {
key: "StatefulPartitionedCall"
value: "StatefulPartitionedCall"
}
arg_attr {
key: 0
value {
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: -1
}
dim {
size: 3
}
}
}
}
}
attr {
key: "_user_specified_name"
value {
s: "data"
}
}
}
}
}
function {
signature {
name: "__inference_signature_wrapper_473"
input_arg {
name: "data"
type: DT_FLOAT
}
input_arg {
name: "labels"
type: DT_FLOAT
}
input_arg {
name: "unknown"
type: DT_RESOURCE
handle_data {
dtype: DT_INT32
shape {
}
}
}
input_arg {
name: "unknown_0"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 3
}
dim {
size: 1
}
}
}
}
input_arg {
name: "unknown_1"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 1
}
}
}
}
input_arg {
name: "unknown_2"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
}
}
}
input_arg {
name: "unknown_3"
type: DT_RESOURCE
handle_data {
dtype: DT_INT64
shape {
}
}
}
input_arg {
name: "unknown_4"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
}
}
}
input_arg {
name: "unknown_5"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
}
}
}
input_arg {
name: "unknown_6"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 3
}
dim {
size: 1
}
}
}
}
input_arg {
name: "unknown_7"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 3
}
dim {
size: 1
}
}
}
}
input_arg {
name: "unknown_8"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 1
}
}
}
}
input_arg {
name: "unknown_9"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 1
}
}
}
}
output_arg {
name: "identity"
type: DT_FLOAT
}
is_stateful: true
control_output: "StatefulPartitionedCall"
}
node_def {
name: "StatefulPartitionedCall"
op: "StatefulPartitionedCall"
input: "data"
input: "labels"
input: "unknown"
input: "unknown_0"
input: "unknown_1"
input: "unknown_2"
input: "unknown_3"
input: "unknown_4"
input: "unknown_5"
input: "unknown_6"
input: "unknown_7"
input: "unknown_8"
input: "unknown_9"
attr {
key: "Tin"
value {
list {
type: DT_FLOAT
type: DT_FLOAT
type: DT_RESOURCE
type: DT_RESOURCE
type: DT_RESOURCE
type: DT_RESOURCE
type: DT_RESOURCE
type: DT_RESOURCE
type: DT_RESOURCE
type: DT_RESOURCE
type: DT_RESOURCE
type: DT_RESOURCE
type: DT_RESOURCE
}
}
}
attr {
key: "Tout"
value {
list {
type: DT_FLOAT
}
}
}
attr {
key: "_collective_manager_ids"
value {
list {
}
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
}
}
}
}
attr {
key: "_read_only_resource_inputs"
value {
list {
i: 5
i: 7
i: 8
}
}
}
attr {
key: "config_proto"
value {
s: "\n\007\n\003CPU\020\001\n\007\n\003GPU\020\0002\002J\0008\001\202\001\000"
}
}
attr {
key: "f"
value {
func {
name: "__inference_learn_443"
}
}
}
experimental_debug_info {
original_node_names: "StatefulPartitionedCall"
}
}
node_def {
name: "Identity"
op: "Identity"
input: "StatefulPartitionedCall:output:0"
input: "^NoOp"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
}
}
}
}
experimental_debug_info {
original_node_names: "Identity"
}
}
node_def {
name: "NoOp"
op: "NoOp"
input: "^StatefulPartitionedCall"
attr {
key: "_acd_function_control_output"
value {
b: true
}
}
attr {
key: "_output_shapes"
value {
list {
}
}
}
experimental_debug_info {
original_node_names: "NoOp"
}
}
ret {
key: "identity"
value: "Identity:output:0"
}
attr {
key: "_construction_context"
value {
s: "kEagerRuntime"
}
}
attr {
key: "_input_shapes"
value {
list {
shape {
dim {
size: -1
}
dim {
size: 3
}
}
shape {
dim {
size: -1
}
dim {
size: 1
}
}
shape {
}
shape {
}
shape {
}
shape {
}
shape {
}
shape {
}
shape {
}
shape {
}
shape {
}
shape {
}
shape {
}
}
}
}
control_ret {
key: "StatefulPartitionedCall"
value: "StatefulPartitionedCall"
}
arg_attr {
key: 0
value {
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: -1
}
dim {
size: 3
}
}
}
}
}
attr {
key: "_user_specified_name"
value {
s: "data"
}
}
}
}
arg_attr {
key: 1
value {
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: -1
}
dim {
size: 1
}
}
}
}
}
attr {
key: "_user_specified_name"
value {
s: "labels"
}
}
}
}
}
function {
signature {
name: "__inference_model_layer_call_fn_582"
input_arg {
name: "bool_input"
type: DT_FLOAT
}
input_arg {
name: "unknown"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 3
}
dim {
size: 1
}
}
}
}
input_arg {
name: "unknown_0"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 1
}
}
}
}
output_arg {
name: "identity"
type: DT_FLOAT
}
is_stateful: true
control_output: "StatefulPartitionedCall"
}
node_def {
name: "StatefulPartitionedCall"
op: "StatefulPartitionedCall"
input: "bool_input"
input: "unknown"
input: "unknown_0"
attr {
key: "Tin"
value {
list {
type: DT_FLOAT
type: DT_RESOURCE
type: DT_RESOURCE
}
}
}
attr {
key: "Tout"
value {
list {
type: DT_FLOAT
}
}
}
attr {
key: "_collective_manager_ids"
value {
list {
}
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
attr {
key: "_read_only_resource_inputs"
value {
list {
i: 1
i: 2
}
}
}
attr {
key: "config_proto"
value {
s: "\n\007\n\003CPU\020\001\n\007\n\003GPU\020\0002\002J\0008\001\202\001\000"
}
}
attr {
key: "f"
value {
func {
name: "__inference_model_layer_call_and_return_conditional_losses_566"
}
}
}
experimental_debug_info {
original_node_names: "StatefulPartitionedCall"
}
}
node_def {
name: "Identity"
op: "Identity"
input: "StatefulPartitionedCall:output:0"
input: "^NoOp"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "Identity"
}
}
node_def {
name: "NoOp"
op: "NoOp"
input: "^StatefulPartitionedCall"
attr {
key: "_acd_function_control_output"
value {
b: true
}
}
attr {
key: "_output_shapes"
value {
list {
}
}
}
experimental_debug_info {
original_node_names: "NoOp"
}
}
ret {
key: "identity"
value: "Identity:output:0"
}
attr {
key: "_construction_context"
value {
s: "kEagerRuntime"
}
}
attr {
key: "_input_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 3
}
}
shape {
}
shape {
}
}
}
}
control_ret {
key: "StatefulPartitionedCall"
value: "StatefulPartitionedCall"
}
arg_attr {
key: 0
value {
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 3
}
}
}
}
}
attr {
key: "_user_specified_name"
value {
s: "bool_input"
}
}
}
}
}
function {
signature {
name: "__inference_model_layer_call_and_return_conditional_losses_591"
input_arg {
name: "bool_input"
type: DT_FLOAT
}
input_arg {
name: "bool_output_585"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 3
}
dim {
size: 1
}
}
}
}
input_arg {
name: "bool_output_587"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 1
}
}
}
}
output_arg {
name: "identity"
type: DT_FLOAT
}
is_stateful: true
control_output: "bool_output/StatefulPartitionedCall"
}
node_def {
name: "bool_output/StatefulPartitionedCall"
op: "StatefulPartitionedCall"
input: "bool_input"
input: "bool_output_585"
input: "bool_output_587"
attr {
key: "Tin"
value {
list {
type: DT_FLOAT
type: DT_RESOURCE
type: DT_RESOURCE
}
}
}
attr {
key: "Tout"
value {
list {
type: DT_FLOAT
}
}
}
attr {
key: "_collective_manager_ids"
value {
list {
}
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
attr {
key: "_read_only_resource_inputs"
value {
list {
i: 1
i: 2
}
}
}
attr {
key: "config_proto"
value {
s: "\n\007\n\003CPU\020\001\n\007\n\003GPU\020\0002\002J\0008\001\202\001\000"
}
}
attr {
key: "f"
value {
func {
name: "__inference_bool_output_layer_call_and_return_conditional_losses_522"
}
}
}
experimental_debug_info {
original_node_names: "bool_output/StatefulPartitionedCall"
}
}
node_def {
name: "Identity"
op: "Identity"
input: "bool_output/StatefulPartitionedCall:output:0"
input: "^NoOp"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "Identity"
}
}
node_def {
name: "NoOp"
op: "NoOp"
input: "^bool_output/StatefulPartitionedCall"
attr {
key: "_acd_function_control_output"
value {
b: true
}
}
attr {
key: "_output_shapes"
value {
list {
}
}
}
experimental_debug_info {
original_node_names: "NoOp"
}
}
ret {
key: "identity"
value: "Identity:output:0"
}
attr {
key: "_construction_context"
value {
s: "kEagerRuntime"
}
}
attr {
key: "_input_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 3
}
}
shape {
}
shape {
}
}
}
}
control_ret {
key: "bool_output/StatefulPartitionedCall"
value: "bool_output/StatefulPartitionedCall"
}
arg_attr {
key: 0
value {
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 3
}
}
}
}
}
attr {
key: "_user_specified_name"
value {
s: "bool_input"
}
}
}
}
}
function {
signature {
name: "__inference_model_layer_call_and_return_conditional_losses_529"
input_arg {
name: "inputs"
type: DT_FLOAT
}
input_arg {
name: "bool_output_523"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 3
}
dim {
size: 1
}
}
}
}
input_arg {
name: "bool_output_525"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 1
}
}
}
}
output_arg {
name: "identity"
type: DT_FLOAT
}
is_stateful: true
control_output: "bool_output/StatefulPartitionedCall"
}
node_def {
name: "bool_output/StatefulPartitionedCall"
op: "StatefulPartitionedCall"
input: "inputs"
input: "bool_output_523"
input: "bool_output_525"
attr {
key: "Tin"
value {
list {
type: DT_FLOAT
type: DT_RESOURCE
type: DT_RESOURCE
}
}
}
attr {
key: "Tout"
value {
list {
type: DT_FLOAT
}
}
}
attr {
key: "_collective_manager_ids"
value {
list {
}
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
attr {
key: "_read_only_resource_inputs"
value {
list {
i: 1
i: 2
}
}
}
attr {
key: "config_proto"
value {
s: "\n\007\n\003CPU\020\001\n\007\n\003GPU\020\0002\002J\0008\001\202\001\000"
}
}
attr {
key: "f"
value {
func {
name: "__inference_bool_output_layer_call_and_return_conditional_losses_522"
}
}
}
experimental_debug_info {
original_node_names: "bool_output/StatefulPartitionedCall"
}
}
node_def {
name: "Identity"
op: "Identity"
input: "bool_output/StatefulPartitionedCall:output:0"
input: "^NoOp"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "Identity"
}
}
node_def {
name: "NoOp"
op: "NoOp"
input: "^bool_output/StatefulPartitionedCall"
attr {
key: "_acd_function_control_output"
value {
b: true
}
}
attr {
key: "_output_shapes"
value {
list {
}
}
}
experimental_debug_info {
original_node_names: "NoOp"
}
}
ret {
key: "identity"
value: "Identity:output:0"
}
attr {
key: "_construction_context"
value {
s: "kEagerRuntime"
}
}
attr {
key: "_input_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 3
}
}
shape {
}
shape {
}
}
}
}
control_ret {
key: "bool_output/StatefulPartitionedCall"
value: "bool_output/StatefulPartitionedCall"
}
arg_attr {
key: 0
value {
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 3
}
}
}
}
}
attr {
key: "_user_specified_name"
value {
s: "inputs"
}
}
}
}
}
function {
signature {
name: "__inference_model_layer_call_and_return_conditional_losses_600"
input_arg {
name: "bool_input"
type: DT_FLOAT
}
input_arg {
name: "bool_output_594"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 3
}
dim {
size: 1
}
}
}
}
input_arg {
name: "bool_output_596"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 1
}
}
}
}
output_arg {
name: "identity"
type: DT_FLOAT
}
is_stateful: true
control_output: "bool_output/StatefulPartitionedCall"
}
node_def {
name: "bool_output/StatefulPartitionedCall"
op: "StatefulPartitionedCall"
input: "bool_input"
input: "bool_output_594"
input: "bool_output_596"
attr {
key: "Tin"
value {
list {
type: DT_FLOAT
type: DT_RESOURCE
type: DT_RESOURCE
}
}
}
attr {
key: "Tout"
value {
list {
type: DT_FLOAT
}
}
}
attr {
key: "_collective_manager_ids"
value {
list {
}
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
attr {
key: "_read_only_resource_inputs"
value {
list {
i: 1
i: 2
}
}
}
attr {
key: "config_proto"
value {
s: "\n\007\n\003CPU\020\001\n\007\n\003GPU\020\0002\002J\0008\001\202\001\000"
}
}
attr {
key: "f"
value {
func {
name: "__inference_bool_output_layer_call_and_return_conditional_losses_522"
}
}
}
experimental_debug_info {
original_node_names: "bool_output/StatefulPartitionedCall"
}
}
node_def {
name: "Identity"
op: "Identity"
input: "bool_output/StatefulPartitionedCall:output:0"
input: "^NoOp"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "Identity"
}
}
node_def {
name: "NoOp"
op: "NoOp"
input: "^bool_output/StatefulPartitionedCall"
attr {
key: "_acd_function_control_output"
value {
b: true
}
}
attr {
key: "_output_shapes"
value {
list {
}
}
}
experimental_debug_info {
original_node_names: "NoOp"
}
}
ret {
key: "identity"
value: "Identity:output:0"
}
attr {
key: "_construction_context"
value {
s: "kEagerRuntime"
}
}
attr {
key: "_input_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 3
}
}
shape {
}
shape {
}
}
}
}
control_ret {
key: "bool_output/StatefulPartitionedCall"
value: "bool_output/StatefulPartitionedCall"
}
arg_attr {
key: 0
value {
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 3
}
}
}
}
}
attr {
key: "_user_specified_name"
value {
s: "bool_input"
}
}
}
}
}
function {
signature {
name: "__inference_bool_output_layer_call_fn_647"
input_arg {
name: "inputs"
type: DT_FLOAT
}
input_arg {
name: "unknown"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 3
}
dim {
size: 1
}
}
}
}
input_arg {
name: "unknown_0"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 1
}
}
}
}
output_arg {
name: "identity"
type: DT_FLOAT
}
is_stateful: true
control_output: "StatefulPartitionedCall"
}
node_def {
name: "StatefulPartitionedCall"
op: "StatefulPartitionedCall"
input: "inputs"
input: "unknown"
input: "unknown_0"
attr {
key: "Tin"
value {
list {
type: DT_FLOAT
type: DT_RESOURCE
type: DT_RESOURCE
}
}
}
attr {
key: "Tout"
value {
list {
type: DT_FLOAT
}
}
}
attr {
key: "_collective_manager_ids"
value {
list {
}
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
attr {
key: "_read_only_resource_inputs"
value {
list {
i: 1
i: 2
}
}
}
attr {
key: "config_proto"
value {
s: "\n\007\n\003CPU\020\001\n\007\n\003GPU\020\0002\002J\0008\001\202\001\000"
}
}
attr {
key: "f"
value {
func {
name: "__inference_bool_output_layer_call_and_return_conditional_losses_522"
}
}
}
experimental_debug_info {
original_node_names: "StatefulPartitionedCall"
}
}
node_def {
name: "Identity"
op: "Identity"
input: "StatefulPartitionedCall:output:0"
input: "^NoOp"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "Identity"
}
}
node_def {
name: "NoOp"
op: "NoOp"
input: "^StatefulPartitionedCall"
attr {
key: "_acd_function_control_output"
value {
b: true
}
}
attr {
key: "_output_shapes"
value {
list {
}
}
}
experimental_debug_info {
original_node_names: "NoOp"
}
}
ret {
key: "identity"
value: "Identity:output:0"
}
attr {
key: "_construction_context"
value {
s: "kEagerRuntime"
}
}
attr {
key: "_input_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 3
}
}
shape {
}
shape {
}
}
}
}
control_ret {
key: "StatefulPartitionedCall"
value: "StatefulPartitionedCall"
}
arg_attr {
key: 0
value {
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 3
}
}
}
}
}
attr {
key: "_user_specified_name"
value {
s: "inputs"
}
}
}
}
}
function {
signature {
name: "__inference__traced_restore_765"
input_arg {
name: "file_prefix"
type: DT_STRING
}
input_arg {
name: "assignvariableop_variable"
type: DT_RESOURCE
handle_data {
dtype: DT_INT32
shape {
}
}
}
input_arg {
name: "assignvariableop_1_adam_iter"
type: DT_RESOURCE
handle_data {
dtype: DT_INT64
shape {
}
}
}
input_arg {
name: "assignvariableop_2_adam_beta_1"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
}
}
}
input_arg {
name: "assignvariableop_3_adam_beta_2"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
}
}
}
input_arg {
name: "assignvariableop_4_adam_decay"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
}
}
}
input_arg {
name: "assignvariableop_5_adam_learning_rate"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
}
}
}
input_arg {
name: "assignvariableop_6_bool_output_kernel"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 3
}
dim {
size: 1
}
}
}
}
input_arg {
name: "assignvariableop_7_bool_output_bias"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 1
}
}
}
}
input_arg {
name: "assignvariableop_8_adam_bool_output_kernel_m"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 3
}
dim {
size: 1
}
}
}
}
input_arg {
name: "assignvariableop_9_adam_bool_output_bias_m"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 1
}
}
}
}
input_arg {
name: "assignvariableop_10_adam_bool_output_kernel_v"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 3
}
dim {
size: 1
}
}
}
}
input_arg {
name: "assignvariableop_11_adam_bool_output_bias_v"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 1
}
}
}
}
output_arg {
name: "identity_13"
type: DT_STRING
}
is_stateful: true
control_output: "AssignVariableOp"
control_output: "AssignVariableOp_1"
control_output: "AssignVariableOp_10"
control_output: "AssignVariableOp_11"
control_output: "AssignVariableOp_2"
control_output: "AssignVariableOp_3"
control_output: "AssignVariableOp_4"
control_output: "AssignVariableOp_5"
control_output: "AssignVariableOp_6"
control_output: "AssignVariableOp_7"
control_output: "AssignVariableOp_8"
control_output: "AssignVariableOp_9"
}
node_def {
name: "RestoreV2/tensor_names"
op: "Const"
device: "/device:CPU:0"
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 13
}
}
}
}
}
attr {
key: "dtype"
value {
type: DT_STRING
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_STRING
tensor_shape {
dim {
size: 13
}
}
string_val: "_global_step/.ATTRIBUTES/VARIABLE_VALUE"
string_val: "_optimizer/iter/.ATTRIBUTES/VARIABLE_VALUE"
string_val: "_optimizer/beta_1/.ATTRIBUTES/VARIABLE_VALUE"
string_val: "_optimizer/beta_2/.ATTRIBUTES/VARIABLE_VALUE"
string_val: "_optimizer/decay/.ATTRIBUTES/VARIABLE_VALUE"
string_val: "_optimizer/learning_rate/.ATTRIBUTES/VARIABLE_VALUE"
string_val: "model/layer_with_weights-0/kernel/.ATTRIBUTES/VARIABLE_VALUE"
string_val: "model/layer_with_weights-0/bias/.ATTRIBUTES/VARIABLE_VALUE"
string_val: "model/layer_with_weights-0/kernel/.OPTIMIZER_SLOT/_optimizer/m/.ATTRIBUTES/VARIABLE_VALUE"
string_val: "model/layer_with_weights-0/bias/.OPTIMIZER_SLOT/_optimizer/m/.ATTRIBUTES/VARIABLE_VALUE"
string_val: "model/layer_with_weights-0/kernel/.OPTIMIZER_SLOT/_optimizer/v/.ATTRIBUTES/VARIABLE_VALUE"
string_val: "model/layer_with_weights-0/bias/.OPTIMIZER_SLOT/_optimizer/v/.ATTRIBUTES/VARIABLE_VALUE"
string_val: "_CHECKPOINTABLE_OBJECT_GRAPH"
}
}
}
experimental_debug_info {
original_node_names: "RestoreV2/tensor_names"
}
}
node_def {
name: "RestoreV2/shape_and_slices"
op: "Const"
device: "/device:CPU:0"
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 13
}
}
}
}
}
attr {
key: "dtype"
value {
type: DT_STRING
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_STRING
tensor_shape {
dim {
size: 13
}
}
string_val: ""
string_val: ""
string_val: ""
string_val: ""
string_val: ""
string_val: ""
string_val: ""
string_val: ""
string_val: ""
string_val: ""
string_val: ""
string_val: ""
string_val: ""
}
}
}
experimental_debug_info {
original_node_names: "RestoreV2/shape_and_slices"
}
}
node_def {
name: "RestoreV2"
op: "RestoreV2"
input: "file_prefix"
input: "RestoreV2/tensor_names:output:0"
input: "RestoreV2/shape_and_slices:output:0"
device: "/device:CPU:0"
attr {
key: "_output_shapes"
value {
list {
shape {
unknown_rank: true
}
shape {
unknown_rank: true
}
shape {
unknown_rank: true
}
shape {
unknown_rank: true
}
shape {
unknown_rank: true
}
shape {
unknown_rank: true
}
shape {
unknown_rank: true
}
shape {
unknown_rank: true
}
shape {
unknown_rank: true
}
shape {
unknown_rank: true
}
shape {
unknown_rank: true
}
shape {
unknown_rank: true
}
shape {
unknown_rank: true
}
}
}
}
attr {
key: "dtypes"
value {
list {
type: DT_INT32
type: DT_INT64
type: DT_FLOAT
type: DT_FLOAT
type: DT_FLOAT
type: DT_FLOAT
type: DT_FLOAT
type: DT_FLOAT
type: DT_FLOAT
type: DT_FLOAT
type: DT_FLOAT
type: DT_FLOAT
type: DT_STRING
}
}
}
experimental_debug_info {
original_node_names: "RestoreV2"
}
}
node_def {
name: "Identity"
op: "Identity"
input: "RestoreV2:tensors:0"
device: "/device:CPU:0"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
unknown_rank: true
}
}
}
}
experimental_debug_info {
original_node_names: "Identity"
}
}
node_def {
name: "AssignVariableOp"
op: "AssignVariableOp"
input: "assignvariableop_variable"
input: "Identity:output:0"
device: "/device:CPU:0"
attr {
key: "_output_shapes"
value {
list {
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
experimental_debug_info {
original_node_names: "AssignVariableOp"
}
}
node_def {
name: "Identity_1"
op: "Identity"
input: "RestoreV2:tensors:1"
device: "/device:CPU:0"
attr {
key: "T"
value {
type: DT_INT64
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
unknown_rank: true
}
}
}
}
experimental_debug_info {
original_node_names: "Identity_1"
}
}
node_def {
name: "AssignVariableOp_1"
op: "AssignVariableOp"
input: "assignvariableop_1_adam_iter"
input: "Identity_1:output:0"
device: "/device:CPU:0"
attr {
key: "_output_shapes"
value {
list {
}
}
}
attr {
key: "dtype"
value {
type: DT_INT64
}
}
experimental_debug_info {
original_node_names: "AssignVariableOp_1"
}
}
node_def {
name: "Identity_2"
op: "Identity"
input: "RestoreV2:tensors:2"
device: "/device:CPU:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
unknown_rank: true
}
}
}
}
experimental_debug_info {
original_node_names: "Identity_2"
}
}
node_def {
name: "AssignVariableOp_2"
op: "AssignVariableOp"
input: "assignvariableop_2_adam_beta_1"
input: "Identity_2:output:0"
device: "/device:CPU:0"
attr {
key: "_output_shapes"
value {
list {
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
experimental_debug_info {
original_node_names: "AssignVariableOp_2"
}
}
node_def {
name: "Identity_3"
op: "Identity"
input: "RestoreV2:tensors:3"
device: "/device:CPU:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
unknown_rank: true
}
}
}
}
experimental_debug_info {
original_node_names: "Identity_3"
}
}
node_def {
name: "AssignVariableOp_3"
op: "AssignVariableOp"
input: "assignvariableop_3_adam_beta_2"
input: "Identity_3:output:0"
device: "/device:CPU:0"
attr {
key: "_output_shapes"
value {
list {
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
experimental_debug_info {
original_node_names: "AssignVariableOp_3"
}
}
node_def {
name: "Identity_4"
op: "Identity"
input: "RestoreV2:tensors:4"
device: "/device:CPU:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
unknown_rank: true
}
}
}
}
experimental_debug_info {
original_node_names: "Identity_4"
}
}
node_def {
name: "AssignVariableOp_4"
op: "AssignVariableOp"
input: "assignvariableop_4_adam_decay"
input: "Identity_4:output:0"
device: "/device:CPU:0"
attr {
key: "_output_shapes"
value {
list {
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
experimental_debug_info {
original_node_names: "AssignVariableOp_4"
}
}
node_def {
name: "Identity_5"
op: "Identity"
input: "RestoreV2:tensors:5"
device: "/device:CPU:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
unknown_rank: true
}
}
}
}
experimental_debug_info {
original_node_names: "Identity_5"
}
}
node_def {
name: "AssignVariableOp_5"
op: "AssignVariableOp"
input: "assignvariableop_5_adam_learning_rate"
input: "Identity_5:output:0"
device: "/device:CPU:0"
attr {
key: "_output_shapes"
value {
list {
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
experimental_debug_info {
original_node_names: "AssignVariableOp_5"
}
}
node_def {
name: "Identity_6"
op: "Identity"
input: "RestoreV2:tensors:6"
device: "/device:CPU:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
unknown_rank: true
}
}
}
}
experimental_debug_info {
original_node_names: "Identity_6"
}
}
node_def {
name: "AssignVariableOp_6"
op: "AssignVariableOp"
input: "assignvariableop_6_bool_output_kernel"
input: "Identity_6:output:0"
device: "/device:CPU:0"
attr {
key: "_output_shapes"
value {
list {
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
experimental_debug_info {
original_node_names: "AssignVariableOp_6"
}
}
node_def {
name: "Identity_7"
op: "Identity"
input: "RestoreV2:tensors:7"
device: "/device:CPU:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
unknown_rank: true
}
}
}
}
experimental_debug_info {
original_node_names: "Identity_7"
}
}
node_def {
name: "AssignVariableOp_7"
op: "AssignVariableOp"
input: "assignvariableop_7_bool_output_bias"
input: "Identity_7:output:0"
device: "/device:CPU:0"
attr {
key: "_output_shapes"
value {
list {
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
experimental_debug_info {
original_node_names: "AssignVariableOp_7"
}
}
node_def {
name: "Identity_8"
op: "Identity"
input: "RestoreV2:tensors:8"
device: "/device:CPU:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
unknown_rank: true
}
}
}
}
experimental_debug_info {
original_node_names: "Identity_8"
}
}
node_def {
name: "AssignVariableOp_8"
op: "AssignVariableOp"
input: "assignvariableop_8_adam_bool_output_kernel_m"
input: "Identity_8:output:0"
device: "/device:CPU:0"
attr {
key: "_output_shapes"
value {
list {
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
experimental_debug_info {
original_node_names: "AssignVariableOp_8"
}
}
node_def {
name: "Identity_9"
op: "Identity"
input: "RestoreV2:tensors:9"
device: "/device:CPU:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
unknown_rank: true
}
}
}
}
experimental_debug_info {
original_node_names: "Identity_9"
}
}
node_def {
name: "AssignVariableOp_9"
op: "AssignVariableOp"
input: "assignvariableop_9_adam_bool_output_bias_m"
input: "Identity_9:output:0"
device: "/device:CPU:0"
attr {
key: "_output_shapes"
value {
list {
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
experimental_debug_info {
original_node_names: "AssignVariableOp_9"
}
}
node_def {
name: "Identity_10"
op: "Identity"
input: "RestoreV2:tensors:10"
device: "/device:CPU:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
unknown_rank: true
}
}
}
}
experimental_debug_info {
original_node_names: "Identity_10"
}
}
node_def {
name: "AssignVariableOp_10"
op: "AssignVariableOp"
input: "assignvariableop_10_adam_bool_output_kernel_v"
input: "Identity_10:output:0"
device: "/device:CPU:0"
attr {
key: "_output_shapes"
value {
list {
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
experimental_debug_info {
original_node_names: "AssignVariableOp_10"
}
}
node_def {
name: "Identity_11"
op: "Identity"
input: "RestoreV2:tensors:11"
device: "/device:CPU:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
unknown_rank: true
}
}
}
}
experimental_debug_info {
original_node_names: "Identity_11"
}
}
node_def {
name: "AssignVariableOp_11"
op: "AssignVariableOp"
input: "assignvariableop_11_adam_bool_output_bias_v"
input: "Identity_11:output:0"
device: "/device:CPU:0"
attr {
key: "_output_shapes"
value {
list {
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
experimental_debug_info {
original_node_names: "AssignVariableOp_11"
}
}
node_def {
name: "NoOp"
op: "NoOp"
device: "/device:CPU:0"
attr {
key: "_output_shapes"
value {
list {
}
}
}
experimental_debug_info {
original_node_names: "NoOp"
}
}
node_def {
name: "Identity_12"
op: "Identity"
input: "file_prefix"
input: "^AssignVariableOp"
input: "^AssignVariableOp_1"
input: "^AssignVariableOp_10"
input: "^AssignVariableOp_11"
input: "^AssignVariableOp_2"
input: "^AssignVariableOp_3"
input: "^AssignVariableOp_4"
input: "^AssignVariableOp_5"
input: "^AssignVariableOp_6"
input: "^AssignVariableOp_7"
input: "^AssignVariableOp_8"
input: "^AssignVariableOp_9"
input: "^NoOp"
device: "/device:CPU:0"
attr {
key: "T"
value {
type: DT_STRING
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
}
}
}
}
experimental_debug_info {
original_node_names: "Identity_12"
}
}
node_def {
name: "Identity_13"
op: "Identity"
input: "Identity_12:output:0"
input: "^NoOp_1"
attr {
key: "T"
value {
type: DT_STRING
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
}
}
}
}
experimental_debug_info {
original_node_names: "Identity_13"
}
}
node_def {
name: "NoOp_1"
op: "NoOp"
input: "^AssignVariableOp"
input: "^AssignVariableOp_1"
input: "^AssignVariableOp_10"
input: "^AssignVariableOp_11"
input: "^AssignVariableOp_2"
input: "^AssignVariableOp_3"
input: "^AssignVariableOp_4"
input: "^AssignVariableOp_5"
input: "^AssignVariableOp_6"
input: "^AssignVariableOp_7"
input: "^AssignVariableOp_8"
input: "^AssignVariableOp_9"
attr {
key: "_acd_function_control_output"
value {
b: true
}
}
attr {
key: "_output_shapes"
value {
list {
}
}
}
experimental_debug_info {
original_node_names: "NoOp_1"
}
}
ret {
key: "identity_13"
value: "Identity_13:output:0"
}
attr {
key: "_input_shapes"
value {
list {
shape {
}
shape {
}
shape {
}
shape {
}
shape {
}
shape {
}
shape {
}
shape {
}
shape {
}
shape {
}
shape {
}
shape {
}
shape {
}
}
}
}
control_ret {
key: "AssignVariableOp"
value: "AssignVariableOp"
}
control_ret {
key: "AssignVariableOp_1"
value: "AssignVariableOp_1"
}
control_ret {
key: "AssignVariableOp_10"
value: "AssignVariableOp_10"
}
control_ret {
key: "AssignVariableOp_11"
value: "AssignVariableOp_11"
}
control_ret {
key: "AssignVariableOp_2"
value: "AssignVariableOp_2"
}
control_ret {
key: "AssignVariableOp_3"
value: "AssignVariableOp_3"
}
control_ret {
key: "AssignVariableOp_4"
value: "AssignVariableOp_4"
}
control_ret {
key: "AssignVariableOp_5"
value: "AssignVariableOp_5"
}
control_ret {
key: "AssignVariableOp_6"
value: "AssignVariableOp_6"
}
control_ret {
key: "AssignVariableOp_7"
value: "AssignVariableOp_7"
}
control_ret {
key: "AssignVariableOp_8"
value: "AssignVariableOp_8"
}
control_ret {
key: "AssignVariableOp_9"
value: "AssignVariableOp_9"
}
arg_attr {
key: 0
value {
attr {
key: "_output_shapes"
value {
list {
shape {
}
}
}
}
attr {
key: "_user_specified_name"
value {
s: "file_prefix"
}
}
}
}
}
function {
signature {
name: "__inference__traced_save_719"
input_arg {
name: "file_prefix"
type: DT_STRING
}
input_arg {
name: "savev2_variable_read_readvariableop"
type: DT_INT32
}
input_arg {
name: "savev2_adam_iter_read_readvariableop"
type: DT_INT64
}
input_arg {
name: "savev2_adam_beta_1_read_readvariableop"
type: DT_FLOAT
}
input_arg {
name: "savev2_adam_beta_2_read_readvariableop"
type: DT_FLOAT
}
input_arg {
name: "savev2_adam_decay_read_readvariableop"
type: DT_FLOAT
}
input_arg {
name: "savev2_adam_learning_rate_read_readvariableop"
type: DT_FLOAT
}
input_arg {
name: "savev2_bool_output_kernel_read_readvariableop"
type: DT_FLOAT
}
input_arg {
name: "savev2_bool_output_bias_read_readvariableop"
type: DT_FLOAT
}
input_arg {
name: "savev2_adam_bool_output_kernel_m_read_readvariableop"
type: DT_FLOAT
}
input_arg {
name: "savev2_adam_bool_output_bias_m_read_readvariableop"
type: DT_FLOAT
}
input_arg {
name: "savev2_adam_bool_output_kernel_v_read_readvariableop"
type: DT_FLOAT
}
input_arg {
name: "savev2_adam_bool_output_bias_v_read_readvariableop"
type: DT_FLOAT
}
input_arg {
name: "savev2_const"
type: DT_STRING
}
output_arg {
name: "identity_1"
type: DT_STRING
}
is_stateful: true
control_output: "MergeV2Checkpoints"
}
node_def {
name: "StaticRegexFullMatch"
op: "StaticRegexFullMatch"
input: "file_prefix"
device: "/device:CPU:*"
attr {
key: "_output_shapes"
value {
list {
shape {
}
}
}
}
attr {
key: "pattern"
value {
s: "^s3://.*"
}
}
experimental_debug_info {
original_node_names: "StaticRegexFullMatch"
}
}
node_def {
name: "Const"
op: "Const"
device: "/device:CPU:*"
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: ".part"
}
}
}
experimental_debug_info {
original_node_names: "Const"
}
}
node_def {
name: "Const_1"
op: "Const"
device: "/device:CPU:*"
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/part"
}
}
}
experimental_debug_info {
original_node_names: "Const_1"
}
}
node_def {
name: "Select"
op: "Select"
input: "StaticRegexFullMatch:output:0"
input: "Const:output:0"
input: "Const_1:output:0"
device: "/device:CPU:*"
attr {
key: "T"
value {
type: DT_STRING
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
}
}
}
}
experimental_debug_info {
original_node_names: "Select"
}
}
node_def {
name: "StringJoin"
op: "StringJoin"
input: "file_prefix"
input: "Select:output:0"
device: "/device:CPU:*"
attr {
key: "N"
value {
i: 2
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
}
}
}
}
experimental_debug_info {
original_node_names: "StringJoin"
}
}
node_def {
name: "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
}
}
}
experimental_debug_info {
original_node_names: "num_shards"
}
}
node_def {
name: "ShardedFilename/shard"
op: "Const"
device: "/device:CPU:0"
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
}
}
}
experimental_debug_info {
original_node_names: "ShardedFilename/shard"
}
}
node_def {
name: "ShardedFilename"
op: "ShardedFilename"
input: "StringJoin:output:0"
input: "ShardedFilename/shard:output:0"
input: "num_shards:output:0"
device: "/device:CPU:0"
attr {
key: "_output_shapes"
value {
list {
shape {
}
}
}
}
experimental_debug_info {
original_node_names: "ShardedFilename"
}
}
node_def {
name: "SaveV2/tensor_names"
op: "Const"
device: "/device:CPU:0"
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 13
}
}
}
}
}
attr {
key: "dtype"
value {
type: DT_STRING
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_STRING
tensor_shape {
dim {
size: 13
}
}
string_val: "_global_step/.ATTRIBUTES/VARIABLE_VALUE"
string_val: "_optimizer/iter/.ATTRIBUTES/VARIABLE_VALUE"
string_val: "_optimizer/beta_1/.ATTRIBUTES/VARIABLE_VALUE"
string_val: "_optimizer/beta_2/.ATTRIBUTES/VARIABLE_VALUE"
string_val: "_optimizer/decay/.ATTRIBUTES/VARIABLE_VALUE"
string_val: "_optimizer/learning_rate/.ATTRIBUTES/VARIABLE_VALUE"
string_val: "model/layer_with_weights-0/kernel/.ATTRIBUTES/VARIABLE_VALUE"
string_val: "model/layer_with_weights-0/bias/.ATTRIBUTES/VARIABLE_VALUE"
string_val: "model/layer_with_weights-0/kernel/.OPTIMIZER_SLOT/_optimizer/m/.ATTRIBUTES/VARIABLE_VALUE"
string_val: "model/layer_with_weights-0/bias/.OPTIMIZER_SLOT/_optimizer/m/.ATTRIBUTES/VARIABLE_VALUE"
string_val: "model/layer_with_weights-0/kernel/.OPTIMIZER_SLOT/_optimizer/v/.ATTRIBUTES/VARIABLE_VALUE"
string_val: "model/layer_with_weights-0/bias/.OPTIMIZER_SLOT/_optimizer/v/.ATTRIBUTES/VARIABLE_VALUE"
string_val: "_CHECKPOINTABLE_OBJECT_GRAPH"
}
}
}
experimental_debug_info {
original_node_names: "SaveV2/tensor_names"
}
}
node_def {
name: "SaveV2/shape_and_slices"
op: "Const"
device: "/device:CPU:0"
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 13
}
}
}
}
}
attr {
key: "dtype"
value {
type: DT_STRING
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_STRING
tensor_shape {
dim {
size: 13
}
}
string_val: ""
string_val: ""
string_val: ""
string_val: ""
string_val: ""
string_val: ""
string_val: ""
string_val: ""
string_val: ""
string_val: ""
string_val: ""
string_val: ""
string_val: ""
}
}
}
experimental_debug_info {
original_node_names: "SaveV2/shape_and_slices"
}
}
node_def {
name: "SaveV2"
op: "SaveV2"
input: "ShardedFilename:filename:0"
input: "SaveV2/tensor_names:output:0"
input: "SaveV2/shape_and_slices:output:0"
input: "savev2_variable_read_readvariableop"
input: "savev2_adam_iter_read_readvariableop"
input: "savev2_adam_beta_1_read_readvariableop"
input: "savev2_adam_beta_2_read_readvariableop"
input: "savev2_adam_decay_read_readvariableop"
input: "savev2_adam_learning_rate_read_readvariableop"
input: "savev2_bool_output_kernel_read_readvariableop"
input: "savev2_bool_output_bias_read_readvariableop"
input: "savev2_adam_bool_output_kernel_m_read_readvariableop"
input: "savev2_adam_bool_output_bias_m_read_readvariableop"
input: "savev2_adam_bool_output_kernel_v_read_readvariableop"
input: "savev2_adam_bool_output_bias_v_read_readvariableop"
input: "savev2_const"
device: "/device:CPU:0"
attr {
key: "_output_shapes"
value {
list {
}
}
}
attr {
key: "dtypes"
value {
list {
type: DT_INT32
type: DT_INT64
type: DT_FLOAT
type: DT_FLOAT
type: DT_FLOAT
type: DT_FLOAT
type: DT_FLOAT
type: DT_FLOAT
type: DT_FLOAT
type: DT_FLOAT
type: DT_FLOAT
type: DT_FLOAT
type: DT_STRING
}
}
}
experimental_debug_info {
original_node_names: "SaveV2"
}
}
node_def {
name: "MergeV2Checkpoints/checkpoint_prefixes"
op: "Pack"
input: "ShardedFilename:filename:0"
input: "^SaveV2"
device: "/device:CPU:0"
attr {
key: "N"
value {
i: 1
}
}
attr {
key: "T"
value {
type: DT_STRING
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "MergeV2Checkpoints/checkpoint_prefixes"
}
}
node_def {
name: "MergeV2Checkpoints"
op: "MergeV2Checkpoints"
input: "MergeV2Checkpoints/checkpoint_prefixes:output:0"
input: "file_prefix"
device: "/device:CPU:0"
attr {
key: "_output_shapes"
value {
list {
}
}
}
experimental_debug_info {
original_node_names: "MergeV2Checkpoints"
}
}
node_def {
name: "Identity"
op: "Identity"
input: "file_prefix"
input: "^MergeV2Checkpoints"
device: "/device:CPU:0"
attr {
key: "T"
value {
type: DT_STRING
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
}
}
}
}
experimental_debug_info {
original_node_names: "Identity"
}
}
node_def {
name: "Identity_1"
op: "Identity"
input: "Identity:output:0"
input: "^NoOp"
attr {
key: "T"
value {
type: DT_STRING
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
}
}
}
}
experimental_debug_info {
original_node_names: "Identity_1"
}
}
node_def {
name: "NoOp"
op: "NoOp"
input: "^MergeV2Checkpoints"
attr {
key: "_acd_function_control_output"
value {
b: true
}
}
attr {
key: "_output_shapes"
value {
list {
}
}
}
experimental_debug_info {
original_node_names: "NoOp"
}
}
ret {
key: "identity_1"
value: "Identity_1:output:0"
}
attr {
key: "_input_shapes"
value {
list {
shape {
}
shape {
}
shape {
}
shape {
}
shape {
}
shape {
}
shape {
}
shape {
dim {
size: 3
}
dim {
size: 1
}
}
shape {
dim {
size: 1
}
}
shape {
dim {
size: 3
}
dim {
size: 1
}
}
shape {
dim {
size: 1
}
}
shape {
dim {
size: 3
}
dim {
size: 1
}
}
shape {
dim {
size: 1
}
}
shape {
}
}
}
}
control_ret {
key: "MergeV2Checkpoints"
value: "MergeV2Checkpoints"
}
arg_attr {
key: 0
value {
attr {
key: "_output_shapes"
value {
list {
shape {
}
}
}
}
attr {
key: "_user_specified_name"
value {
s: "file_prefix"
}
}
}
}
arg_attr {
key: 1
value {
attr {
key: "_output_shapes"
value {
list {
shape {
}
}
}
}
}
}
arg_attr {
key: 2
value {
attr {
key: "_output_shapes"
value {
list {
shape {
}
}
}
}
}
}
arg_attr {
key: 3
value {
attr {
key: "_output_shapes"
value {
list {
shape {
}
}
}
}
}
}
arg_attr {
key: 4
value {
attr {
key: "_output_shapes"
value {
list {
shape {
}
}
}
}
}
}
arg_attr {
key: 5
value {
attr {
key: "_output_shapes"
value {
list {
shape {
}
}
}
}
}
}
arg_attr {
key: 6
value {
attr {
key: "_output_shapes"
value {
list {
shape {
}
}
}
}
}
}
arg_attr {
key: 7
value {
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 3
}
dim {
size: 1
}
}
}
}
}
}
}
arg_attr {
key: 8
value {
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 1
}
}
}
}
}
}
}
arg_attr {
key: 9
value {
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 3
}
dim {
size: 1
}
}
}
}
}
}
}
arg_attr {
key: 10
value {
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 1
}
}
}
}
}
}
}
arg_attr {
key: 11
value {
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 3
}
dim {
size: 1
}
}
}
}
}
}
}
arg_attr {
key: 12
value {
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 1
}
}
}
}
}
}
}
arg_attr {
key: 13
value {
attr {
key: "_output_shapes"
value {
list {
shape {
}
}
}
}
}
}
}
function {
signature {
name: "__inference_bool_output_layer_call_and_return_conditional_losses_522"
input_arg {
name: "inputs"
type: DT_FLOAT
}
input_arg {
name: "matmul_readvariableop_resource"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 3
}
dim {
size: 1
}
}
}
}
input_arg {
name: "biasadd_readvariableop_resource"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 1
}
}
}
}
output_arg {
name: "identity"
type: DT_FLOAT
}
is_stateful: true
control_output: "BiasAdd/ReadVariableOp"
control_output: "MatMul/ReadVariableOp"
}
node_def {
name: "MatMul/ReadVariableOp"
op: "ReadVariableOp"
input: "matmul_readvariableop_resource"
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 3
}
dim {
size: 1
}
}
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
experimental_debug_info {
original_node_names: "MatMul/ReadVariableOp"
}
}
node_def {
name: "MatMul"
op: "MatMul"
input: "inputs"
input: "MatMul/ReadVariableOp:value:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "MatMul"
}
}
node_def {
name: "BiasAdd/ReadVariableOp"
op: "ReadVariableOp"
input: "biasadd_readvariableop_resource"
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 1
}
}
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
experimental_debug_info {
original_node_names: "BiasAdd/ReadVariableOp"
}
}
node_def {
name: "BiasAdd"
op: "BiasAdd"
input: "MatMul:product:0"
input: "BiasAdd/ReadVariableOp:value:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "BiasAdd"
}
}
node_def {
name: "Identity"
op: "Identity"
input: "BiasAdd:output:0"
input: "^NoOp"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "Identity"
}
}
node_def {
name: "NoOp"
op: "NoOp"
input: "^BiasAdd/ReadVariableOp"
input: "^MatMul/ReadVariableOp"
attr {
key: "_acd_function_control_output"
value {
b: true
}
}
attr {
key: "_output_shapes"
value {
list {
}
}
}
experimental_debug_info {
original_node_names: "NoOp"
}
}
ret {
key: "identity"
value: "Identity:output:0"
}
attr {
key: "_construction_context"
value {
s: "kEagerRuntime"
}
}
attr {
key: "_input_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 3
}
}
shape {
}
shape {
}
}
}
}
control_ret {
key: "BiasAdd/ReadVariableOp"
value: "BiasAdd/ReadVariableOp"
}
control_ret {
key: "MatMul/ReadVariableOp"
value: "MatMul/ReadVariableOp"
}
arg_attr {
key: 0
value {
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 3
}
}
}
}
}
attr {
key: "_user_specified_name"
value {
s: "inputs"
}
}
}
}
}
function {
signature {
name: "__inference_predict_483"
input_arg {
name: "data"
type: DT_FLOAT
}
input_arg {
name: "model_bool_output_matmul_readvariableop_resource"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 3
}
dim {
size: 1
}
}
}
}
input_arg {
name: "model_bool_output_biasadd_readvariableop_resource"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 1
}
}
}
}
output_arg {
name: "identity"
type: DT_FLOAT
}
is_stateful: true
control_output: "model/bool_output/BiasAdd/ReadVariableOp"
control_output: "model/bool_output/MatMul/ReadVariableOp"
}
node_def {
name: "model/bool_output/MatMul/ReadVariableOp"
op: "ReadVariableOp"
input: "model_bool_output_matmul_readvariableop_resource"
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 3
}
dim {
size: 1
}
}
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
experimental_debug_info {
original_node_names: "model/bool_output/MatMul/ReadVariableOp"
}
}
node_def {
name: "model/bool_output/MatMul"
op: "MatMul"
input: "data"
input: "model/bool_output/MatMul/ReadVariableOp:value:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "model/bool_output/MatMul"
}
}
node_def {
name: "model/bool_output/BiasAdd/ReadVariableOp"
op: "ReadVariableOp"
input: "model_bool_output_biasadd_readvariableop_resource"
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 1
}
}
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
experimental_debug_info {
original_node_names: "model/bool_output/BiasAdd/ReadVariableOp"
}
}
node_def {
name: "model/bool_output/BiasAdd"
op: "BiasAdd"
input: "model/bool_output/MatMul:product:0"
input: "model/bool_output/BiasAdd/ReadVariableOp:value:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "model/bool_output/BiasAdd"
}
}
node_def {
name: "Identity"
op: "Identity"
input: "model/bool_output/BiasAdd:output:0"
input: "^NoOp"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "Identity"
}
}
node_def {
name: "NoOp"
op: "NoOp"
input: "^model/bool_output/BiasAdd/ReadVariableOp"
input: "^model/bool_output/MatMul/ReadVariableOp"
attr {
key: "_acd_function_control_output"
value {
b: true
}
}
attr {
key: "_output_shapes"
value {
list {
}
}
}
experimental_debug_info {
original_node_names: "NoOp"
}
}
ret {
key: "identity"
value: "Identity:output:0"
}
attr {
key: "_construction_context"
value {
s: "kEagerRuntime"
}
}
attr {
key: "_input_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 3
}
}
shape {
}
shape {
}
}
}
}
control_ret {
key: "model/bool_output/BiasAdd/ReadVariableOp"
value: "model/bool_output/BiasAdd/ReadVariableOp"
}
control_ret {
key: "model/bool_output/MatMul/ReadVariableOp"
value: "model/bool_output/MatMul/ReadVariableOp"
}
arg_attr {
key: 0
value {
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: -1
}
dim {
size: 3
}
}
}
}
}
attr {
key: "_user_specified_name"
value {
s: "data"
}
}
}
}
}
function {
signature {
name: "__inference_learn_443"
input_arg {
name: "data"
type: DT_FLOAT
}
input_arg {
name: "labels"
type: DT_FLOAT
}
input_arg {
name: "assignaddvariableop_resource"
type: DT_RESOURCE
handle_data {
dtype: DT_INT32
shape {
}
}
}
input_arg {
name: "model_bool_output_matmul_readvariableop_resource"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 3
}
dim {
size: 1
}
}
}
}
input_arg {
name: "model_bool_output_biasadd_readvariableop_resource"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 1
}
}
}
}
input_arg {
name: "adam_cast_readvariableop_resource"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
}
}
}
input_arg {
name: "adam_readvariableop_resource"
type: DT_RESOURCE
handle_data {
dtype: DT_INT64
shape {
}
}
}
input_arg {
name: "adam_cast_2_readvariableop_resource"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
}
}
}
input_arg {
name: "adam_cast_3_readvariableop_resource"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
}
}
}
input_arg {
name: "adam_adam_update_resourceapplyadam_m"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 3
}
dim {
size: 1
}
}
}
}
input_arg {
name: "adam_adam_update_resourceapplyadam_v"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 3
}
dim {
size: 1
}
}
}
}
input_arg {
name: "adam_adam_update_1_resourceapplyadam_m"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 1
}
}
}
}
input_arg {
name: "adam_adam_update_1_resourceapplyadam_v"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 1
}
}
}
}
output_arg {
name: "identity"
type: DT_FLOAT
}
is_stateful: true
control_output: "Adam/Adam/AssignAddVariableOp"
control_output: "Adam/Adam/update/ResourceApplyAdam"
control_output: "Adam/Adam/update_1/ResourceApplyAdam"
control_output: "Adam/Cast/ReadVariableOp"
control_output: "Adam/Cast_2/ReadVariableOp"
control_output: "Adam/Cast_3/ReadVariableOp"
control_output: "Adam/ReadVariableOp"
control_output: "AssignAddVariableOp"
control_output: "model/bool_output/BiasAdd/ReadVariableOp"
control_output: "model/bool_output/MatMul/ReadVariableOp"
}
node_def {
name: "Const"
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
}
}
}
experimental_debug_info {
original_node_names: "Const"
}
}
node_def {
name: "AssignAddVariableOp"
op: "AssignAddVariableOp"
input: "assignaddvariableop_resource"
input: "Const:output:0"
attr {
key: "_output_shapes"
value {
list {
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
experimental_debug_info {
original_node_names: "AssignAddVariableOp"
}
}
node_def {
name: "model/bool_output/MatMul/ReadVariableOp"
op: "ReadVariableOp"
input: "model_bool_output_matmul_readvariableop_resource"
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 3
}
dim {
size: 1
}
}
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
experimental_debug_info {
original_node_names: "model/bool_output/MatMul/ReadVariableOp"
}
}
node_def {
name: "model/bool_output/MatMul"
op: "MatMul"
input: "data"
input: "model/bool_output/MatMul/ReadVariableOp:value:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "model/bool_output/MatMul"
}
}
node_def {
name: "model/bool_output/BiasAdd/ReadVariableOp"
op: "ReadVariableOp"
input: "model_bool_output_biasadd_readvariableop_resource"
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 1
}
}
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
experimental_debug_info {
original_node_names: "model/bool_output/BiasAdd/ReadVariableOp"
}
}
node_def {
name: "model/bool_output/BiasAdd"
op: "BiasAdd"
input: "model/bool_output/MatMul:product:0"
input: "model/bool_output/BiasAdd/ReadVariableOp:value:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "model/bool_output/BiasAdd"
}
}
node_def {
name: "Const_1"
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
}
}
}
experimental_debug_info {
original_node_names: "Const_1"
}
}
node_def {
name: "Const_2"
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: 1e-07
}
}
}
experimental_debug_info {
original_node_names: "Const_2"
}
}
node_def {
name: "sub/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: 1
}
}
}
experimental_debug_info {
original_node_names: "sub/x"
}
}
node_def {
name: "sub"
op: "Sub"
input: "sub/x:output:0"
input: "Const_2:output:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
}
}
}
}
experimental_debug_info {
original_node_names: "sub"
}
}
node_def {
name: "clip_by_value/Minimum"
op: "Minimum"
input: "model/bool_output/BiasAdd:output:0"
input: "sub:z:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "clip_by_value/Minimum"
}
}
node_def {
name: "clip_by_value"
op: "Maximum"
input: "clip_by_value/Minimum:z:0"
input: "Const_2:output:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "clip_by_value"
}
}
node_def {
name: "add/y"
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: 1e-07
}
}
}
experimental_debug_info {
original_node_names: "add/y"
}
}
node_def {
name: "add"
op: "AddV2"
input: "clip_by_value:z:0"
input: "add/y:output:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "add"
}
}
node_def {
name: "Log"
op: "Log"
input: "add:z:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "Log"
}
}
node_def {
name: "mul"
op: "Mul"
input: "labels"
input: "Log:y:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "mul"
}
}
node_def {
name: "sub_1/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: 1
}
}
}
experimental_debug_info {
original_node_names: "sub_1/x"
}
}
node_def {
name: "sub_1"
op: "Sub"
input: "sub_1/x:output:0"
input: "labels"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: -1
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "sub_1"
}
}
node_def {
name: "sub_2/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: 1
}
}
}
experimental_debug_info {
original_node_names: "sub_2/x"
}
}
node_def {
name: "sub_2"
op: "Sub"
input: "sub_2/x:output:0"
input: "clip_by_value:z:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "sub_2"
}
}
node_def {
name: "add_1/y"
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: 1e-07
}
}
}
experimental_debug_info {
original_node_names: "add_1/y"
}
}
node_def {
name: "add_1"
op: "AddV2"
input: "sub_2:z:0"
input: "add_1/y:output:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "add_1"
}
}
node_def {
name: "Log_1"
op: "Log"
input: "add_1:z:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "Log_1"
}
}
node_def {
name: "mul_1"
op: "Mul"
input: "sub_1:z:0"
input: "Log_1:y:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "mul_1"
}
}
node_def {
name: "add_2"
op: "AddV2"
input: "mul:z:0"
input: "mul_1:z:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "add_2"
}
}
node_def {
name: "Neg"
op: "Neg"
input: "add_2:z:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "Neg"
}
}
node_def {
name: "Mean/reduction_indices"
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
}
}
}
experimental_debug_info {
original_node_names: "Mean/reduction_indices"
}
}
node_def {
name: "Mean"
op: "Mean"
input: "Neg:y:0"
input: "Mean/reduction_indices:output:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
}
}
}
}
experimental_debug_info {
original_node_names: "Mean"
}
}
node_def {
name: "ones"
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: 1
}
}
}
experimental_debug_info {
original_node_names: "ones"
}
}
node_def {
name: "gradient_tape/Maximum/x"
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: "\n\000\000\000\001\000\000\000"
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/Maximum/x"
}
}
node_def {
name: "gradient_tape/Maximum/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
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/Maximum/y"
}
}
node_def {
name: "gradient_tape/Maximum"
op: "Maximum"
input: "gradient_tape/Maximum/x:output:0"
input: "gradient_tape/Maximum/y:output:0"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 2
}
}
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/Maximum"
}
}
node_def {
name: "gradient_tape/floordiv/x"
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: "\n\000\000\000\001\000\000\000"
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/floordiv/x"
}
}
node_def {
name: "gradient_tape/floordiv"
op: "FloorDiv"
input: "gradient_tape/floordiv/x:output:0"
input: "gradient_tape/Maximum:z:0"
attr {
key: "T"
value {
type: DT_INT32
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 2
}
}
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/floordiv"
}
}
node_def {
name: "gradient_tape/Reshape/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: "\n\000\000\000\001\000\000\000"
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/Reshape/shape"
}
}
node_def {
name: "gradient_tape/Reshape"
op: "Reshape"
input: "ones:output:0"
input: "gradient_tape/Reshape/shape:output:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/Reshape"
}
}
node_def {
name: "gradient_tape/Tile/multiples"
op: "Const"
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 2
}
}
}
}
}
attr {
key: "dtype"
value {
type: DT_INT32
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_INT32
tensor_shape {
dim {
size: 2
}
}
tensor_content: "\001\000\000\000\001\000\000\000"
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/Tile/multiples"
}
}
node_def {
name: "gradient_tape/Tile"
op: "Tile"
input: "gradient_tape/Reshape:output:0"
input: "gradient_tape/Tile/multiples:output:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/Tile"
}
}
node_def {
name: "gradient_tape/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
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/Const"
}
}
node_def {
name: "gradient_tape/truediv"
op: "RealDiv"
input: "gradient_tape/Tile:output:0"
input: "gradient_tape/Const:output:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/truediv"
}
}
node_def {
name: "gradient_tape/Neg"
op: "Neg"
input: "gradient_tape/truediv:z:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/Neg"
}
}
node_def {
name: "gradient_tape/mul/Shape"
op: "Shape"
input: "labels"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 2
}
}
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/mul/Shape"
}
}
node_def {
name: "gradient_tape/mul/Shape_1"
op: "Shape"
input: "Log:y:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 2
}
}
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/mul/Shape_1"
}
}
node_def {
name: "gradient_tape/mul/BroadcastGradientArgs"
op: "BroadcastGradientArgs"
input: "gradient_tape/mul/Shape:output:0"
input: "gradient_tape/mul/Shape_1:output:0"
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: -1
}
}
shape {
dim {
size: -1
}
}
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/mul/BroadcastGradientArgs"
}
}
node_def {
name: "gradient_tape/mul/Mul"
op: "Mul"
input: "labels"
input: "gradient_tape/Neg:y:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/mul/Mul"
}
}
node_def {
name: "gradient_tape/mul/Sum"
op: "Sum"
input: "gradient_tape/mul/Mul:z:0"
input: "gradient_tape/mul/BroadcastGradientArgs:r1:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
unknown_rank: true
}
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/mul/Sum"
}
}
node_def {
name: "gradient_tape/mul/Reshape"
op: "Reshape"
input: "gradient_tape/mul/Sum:output:0"
input: "gradient_tape/mul/Shape_1:output:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/mul/Reshape"
}
}
node_def {
name: "gradient_tape/mul_1/Shape"
op: "Shape"
input: "sub_1:z:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 2
}
}
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/mul_1/Shape"
}
}
node_def {
name: "gradient_tape/mul_1/Shape_1"
op: "Shape"
input: "Log_1:y:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 2
}
}
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/mul_1/Shape_1"
}
}
node_def {
name: "gradient_tape/mul_1/BroadcastGradientArgs"
op: "BroadcastGradientArgs"
input: "gradient_tape/mul_1/Shape:output:0"
input: "gradient_tape/mul_1/Shape_1:output:0"
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: -1
}
}
shape {
dim {
size: -1
}
}
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/mul_1/BroadcastGradientArgs"
}
}
node_def {
name: "gradient_tape/mul_1/Mul"
op: "Mul"
input: "sub_1:z:0"
input: "gradient_tape/Neg:y:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/mul_1/Mul"
}
}
node_def {
name: "gradient_tape/mul_1/Sum"
op: "Sum"
input: "gradient_tape/mul_1/Mul:z:0"
input: "gradient_tape/mul_1/BroadcastGradientArgs:r1:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
unknown_rank: true
}
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/mul_1/Sum"
}
}
node_def {
name: "gradient_tape/mul_1/Reshape"
op: "Reshape"
input: "gradient_tape/mul_1/Sum:output:0"
input: "gradient_tape/mul_1/Shape_1:output:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/mul_1/Reshape"
}
}
node_def {
name: "gradient_tape/Reciprocal"
op: "Reciprocal"
input: "add:z:0"
input: "^gradient_tape/mul/Reshape"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/Reciprocal"
}
}
node_def {
name: "gradient_tape/mul"
op: "Mul"
input: "gradient_tape/mul/Reshape:output:0"
input: "gradient_tape/Reciprocal:y:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/mul"
}
}
node_def {
name: "gradient_tape/Reciprocal_1"
op: "Reciprocal"
input: "add_1:z:0"
input: "^gradient_tape/mul_1/Reshape"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/Reciprocal_1"
}
}
node_def {
name: "gradient_tape/mul_1"
op: "Mul"
input: "gradient_tape/mul_1/Reshape:output:0"
input: "gradient_tape/Reciprocal_1:y:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/mul_1"
}
}
node_def {
name: "gradient_tape/sub_2/BroadcastGradientArgs/s0"
op: "Const"
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
}
}
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
dim {
}
}
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/sub_2/BroadcastGradientArgs/s0"
}
}
node_def {
name: "gradient_tape/sub_2/BroadcastGradientArgs/s0_1"
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 {
}
}
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/sub_2/BroadcastGradientArgs/s0_1"
}
}
node_def {
name: "gradient_tape/sub_2/BroadcastGradientArgs/s1"
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: "\n\000\000\000\001\000\000\000"
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/sub_2/BroadcastGradientArgs/s1"
}
}
node_def {
name: "gradient_tape/sub_2/BroadcastGradientArgs"
op: "BroadcastGradientArgs"
input: "gradient_tape/sub_2/BroadcastGradientArgs/s0_1:output:0"
input: "gradient_tape/sub_2/BroadcastGradientArgs/s1:output:0"
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: -1
}
}
shape {
dim {
size: -1
}
}
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/sub_2/BroadcastGradientArgs"
}
}
node_def {
name: "gradient_tape/sub_2/Neg"
op: "Neg"
input: "gradient_tape/mul_1:z:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/sub_2/Neg"
}
}
node_def {
name: "AddN"
op: "AddN"
input: "gradient_tape/mul:z:0"
input: "gradient_tape/sub_2/Neg:y:0"
attr {
key: "N"
value {
i: 2
}
}
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "AddN"
}
}
node_def {
name: "gradient_tape/clip_by_value/zeros_like"
op: "Const"
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
dim {
size: 10
}
dim {
size: 1
}
}
float_val: 0
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/clip_by_value/zeros_like"
}
}
node_def {
name: "gradient_tape/clip_by_value/GreaterEqual"
op: "GreaterEqual"
input: "clip_by_value/Minimum:z:0"
input: "Const_2:output:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/clip_by_value/GreaterEqual"
}
}
node_def {
name: "gradient_tape/clip_by_value/SelectV2"
op: "SelectV2"
input: "gradient_tape/clip_by_value/GreaterEqual:z:0"
input: "AddN:sum:0"
input: "gradient_tape/clip_by_value/zeros_like:output:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/clip_by_value/SelectV2"
}
}
node_def {
name: "gradient_tape/clip_by_value/zeros_like_1"
op: "Const"
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
attr {
key: "value"
value {
tensor {
dtype: DT_FLOAT
tensor_shape {
dim {
size: 10
}
dim {
size: 1
}
}
float_val: 0
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/clip_by_value/zeros_like_1"
}
}
node_def {
name: "gradient_tape/clip_by_value/LessEqual"
op: "LessEqual"
input: "model/bool_output/BiasAdd:output:0"
input: "sub:z:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/clip_by_value/LessEqual"
}
}
node_def {
name: "gradient_tape/clip_by_value/SelectV2_1"
op: "SelectV2"
input: "gradient_tape/clip_by_value/LessEqual:z:0"
input: "gradient_tape/clip_by_value/SelectV2:output:0"
input: "gradient_tape/clip_by_value/zeros_like_1:output:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/clip_by_value/SelectV2_1"
}
}
node_def {
name: "gradient_tape/model/bool_output/BiasAdd/BiasAddGrad"
op: "BiasAddGrad"
input: "gradient_tape/clip_by_value/SelectV2_1:output:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "gradient_tape/model/bool_output/BiasAdd/BiasAddGrad"
}
}
node_def {
name: "gradient_tape/model/bool_output/MatMul"
op: "MatMul"
input: "data"
input: "gradient_tape/clip_by_value/SelectV2_1:output:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 3
}
dim {
size: 1
}
}
}
}
}
attr {
key: "transpose_a"
value {
b: true
}
}
experimental_debug_info {
original_node_names: "gradient_tape/model/bool_output/MatMul"
}
}
node_def {
name: "Adam/Cast/ReadVariableOp"
op: "ReadVariableOp"
input: "adam_cast_readvariableop_resource"
attr {
key: "_output_shapes"
value {
list {
shape {
}
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
experimental_debug_info {
original_node_names: "Adam/Cast/ReadVariableOp"
}
}
node_def {
name: "Adam/Identity"
op: "Identity"
input: "Adam/Cast/ReadVariableOp:value:0"
device: "/job:localhost/replica:0/task:0/device:CPU:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
}
}
}
}
experimental_debug_info {
original_node_names: "Adam/Identity"
}
}
node_def {
name: "Adam/ReadVariableOp"
op: "ReadVariableOp"
input: "adam_readvariableop_resource"
attr {
key: "_output_shapes"
value {
list {
shape {
}
}
}
}
attr {
key: "dtype"
value {
type: DT_INT64
}
}
experimental_debug_info {
original_node_names: "Adam/ReadVariableOp"
}
}
node_def {
name: "Adam/add/y"
op: "Const"
device: "/job:localhost/replica:0/task:0/device:CPU:0"
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
}
}
}
experimental_debug_info {
original_node_names: "Adam/add/y"
}
}
node_def {
name: "Adam/add"
op: "AddV2"
input: "Adam/ReadVariableOp:value:0"
input: "Adam/add/y:output:0"
device: "/job:localhost/replica:0/task:0/device:CPU:0"
attr {
key: "T"
value {
type: DT_INT64
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
}
}
}
}
experimental_debug_info {
original_node_names: "Adam/add"
}
}
node_def {
name: "Adam/Cast_1"
op: "Cast"
input: "Adam/add:z:0"
device: "/job:localhost/replica:0/task:0/device:CPU:0"
attr {
key: "DstT"
value {
type: DT_FLOAT
}
}
attr {
key: "SrcT"
value {
type: DT_INT64
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
}
}
}
}
experimental_debug_info {
original_node_names: "Adam/Cast_1"
}
}
node_def {
name: "Adam/Cast_2/ReadVariableOp"
op: "ReadVariableOp"
input: "adam_cast_2_readvariableop_resource"
attr {
key: "_output_shapes"
value {
list {
shape {
}
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
experimental_debug_info {
original_node_names: "Adam/Cast_2/ReadVariableOp"
}
}
node_def {
name: "Adam/Identity_1"
op: "Identity"
input: "Adam/Cast_2/ReadVariableOp:value:0"
device: "/job:localhost/replica:0/task:0/device:CPU:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
}
}
}
}
experimental_debug_info {
original_node_names: "Adam/Identity_1"
}
}
node_def {
name: "Adam/Cast_3/ReadVariableOp"
op: "ReadVariableOp"
input: "adam_cast_3_readvariableop_resource"
attr {
key: "_output_shapes"
value {
list {
shape {
}
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
experimental_debug_info {
original_node_names: "Adam/Cast_3/ReadVariableOp"
}
}
node_def {
name: "Adam/Identity_2"
op: "Identity"
input: "Adam/Cast_3/ReadVariableOp:value:0"
device: "/job:localhost/replica:0/task:0/device:CPU:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
}
}
}
}
experimental_debug_info {
original_node_names: "Adam/Identity_2"
}
}
node_def {
name: "Adam/Pow"
op: "Pow"
input: "Adam/Identity_1:output:0"
input: "Adam/Cast_1:y:0"
device: "/job:localhost/replica:0/task:0/device:CPU:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
}
}
}
}
experimental_debug_info {
original_node_names: "Adam/Pow"
}
}
node_def {
name: "Adam/Pow_1"
op: "Pow"
input: "Adam/Identity_2:output:0"
input: "Adam/Cast_1:y:0"
device: "/job:localhost/replica:0/task:0/device:CPU:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
}
}
}
}
experimental_debug_info {
original_node_names: "Adam/Pow_1"
}
}
node_def {
name: "Adam/sub/x"
op: "Const"
device: "/job:localhost/replica:0/task:0/device:CPU:0"
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
}
}
}
experimental_debug_info {
original_node_names: "Adam/sub/x"
}
}
node_def {
name: "Adam/sub"
op: "Sub"
input: "Adam/sub/x:output:0"
input: "Adam/Pow_1:z:0"
device: "/job:localhost/replica:0/task:0/device:CPU:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
}
}
}
}
experimental_debug_info {
original_node_names: "Adam/sub"
}
}
node_def {
name: "Adam/Sqrt"
op: "Sqrt"
input: "Adam/sub:z:0"
device: "/job:localhost/replica:0/task:0/device:CPU:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
}
}
}
}
experimental_debug_info {
original_node_names: "Adam/Sqrt"
}
}
node_def {
name: "Adam/sub_1/x"
op: "Const"
device: "/job:localhost/replica:0/task:0/device:CPU:0"
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
}
}
}
experimental_debug_info {
original_node_names: "Adam/sub_1/x"
}
}
node_def {
name: "Adam/sub_1"
op: "Sub"
input: "Adam/sub_1/x:output:0"
input: "Adam/Pow:z:0"
device: "/job:localhost/replica:0/task:0/device:CPU:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
}
}
}
}
experimental_debug_info {
original_node_names: "Adam/sub_1"
}
}
node_def {
name: "Adam/truediv"
op: "RealDiv"
input: "Adam/Sqrt:y:0"
input: "Adam/sub_1:z:0"
device: "/job:localhost/replica:0/task:0/device:CPU:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
}
}
}
}
experimental_debug_info {
original_node_names: "Adam/truediv"
}
}
node_def {
name: "Adam/mul"
op: "Mul"
input: "Adam/Identity:output:0"
input: "Adam/truediv:z:0"
device: "/job:localhost/replica:0/task:0/device:CPU:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
}
}
}
}
experimental_debug_info {
original_node_names: "Adam/mul"
}
}
node_def {
name: "Adam/Const"
op: "Const"
device: "/job:localhost/replica:0/task:0/device:CPU:0"
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: 1e-07
}
}
}
experimental_debug_info {
original_node_names: "Adam/Const"
}
}
node_def {
name: "Adam/sub_2/x"
op: "Const"
device: "/job:localhost/replica:0/task:0/device:CPU:0"
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
}
}
}
experimental_debug_info {
original_node_names: "Adam/sub_2/x"
}
}
node_def {
name: "Adam/sub_2"
op: "Sub"
input: "Adam/sub_2/x:output:0"
input: "Adam/Identity_1:output:0"
device: "/job:localhost/replica:0/task:0/device:CPU:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
}
}
}
}
experimental_debug_info {
original_node_names: "Adam/sub_2"
}
}
node_def {
name: "Adam/sub_3/x"
op: "Const"
device: "/job:localhost/replica:0/task:0/device:CPU:0"
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
}
}
}
experimental_debug_info {
original_node_names: "Adam/sub_3/x"
}
}
node_def {
name: "Adam/sub_3"
op: "Sub"
input: "Adam/sub_3/x:output:0"
input: "Adam/Identity_2:output:0"
device: "/job:localhost/replica:0/task:0/device:CPU:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
}
}
}
}
experimental_debug_info {
original_node_names: "Adam/sub_3"
}
}
node_def {
name: "Adam/Adam/update/ResourceApplyAdam"
op: "ResourceApplyAdam"
input: "model_bool_output_matmul_readvariableop_resource"
input: "adam_adam_update_resourceapplyadam_m"
input: "adam_adam_update_resourceapplyadam_v"
input: "Adam/Pow:z:0"
input: "Adam/Pow_1:z:0"
input: "Adam/Identity:output:0"
input: "Adam/Identity_1:output:0"
input: "Adam/Identity_2:output:0"
input: "Adam/Const:output:0"
input: "gradient_tape/model/bool_output/MatMul:product:0"
input: "^model/bool_output/MatMul/ReadVariableOp"
device: "/job:localhost/replica:0/task:0/device:CPU:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@model/bool_output/MatMul/ReadVariableOp/resource"
}
}
}
attr {
key: "_output_shapes"
value {
list {
}
}
}
attr {
key: "use_locking"
value {
b: true
}
}
experimental_debug_info {
original_node_names: "Adam/Adam/update/ResourceApplyAdam"
}
}
node_def {
name: "Adam/Adam/update_1/ResourceApplyAdam"
op: "ResourceApplyAdam"
input: "model_bool_output_biasadd_readvariableop_resource"
input: "adam_adam_update_1_resourceapplyadam_m"
input: "adam_adam_update_1_resourceapplyadam_v"
input: "Adam/Pow:z:0"
input: "Adam/Pow_1:z:0"
input: "Adam/Identity:output:0"
input: "Adam/Identity_1:output:0"
input: "Adam/Identity_2:output:0"
input: "Adam/Const:output:0"
input: "gradient_tape/model/bool_output/BiasAdd/BiasAddGrad:output:0"
input: "^model/bool_output/BiasAdd/ReadVariableOp"
device: "/job:localhost/replica:0/task:0/device:CPU:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_class"
value {
list {
s: "loc:@model/bool_output/BiasAdd/ReadVariableOp/resource"
}
}
}
attr {
key: "_output_shapes"
value {
list {
}
}
}
attr {
key: "use_locking"
value {
b: true
}
}
experimental_debug_info {
original_node_names: "Adam/Adam/update_1/ResourceApplyAdam"
}
}
node_def {
name: "Adam/Adam/group_deps"
op: "NoOp"
input: "^Adam/Adam/update/ResourceApplyAdam"
input: "^Adam/Adam/update_1/ResourceApplyAdam"
device: "/job:localhost/replica:0/task:0/device:CPU:0"
attr {
key: "_output_shapes"
value {
list {
}
}
}
experimental_debug_info {
original_node_names: "Adam/Adam/group_deps"
}
}
node_def {
name: "Adam/Adam/Const"
op: "Const"
input: "^Adam/Adam/group_deps"
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
}
}
}
experimental_debug_info {
original_node_names: "Adam/Adam/Const"
}
}
node_def {
name: "Adam/Adam/AssignAddVariableOp"
op: "AssignAddVariableOp"
input: "adam_readvariableop_resource"
input: "Adam/Adam/Const:output:0"
input: "^Adam/ReadVariableOp"
attr {
key: "_output_shapes"
value {
list {
}
}
}
attr {
key: "dtype"
value {
type: DT_INT64
}
}
experimental_debug_info {
original_node_names: "Adam/Adam/AssignAddVariableOp"
}
}
node_def {
name: "Identity"
op: "Identity"
input: "Mean:output:0"
input: "^NoOp"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
}
}
}
}
experimental_debug_info {
original_node_names: "Identity"
}
}
node_def {
name: "NoOp"
op: "NoOp"
input: "^Adam/Adam/AssignAddVariableOp"
input: "^Adam/Adam/update/ResourceApplyAdam"
input: "^Adam/Adam/update_1/ResourceApplyAdam"
input: "^Adam/Cast/ReadVariableOp"
input: "^Adam/Cast_2/ReadVariableOp"
input: "^Adam/Cast_3/ReadVariableOp"
input: "^Adam/ReadVariableOp"
input: "^AssignAddVariableOp"
input: "^model/bool_output/BiasAdd/ReadVariableOp"
input: "^model/bool_output/MatMul/ReadVariableOp"
attr {
key: "_acd_function_control_output"
value {
b: true
}
}
attr {
key: "_output_shapes"
value {
list {
}
}
}
experimental_debug_info {
original_node_names: "NoOp"
}
}
ret {
key: "identity"
value: "Identity:output:0"
}
attr {
key: "_construction_context"
value {
s: "kEagerRuntime"
}
}
attr {
key: "_input_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 3
}
}
shape {
dim {
size: -1
}
dim {
size: 1
}
}
shape {
}
shape {
}
shape {
}
shape {
}
shape {
}
shape {
}
shape {
}
shape {
}
shape {
}
shape {
}
shape {
}
}
}
}
control_ret {
key: "Adam/Adam/AssignAddVariableOp"
value: "Adam/Adam/AssignAddVariableOp"
}
control_ret {
key: "Adam/Adam/update/ResourceApplyAdam"
value: "Adam/Adam/update/ResourceApplyAdam"
}
control_ret {
key: "Adam/Adam/update_1/ResourceApplyAdam"
value: "Adam/Adam/update_1/ResourceApplyAdam"
}
control_ret {
key: "Adam/Cast/ReadVariableOp"
value: "Adam/Cast/ReadVariableOp"
}
control_ret {
key: "Adam/Cast_2/ReadVariableOp"
value: "Adam/Cast_2/ReadVariableOp"
}
control_ret {
key: "Adam/Cast_3/ReadVariableOp"
value: "Adam/Cast_3/ReadVariableOp"
}
control_ret {
key: "Adam/ReadVariableOp"
value: "Adam/ReadVariableOp"
}
control_ret {
key: "AssignAddVariableOp"
value: "AssignAddVariableOp"
}
control_ret {
key: "model/bool_output/BiasAdd/ReadVariableOp"
value: "model/bool_output/BiasAdd/ReadVariableOp"
}
control_ret {
key: "model/bool_output/MatMul/ReadVariableOp"
value: "model/bool_output/MatMul/ReadVariableOp"
}
arg_attr {
key: 0
value {
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: -1
}
dim {
size: 3
}
}
}
}
}
attr {
key: "_user_specified_name"
value {
s: "data"
}
}
}
}
arg_attr {
key: 1
value {
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: -1
}
dim {
size: 1
}
}
}
}
}
attr {
key: "_user_specified_name"
value {
s: "labels"
}
}
}
}
arg_attr {
key: 9
value {
attr {
key: "_class"
value {
list {
s: "loc:@model/bool_output/MatMul/ReadVariableOp/resource"
}
}
}
}
}
arg_attr {
key: 10
value {
attr {
key: "_class"
value {
list {
s: "loc:@model/bool_output/MatMul/ReadVariableOp/resource"
}
}
}
}
}
arg_attr {
key: 11
value {
attr {
key: "_class"
value {
list {
s: "loc:@model/bool_output/BiasAdd/ReadVariableOp/resource"
}
}
}
}
}
arg_attr {
key: 12
value {
attr {
key: "_class"
value {
list {
s: "loc:@model/bool_output/BiasAdd/ReadVariableOp/resource"
}
}
}
}
}
}
function {
signature {
name: "__inference_model_layer_call_and_return_conditional_losses_566"
input_arg {
name: "inputs"
type: DT_FLOAT
}
input_arg {
name: "bool_output_560"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 3
}
dim {
size: 1
}
}
}
}
input_arg {
name: "bool_output_562"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 1
}
}
}
}
output_arg {
name: "identity"
type: DT_FLOAT
}
is_stateful: true
control_output: "bool_output/StatefulPartitionedCall"
}
node_def {
name: "bool_output/StatefulPartitionedCall"
op: "StatefulPartitionedCall"
input: "inputs"
input: "bool_output_560"
input: "bool_output_562"
attr {
key: "Tin"
value {
list {
type: DT_FLOAT
type: DT_RESOURCE
type: DT_RESOURCE
}
}
}
attr {
key: "Tout"
value {
list {
type: DT_FLOAT
}
}
}
attr {
key: "_collective_manager_ids"
value {
list {
}
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
attr {
key: "_read_only_resource_inputs"
value {
list {
i: 1
i: 2
}
}
}
attr {
key: "config_proto"
value {
s: "\n\007\n\003CPU\020\001\n\007\n\003GPU\020\0002\002J\0008\001\202\001\000"
}
}
attr {
key: "f"
value {
func {
name: "__inference_bool_output_layer_call_and_return_conditional_losses_522"
}
}
}
experimental_debug_info {
original_node_names: "bool_output/StatefulPartitionedCall"
}
}
node_def {
name: "Identity"
op: "Identity"
input: "bool_output/StatefulPartitionedCall:output:0"
input: "^NoOp"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "Identity"
}
}
node_def {
name: "NoOp"
op: "NoOp"
input: "^bool_output/StatefulPartitionedCall"
attr {
key: "_acd_function_control_output"
value {
b: true
}
}
attr {
key: "_output_shapes"
value {
list {
}
}
}
experimental_debug_info {
original_node_names: "NoOp"
}
}
ret {
key: "identity"
value: "Identity:output:0"
}
attr {
key: "_construction_context"
value {
s: "kEagerRuntime"
}
}
attr {
key: "_input_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 3
}
}
shape {
}
shape {
}
}
}
}
control_ret {
key: "bool_output/StatefulPartitionedCall"
value: "bool_output/StatefulPartitionedCall"
}
arg_attr {
key: 0
value {
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 3
}
}
}
}
}
attr {
key: "_user_specified_name"
value {
s: "inputs"
}
}
}
}
}
function {
signature {
name: "__inference_model_layer_call_fn_618"
input_arg {
name: "inputs"
type: DT_FLOAT
}
input_arg {
name: "unknown"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 3
}
dim {
size: 1
}
}
}
}
input_arg {
name: "unknown_0"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 1
}
}
}
}
output_arg {
name: "identity"
type: DT_FLOAT
}
is_stateful: true
control_output: "StatefulPartitionedCall"
}
node_def {
name: "StatefulPartitionedCall"
op: "StatefulPartitionedCall"
input: "inputs"
input: "unknown"
input: "unknown_0"
attr {
key: "Tin"
value {
list {
type: DT_FLOAT
type: DT_RESOURCE
type: DT_RESOURCE
}
}
}
attr {
key: "Tout"
value {
list {
type: DT_FLOAT
}
}
}
attr {
key: "_collective_manager_ids"
value {
list {
}
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
attr {
key: "_read_only_resource_inputs"
value {
list {
i: 1
i: 2
}
}
}
attr {
key: "config_proto"
value {
s: "\n\007\n\003CPU\020\001\n\007\n\003GPU\020\0002\002J\0008\001\202\001\000"
}
}
attr {
key: "f"
value {
func {
name: "__inference_model_layer_call_and_return_conditional_losses_566"
}
}
}
experimental_debug_info {
original_node_names: "StatefulPartitionedCall"
}
}
node_def {
name: "Identity"
op: "Identity"
input: "StatefulPartitionedCall:output:0"
input: "^NoOp"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "Identity"
}
}
node_def {
name: "NoOp"
op: "NoOp"
input: "^StatefulPartitionedCall"
attr {
key: "_acd_function_control_output"
value {
b: true
}
}
attr {
key: "_output_shapes"
value {
list {
}
}
}
experimental_debug_info {
original_node_names: "NoOp"
}
}
ret {
key: "identity"
value: "Identity:output:0"
}
attr {
key: "_construction_context"
value {
s: "kEagerRuntime"
}
}
attr {
key: "_input_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 3
}
}
shape {
}
shape {
}
}
}
}
control_ret {
key: "StatefulPartitionedCall"
value: "StatefulPartitionedCall"
}
arg_attr {
key: 0
value {
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 3
}
}
}
}
}
attr {
key: "_user_specified_name"
value {
s: "inputs"
}
}
}
}
}
function {
signature {
name: "__inference_bool_output_layer_call_and_return_conditional_losses_657"
input_arg {
name: "inputs"
type: DT_FLOAT
}
input_arg {
name: "matmul_readvariableop_resource"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 3
}
dim {
size: 1
}
}
}
}
input_arg {
name: "biasadd_readvariableop_resource"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 1
}
}
}
}
output_arg {
name: "identity"
type: DT_FLOAT
}
is_stateful: true
control_output: "BiasAdd/ReadVariableOp"
control_output: "MatMul/ReadVariableOp"
}
node_def {
name: "MatMul/ReadVariableOp"
op: "ReadVariableOp"
input: "matmul_readvariableop_resource"
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 3
}
dim {
size: 1
}
}
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
experimental_debug_info {
original_node_names: "MatMul/ReadVariableOp"
}
}
node_def {
name: "MatMul"
op: "MatMul"
input: "inputs"
input: "MatMul/ReadVariableOp:value:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "MatMul"
}
}
node_def {
name: "BiasAdd/ReadVariableOp"
op: "ReadVariableOp"
input: "biasadd_readvariableop_resource"
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 1
}
}
}
}
}
attr {
key: "dtype"
value {
type: DT_FLOAT
}
}
experimental_debug_info {
original_node_names: "BiasAdd/ReadVariableOp"
}
}
node_def {
name: "BiasAdd"
op: "BiasAdd"
input: "MatMul:product:0"
input: "BiasAdd/ReadVariableOp:value:0"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "BiasAdd"
}
}
node_def {
name: "Identity"
op: "Identity"
input: "BiasAdd:output:0"
input: "^NoOp"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "Identity"
}
}
node_def {
name: "NoOp"
op: "NoOp"
input: "^BiasAdd/ReadVariableOp"
input: "^MatMul/ReadVariableOp"
attr {
key: "_acd_function_control_output"
value {
b: true
}
}
attr {
key: "_output_shapes"
value {
list {
}
}
}
experimental_debug_info {
original_node_names: "NoOp"
}
}
ret {
key: "identity"
value: "Identity:output:0"
}
attr {
key: "_construction_context"
value {
s: "kEagerRuntime"
}
}
attr {
key: "_input_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 3
}
}
shape {
}
shape {
}
}
}
}
control_ret {
key: "BiasAdd/ReadVariableOp"
value: "BiasAdd/ReadVariableOp"
}
control_ret {
key: "MatMul/ReadVariableOp"
value: "MatMul/ReadVariableOp"
}
arg_attr {
key: 0
value {
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 3
}
}
}
}
}
attr {
key: "_user_specified_name"
value {
s: "inputs"
}
}
}
}
}
function {
signature {
name: "__inference_model_layer_call_fn_609"
input_arg {
name: "inputs"
type: DT_FLOAT
}
input_arg {
name: "unknown"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 3
}
dim {
size: 1
}
}
}
}
input_arg {
name: "unknown_0"
type: DT_RESOURCE
handle_data {
dtype: DT_FLOAT
shape {
dim {
size: 1
}
}
}
}
output_arg {
name: "identity"
type: DT_FLOAT
}
is_stateful: true
control_output: "StatefulPartitionedCall"
}
node_def {
name: "StatefulPartitionedCall"
op: "StatefulPartitionedCall"
input: "inputs"
input: "unknown"
input: "unknown_0"
attr {
key: "Tin"
value {
list {
type: DT_FLOAT
type: DT_RESOURCE
type: DT_RESOURCE
}
}
}
attr {
key: "Tout"
value {
list {
type: DT_FLOAT
}
}
}
attr {
key: "_collective_manager_ids"
value {
list {
}
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
attr {
key: "_read_only_resource_inputs"
value {
list {
i: 1
i: 2
}
}
}
attr {
key: "config_proto"
value {
s: "\n\007\n\003CPU\020\001\n\007\n\003GPU\020\0002\002J\0008\001\202\001\000"
}
}
attr {
key: "f"
value {
func {
name: "__inference_model_layer_call_and_return_conditional_losses_529"
}
}
}
experimental_debug_info {
original_node_names: "StatefulPartitionedCall"
}
}
node_def {
name: "Identity"
op: "Identity"
input: "StatefulPartitionedCall:output:0"
input: "^NoOp"
attr {
key: "T"
value {
type: DT_FLOAT
}
}
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 1
}
}
}
}
}
experimental_debug_info {
original_node_names: "Identity"
}
}
node_def {
name: "NoOp"
op: "NoOp"
input: "^StatefulPartitionedCall"
attr {
key: "_acd_function_control_output"
value {
b: true
}
}
attr {
key: "_output_shapes"
value {
list {
}
}
}
experimental_debug_info {
original_node_names: "NoOp"
}
}
ret {
key: "identity"
value: "Identity:output:0"
}
attr {
key: "_construction_context"
value {
s: "kEagerRuntime"
}
}
attr {
key: "_input_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 3
}
}
shape {
}
shape {
}
}
}
}
control_ret {
key: "StatefulPartitionedCall"
value: "StatefulPartitionedCall"
}
arg_attr {
key: 0
value {
attr {
key: "_output_shapes"
value {
list {
shape {
dim {
size: 10
}
dim {
size: 3
}
}
}
}
}
attr {
key: "_user_specified_name"
value {
s: "inputs"
}
}
}
}
}
}
versions {
producer: 808
min_consumer: 12
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment