node {
  name: "o_atom_virial/shape/0"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: -1
      }
    }
  }
}
node {
  name: "mul_14/x"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 9
      }
    }
  }
}
node {
  name: "strided_slice_25/stack_2"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "strided_slice_25/stack_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 2
      }
    }
  }
}
node {
  name: "strided_slice_25/stack"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "o_virial/shape"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 2
          }
        }
        tensor_content: "\377\377\377\377\t\000\000\000"
      }
    }
  }
}
node {
  name: "o_force/shape/0"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: -1
      }
    }
  }
}
node {
  name: "mul_13/x"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 3
      }
    }
  }
}
node {
  name: "strided_slice_24/stack_2"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "strided_slice_24/stack_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 2
      }
    }
  }
}
node {
  name: "strided_slice_24/stack"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "Reshape_17/shape/0"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: -1
      }
    }
  }
}
node {
  name: "mul_12/y"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 138
      }
    }
  }
}
node {
  name: "strided_slice_23/stack_2"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "strided_slice_23/stack_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "strided_slice_23/stack"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 0
      }
    }
  }
}
node {
  name: "gradients/Slice_1_grad/concat/axis"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/Slice_1_grad/stack/1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/Slice_1_grad/Rank"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 2
      }
    }
  }
}
node {
  name: "gradients/Slice_1_grad/stack"
  op: "Pack"
  input: "gradients/Slice_1_grad/Rank"
  input: "gradients/Slice_1_grad/stack/1"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "axis"
    value {
      i: 0
    }
  }
}
node {
  name: "gradients/Slice_grad/concat/axis"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/Slice_grad/stack/1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/Slice_grad/Rank"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 2
      }
    }
  }
}
node {
  name: "gradients/Slice_grad/stack"
  op: "Pack"
  input: "gradients/Slice_grad/Rank"
  input: "gradients/Slice_grad/stack/1"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "axis"
    value {
      i: 0
    }
  }
}
node {
  name: "gradients/filter_type_1/Slice_1_grad/concat/axis"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/Slice_1_grad/stack/1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/Slice_1_grad/Rank"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 2
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/Slice_1_grad/stack"
  op: "Pack"
  input: "gradients/filter_type_1/Slice_1_grad/Rank"
  input: "gradients/filter_type_1/Slice_1_grad/stack/1"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "axis"
    value {
      i: 0
    }
  }
}
node {
  name: "gradients/filter_type_1/Slice_grad/concat/axis"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/Slice_grad/stack/1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/Slice_grad/Rank"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 2
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/Slice_grad/stack"
  op: "Pack"
  input: "gradients/filter_type_1/Slice_grad/Rank"
  input: "gradients/filter_type_1/Slice_grad/stack/1"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "axis"
    value {
      i: 0
    }
  }
}
node {
  name: "gradients/filter_type_0/Slice_1_grad/concat/axis"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/Slice_1_grad/stack/1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/Slice_1_grad/Rank"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 2
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/Slice_1_grad/stack"
  op: "Pack"
  input: "gradients/filter_type_0/Slice_1_grad/Rank"
  input: "gradients/filter_type_0/Slice_1_grad/stack/1"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "axis"
    value {
      i: 0
    }
  }
}
node {
  name: "gradients/filter_type_0/Slice_grad/concat/axis"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/Slice_grad/stack/1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/Slice_grad/Rank"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 2
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/Slice_grad/stack"
  op: "Pack"
  input: "gradients/filter_type_0/Slice_grad/Rank"
  input: "gradients/filter_type_0/Slice_grad/stack/1"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "axis"
    value {
      i: 0
    }
  }
}
node {
  name: "gradients/filter_type_1/add_6_grad/Shape_1"
  op: "Const"
  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\002\000\000\000"
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/add_grad/Shape_1"
  op: "Const"
  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\002\000\000\000"
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/add_6_grad/Shape_1"
  op: "Const"
  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\002\000\000\000"
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/add_grad/Shape_1"
  op: "Const"
  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\002\000\000\000"
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_3_grad/Rank"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 2
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_grad/Rank"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 2
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_3_grad/Rank"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 2
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_grad/Rank"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 2
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/add_8_grad/Shape_1"
  op: "Const"
  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\004\000\000\000"
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/add_2_grad/Shape_1"
  op: "Const"
  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\004\000\000\000"
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/add_8_grad/Shape_1"
  op: "Const"
  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\004\000\000\000"
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/add_2_grad/Shape_1"
  op: "Const"
  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\004\000\000\000"
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_4_grad/Rank"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 2
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_1_grad/Rank"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 2
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_4_grad/Rank"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 2
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_1_grad/Rank"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 2
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/add_10_grad/Shape_1"
  op: "Const"
  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\010\000\000\000"
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/add_4_grad/Shape_1"
  op: "Const"
  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\010\000\000\000"
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/add_10_grad/Shape_1"
  op: "Const"
  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\010\000\000\000"
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/add_4_grad/Shape_1"
  op: "Const"
  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\010\000\000\000"
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_5_grad/Rank"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 2
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_2_grad/Rank"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 2
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_5_grad/Rank"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 2
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_2_grad/Rank"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 2
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_6_grad/Rank"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 3
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_6_grad/Rank"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 3
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/Mean_grad/Maximum_1/y"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/Mean_grad/Const_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 0
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/Mean_grad/Const"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 0
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/Mean_grad/Maximum/y"
  op: "Const"
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_1/Mean_grad/Shape"
      }
    }
  }
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/Mean_grad/Fill/value"
  op: "Const"
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_1/Mean_grad/Shape"
      }
    }
  }
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/Mean_grad/range/delta"
  op: "Const"
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_1/Mean_grad/Shape"
      }
    }
  }
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/Mean_grad/range/start"
  op: "Const"
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_1/Mean_grad/Shape"
      }
    }
  }
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 0
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/Mean_grad/Shape_1"
  op: "Const"
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_1/Mean_grad/Shape"
      }
    }
  }
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
          }
        }
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/Mean_grad/Fill"
  op: "Fill"
  input: "gradients/filter_type_1/Mean_grad/Shape_1"
  input: "gradients/filter_type_1/Mean_grad/Fill/value"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_1/Mean_grad/Shape"
      }
    }
  }
  attr {
    key: "index_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/Mean_grad/Size"
  op: "Const"
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_1/Mean_grad/Shape"
      }
    }
  }
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 3
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/Mean_grad/range"
  op: "Range"
  input: "gradients/filter_type_1/Mean_grad/range/start"
  input: "gradients/filter_type_1/Mean_grad/Size"
  input: "gradients/filter_type_1/Mean_grad/range/delta"
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_1/Mean_grad/Shape"
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/Mean_grad/Maximum_1/y"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/Mean_grad/Const_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 0
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/Mean_grad/Const"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 0
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/Mean_grad/Maximum/y"
  op: "Const"
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_0/Mean_grad/Shape"
      }
    }
  }
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/Mean_grad/Fill/value"
  op: "Const"
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_0/Mean_grad/Shape"
      }
    }
  }
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/Mean_grad/range/delta"
  op: "Const"
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_0/Mean_grad/Shape"
      }
    }
  }
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/Mean_grad/range/start"
  op: "Const"
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_0/Mean_grad/Shape"
      }
    }
  }
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 0
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/Mean_grad/Shape_1"
  op: "Const"
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_0/Mean_grad/Shape"
      }
    }
  }
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
          }
        }
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/Mean_grad/Fill"
  op: "Fill"
  input: "gradients/filter_type_0/Mean_grad/Shape_1"
  input: "gradients/filter_type_0/Mean_grad/Fill/value"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_0/Mean_grad/Shape"
      }
    }
  }
  attr {
    key: "index_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/Mean_grad/Size"
  op: "Const"
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_0/Mean_grad/Shape"
      }
    }
  }
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 3
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/Mean_grad/range"
  op: "Range"
  input: "gradients/filter_type_0/Mean_grad/range/start"
  input: "gradients/filter_type_0/Mean_grad/Size"
  input: "gradients/filter_type_0/Mean_grad/range/delta"
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_0/Mean_grad/Shape"
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/mul_grad/Shape_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
          }
        }
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/mul_grad/Shape_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
          }
        }
      }
    }
  }
}
node {
  name: "gradients/concat_grad/Rank"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 2
      }
    }
  }
}
node {
  name: "gradients/Slice_3_grad/concat/axis"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/Slice_3_grad/stack/1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/Slice_3_grad/Rank"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 2
      }
    }
  }
}
node {
  name: "gradients/Slice_3_grad/stack"
  op: "Pack"
  input: "gradients/Slice_3_grad/Rank"
  input: "gradients/Slice_3_grad/stack/1"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "axis"
    value {
      i: 0
    }
  }
}
node {
  name: "gradients/Slice_2_grad/concat/axis"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/Slice_2_grad/stack/1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/Slice_2_grad/Rank"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 2
      }
    }
  }
}
node {
  name: "gradients/Slice_2_grad/stack"
  op: "Pack"
  input: "gradients/Slice_2_grad/Rank"
  input: "gradients/Slice_2_grad/stack/1"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "axis"
    value {
      i: 0
    }
  }
}
node {
  name: "gradients/layer_0_type_1/add_grad/Shape_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 4
      }
    }
  }
}
node {
  name: "gradients/layer_0_type_0/add_grad/Shape_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 4
      }
    }
  }
}
node {
  name: "gradients/layer_1_type_1/add_grad/Shape_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 4
      }
    }
  }
}
node {
  name: "gradients/layer_1_type_0/add_grad/Shape_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 4
      }
    }
  }
}
node {
  name: "gradients/layer_1_type_1/mul_grad/Shape_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 4
      }
    }
  }
}
node {
  name: "gradients/layer_1_type_0/mul_grad/Shape_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 4
      }
    }
  }
}
node {
  name: "gradients/layer_2_type_1/add_grad/Shape_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 4
      }
    }
  }
}
node {
  name: "gradients/layer_2_type_0/add_grad/Shape_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 4
      }
    }
  }
}
node {
  name: "gradients/layer_2_type_1/mul_grad/Shape_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 4
      }
    }
  }
}
node {
  name: "gradients/layer_2_type_0/mul_grad/Shape_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 4
      }
    }
  }
}
node {
  name: "gradients/final_layer_type_1/add_grad/Shape_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/final_layer_type_0/add_grad/Shape_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/concat_1_grad/Rank"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 2
      }
    }
  }
}
node {
  name: "gradients/grad_ys_0"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
        }
        double_val: 1.0
      }
    }
  }
}
node {
  name: "o_energy/reduction_indices"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "o_atom_energy/shape/0"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: -1
      }
    }
  }
}
node {
  name: "strided_slice_22/stack_2"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "strided_slice_22/stack_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "strided_slice_22/stack"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 0
      }
    }
  }
}
node {
  name: "Reshape_16/shape"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: -1
      }
    }
  }
}
node {
  name: "concat_1/axis"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/concat_1_grad/mod"
  op: "FloorMod"
  input: "concat_1/axis"
  input: "gradients/concat_1_grad/Rank"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "strided_slice_21/stack_2"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "strided_slice_21/stack_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 4
      }
    }
  }
}
node {
  name: "strided_slice_21/stack"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 3
      }
    }
  }
}
node {
  name: "strided_slice_20/stack_2"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "strided_slice_20/stack_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "strided_slice_20/stack"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 0
      }
    }
  }
}
node {
  name: "final_layer_type_1/bias"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 1
          }
        }
        double_val: -186.95558874781707
      }
    }
  }
}
node {
  name: "final_layer_type_1/bias/read"
  op: "Identity"
  input: "final_layer_type_1/bias"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@final_layer_type_1/bias"
      }
    }
  }
}
node {
  name: "final_layer_type_1/matrix"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 4
          }
          dim {
            size: 1
          }
        }
        tensor_content: "\\\013\372#\355n\277?\360\225\365o&\236\274\277\241\265`:\214\217\324\277\203\0024J.\334\301\277"
      }
    }
  }
}
node {
  name: "final_layer_type_1/matrix/read"
  op: "Identity"
  input: "final_layer_type_1/matrix"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@final_layer_type_1/matrix"
      }
    }
  }
}
node {
  name: "layer_2_type_1/Reshape/shape"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 2
          }
        }
        tensor_content: "\377\377\377\377\004\000\000\000"
      }
    }
  }
}
node {
  name: "layer_2_type_1/idt"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 4
          }
        }
        tensor_content: "\256\246\233X\377,\302?m\\\355\314\231W\263?\325\367\205&p\277\247?@q\352r\312q\303?"
      }
    }
  }
}
node {
  name: "layer_2_type_1/idt/read"
  op: "Identity"
  input: "layer_2_type_1/idt"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@layer_2_type_1/idt"
      }
    }
  }
}
node {
  name: "layer_2_type_1/bias"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 4
          }
        }
        tensor_content: "\232\021\347\311\307=\310?\201\260\026G\3248\323\277*\273\034\265i\030\351\277\264\316\177\345\022^\310\277"
      }
    }
  }
}
node {
  name: "layer_2_type_1/bias/read"
  op: "Identity"
  input: "layer_2_type_1/bias"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@layer_2_type_1/bias"
      }
    }
  }
}
node {
  name: "layer_2_type_1/matrix"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 4
          }
          dim {
            size: 4
          }
        }
        tensor_content: "\336\373)\232`f\270?\004\302\271(\200\033\301\277\014\252\232\010\207\202\323\277kn\371\233\207\233\270\277\0371\315\320\246\027\347?\211\232\302:\332F\306\277D\2546\031\340\260\265?\306\260V\342\351\345\344\277\313I+\337\365;\322?\235\322f\336kg\324\277\257\342\260\230\364\325x?\270\272\360\334!L\332\277\234\233\007\301\345\244i\277\022\014\367<i%\342?\014\250>\214U\036\323?8\213j}\226\336\277\277"
      }
    }
  }
}
node {
  name: "layer_2_type_1/matrix/read"
  op: "Identity"
  input: "layer_2_type_1/matrix"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@layer_2_type_1/matrix"
      }
    }
  }
}
node {
  name: "layer_1_type_1/Reshape/shape"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 2
          }
        }
        tensor_content: "\377\377\377\377\004\000\000\000"
      }
    }
  }
}
node {
  name: "layer_1_type_1/idt"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 4
          }
        }
        tensor_content: "\322O\226^\237y\300?\034j\254wY\303\260?\322.\304\376\314\303\247?T\354\031\034\177S\303?"
      }
    }
  }
}
node {
  name: "layer_1_type_1/idt/read"
  op: "Identity"
  input: "layer_1_type_1/idt"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@layer_1_type_1/idt"
      }
    }
  }
}
node {
  name: "layer_1_type_1/bias"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 4
          }
        }
        tensor_content: "\200\344\343~\274;\310?\250\0331o+C\323\277\337Vm\270\235\030\351\277\373f \253\177]\310\277"
      }
    }
  }
}
node {
  name: "layer_1_type_1/bias/read"
  op: "Identity"
  input: "layer_1_type_1/bias"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@layer_1_type_1/bias"
      }
    }
  }
}
node {
  name: "layer_1_type_1/matrix"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 4
          }
          dim {
            size: 4
          }
        }
        tensor_content: "\310\034R\242>\317\267?`\3732\331b\310\300\277W\255J\243S]\323\277\257\034\345Bp\t\270\277(\376\255\177\020\014\347?\303\313\355\315\261\365\305\277\240\341GJ\221\013\266?Q5\363A\275\327\344\277\331\316\246\211\r=\322?)\254Mmu]\324\277\2745\021\356\022\306x?_\005\036vcL\332\2774]~I\354\255e\277\210\233\367\243\253\037\342?\211o\302\213\221\031\323?\342Eq\307]\362\277\277"
      }
    }
  }
}
node {
  name: "layer_1_type_1/matrix/read"
  op: "Identity"
  input: "layer_1_type_1/matrix"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@layer_1_type_1/matrix"
      }
    }
  }
}
node {
  name: "layer_0_type_1/Reshape/shape"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 2
          }
        }
        tensor_content: "\377\377\377\377\004\000\000\000"
      }
    }
  }
}
node {
  name: "layer_0_type_1/bias"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 4
          }
        }
        tensor_content: "\\\007\303\2406C\310?p\274k:IA\323\277\002>\035{\307\023\351\277d\237\250-\256^\310\277"
      }
    }
  }
}
node {
  name: "layer_0_type_1/bias/read"
  op: "Identity"
  input: "layer_0_type_1/bias"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@layer_0_type_1/bias"
      }
    }
  }
}
node {
  name: "layer_0_type_1/matrix"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 8
          }
          dim {
            size: 4
          }
        }
        tensor_content: "a\267\230\311F\336\216?\017\210\244\324\207\265\250\277E\331\263u\353\360\307\277\036\202\030\3502\272\217\277A\201(\312tM\343?x\346\207\333\r/\304\277\366p!\351\215\361\252?<\017@u\203\204\341\277s\253\227\363\233\232\316?z\375\036 \332\031\321\277\217\200\324\022\\\336]\2777\017\304\0074\357\325\277HC\275\274+b\250?y\334T4\316\214\332?\2712\272\223\240\334\310?f\214\021~Fx\303\277\222\313\342-\032\334\326\277L\257\213)\2659\350?\220\000T6\344D\247\277\343G6f*\303\311?\004\367\202\347\276\316\317? x\005\227\355Z\277?Bz_bL\376\210?\017\002n\201\023\327\303\277\014)\340\311=I\267\277l\246\262\201\036\005\234?\334\370B\325f\313\223\277\255 \327\277\213b\344\277+\202\327\337q\277\320\277\365\257\206\267r[\311\277\371\350\010e\225T\322\277\376\222\2732\304\246\311\277"
      }
    }
  }
}
node {
  name: "layer_0_type_1/matrix/read"
  op: "Identity"
  input: "layer_0_type_1/matrix"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@layer_0_type_1/matrix"
      }
    }
  }
}
node {
  name: "Reshape_14/shape"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 2
          }
        }
        tensor_content: "\377\377\377\377\010\000\000\000"
      }
    }
  }
}
node {
  name: "Slice_3/size/0"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: -1
      }
    }
  }
}
node {
  name: "Slice_3/begin/0"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 0
      }
    }
  }
}
node {
  name: "mul_11/y"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 8
      }
    }
  }
}
node {
  name: "strided_slice_18/stack_2"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "strided_slice_18/stack_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 4
      }
    }
  }
}
node {
  name: "strided_slice_18/stack"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 3
      }
    }
  }
}
node {
  name: "mul_10/y"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 8
      }
    }
  }
}
node {
  name: "strided_slice_17/stack_2"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "strided_slice_17/stack_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 3
      }
    }
  }
}
node {
  name: "strided_slice_17/stack"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 2
      }
    }
  }
}
node {
  name: "strided_slice_16/stack_2"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "strided_slice_16/stack_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "strided_slice_16/stack"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 0
      }
    }
  }
}
node {
  name: "final_layer_type_0/bias"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 1
          }
        }
        double_val: -93.38284094403838
      }
    }
  }
}
node {
  name: "final_layer_type_0/bias/read"
  op: "Identity"
  input: "final_layer_type_0/bias"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@final_layer_type_0/bias"
      }
    }
  }
}
node {
  name: "final_layer_type_0/matrix"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 4
          }
          dim {
            size: 1
          }
        }
        tensor_content: " q\003\376\035F\273?\305 \264\236\225T\300\277\267\330Oj\211\217\324\277\311)\372\n\236r\301\277"
      }
    }
  }
}
node {
  name: "final_layer_type_0/matrix/read"
  op: "Identity"
  input: "final_layer_type_0/matrix"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@final_layer_type_0/matrix"
      }
    }
  }
}
node {
  name: "layer_2_type_0/Reshape/shape"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 2
          }
        }
        tensor_content: "\377\377\377\377\004\000\000\000"
      }
    }
  }
}
node {
  name: "layer_2_type_0/idt"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 4
          }
        }
        tensor_content: "-s\2148P\213\300?\t\\5\207:\343\261?\354\253\344\255]\273\247?\nN\273\007\317p\303?"
      }
    }
  }
}
node {
  name: "layer_2_type_0/idt/read"
  op: "Identity"
  input: "layer_2_type_0/idt"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@layer_2_type_0/idt"
      }
    }
  }
}
node {
  name: "layer_2_type_0/bias"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 4
          }
        }
        tensor_content: "\350\2536U\2378\310?F^d\232\037<\323\277<\333\316\263\334\030\351\277n)\2739\323\\\310\277"
      }
    }
  }
}
node {
  name: "layer_2_type_0/bias/read"
  op: "Identity"
  input: "layer_2_type_0/bias"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@layer_2_type_0/bias"
      }
    }
  }
}
node {
  name: "layer_2_type_0/matrix"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 4
          }
          dim {
            size: 4
          }
        }
        tensor_content: "1I\331x\365y\264?\236=\021\3015\"\276\277t\241\024q}\202\322\277\'X\375\243R\311\264\277\357\272\306\234B\224\346?\202\277\326\035\265B\304\277\265\203\203<\256\202\271?\364\360\345Q\310d\344\277~\202\205\340D>\322?\272\265^s\372c\324\277\247\020\361``\021y?Ce\213d\257L\332\277\2315@\003\323yQ?\223\226E\313\350\005\342?\332$\220\331!\334\322?\236\302 \262bb\300\277"
      }
    }
  }
}
node {
  name: "layer_2_type_0/matrix/read"
  op: "Identity"
  input: "layer_2_type_0/matrix"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@layer_2_type_0/matrix"
      }
    }
  }
}
node {
  name: "layer_1_type_0/Reshape/shape"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 2
          }
        }
        tensor_content: "\377\377\377\377\004\000\000\000"
      }
    }
  }
}
node {
  name: "layer_1_type_0/idt"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 4
          }
        }
        tensor_content: "\270\377\233v\233%\300?\252\343\016~\2346\257?|\021\005zw\277\247?\212\336\002}\237%\303?"
      }
    }
  }
}
node {
  name: "layer_1_type_0/idt/read"
  op: "Identity"
  input: "layer_1_type_0/idt"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@layer_1_type_0/idt"
      }
    }
  }
}
node {
  name: "layer_1_type_0/bias"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 4
          }
        }
        tensor_content: "\327\255v@\2378\310?\337\264\020&`D\323\277n\013!*\374\030\351\277]\314(\251C\\\310\277"
      }
    }
  }
}
node {
  name: "layer_1_type_0/bias/read"
  op: "Identity"
  input: "layer_1_type_0/bias"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@layer_1_type_0/bias"
      }
    }
  }
}
node {
  name: "layer_1_type_0/matrix"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 4
          }
          dim {
            size: 4
          }
        }
        tensor_content: "\3771>\326\251\362\263?X\350\356\3338\211\275\277C\031q\0010`\322\277\216JkA @\264\277m\027i\350l\217\346?K6{\321\232\"\304\277An\035\322\356\226\271?\231!4\253;`\344\277v\317IWE>\322?4\370\307\273?\\\324\277\007\022\303\'\275\371x?\365_+\247\343L\332\277\315\315\026B?\020_?\216\277Kw\014\376\341?\342BV\321u\320\322?\0166\\\244\372{\300\277"
      }
    }
  }
}
node {
  name: "layer_1_type_0/matrix/read"
  op: "Identity"
  input: "layer_1_type_0/matrix"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@layer_1_type_0/matrix"
      }
    }
  }
}
node {
  name: "layer_0_type_0/Reshape/shape"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 2
          }
        }
        tensor_content: "\377\377\377\377\004\000\000\000"
      }
    }
  }
}
node {
  name: "layer_0_type_0/bias"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 4
          }
        }
        tensor_content: "\021\356`\3544C\310?T\232\255\216\313=\323\277h\320\n\257\230\023\351\277\373\351\330\"\020^\310\277"
      }
    }
  }
}
node {
  name: "layer_0_type_0/bias/read"
  op: "Identity"
  input: "layer_0_type_0/bias"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@layer_0_type_0/bias"
      }
    }
  }
}
node {
  name: "layer_0_type_0/matrix"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 8
          }
          dim {
            size: 4
          }
        }
        tensor_content: "1Xa\274\006\271\215?\226y\267\363\026\\\250\277\231\261k`U\334\307\277A\221{ \254\216\216\277\234J\353\371\352\252\342?\361#\362\2134\250\301\277\n\332\024\273\360\177\262?\313&V\231U\340\340\277!\017\256\256\372>\314?#\275\371\256\017\321\317\277\264N\026\273\221\205\220?\232Xd\245\253\270\324\277\220\352^\201\031\305\244?\322\336\240#\356\336\332?\002\313\260\036\005\245\311?{\340Z\020\320\254\302\277\303#D\002:\344\326\277\037\342X\214G>\350?\037\315\330\224<\004\247\277\002\303\252\214\306\322\311?\327\351sx{i\315?\266\332\315\313\321\031\302?\242\224#\27226\237?\224\274\036\250\323a\301\277\003:I\253\203G\270\277\201\r\262Y\351\370\236?[\355xx\212\035\220\277\016\353\364\225~D\344\277W+\013\314c\365\321\277\273\332\205\350\234\373\306\2774b\341\345\343\"\321\277\343|\213\016t7\307\277"
      }
    }
  }
}
node {
  name: "layer_0_type_0/matrix/read"
  op: "Identity"
  input: "layer_0_type_0/matrix"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@layer_0_type_0/matrix"
      }
    }
  }
}
node {
  name: "add_2/x"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 0
      }
    }
  }
}
node {
  name: "strided_slice_15/stack_2"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "strided_slice_15/stack_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 3
      }
    }
  }
}
node {
  name: "strided_slice_15/stack"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 2
      }
    }
  }
}
node {
  name: "Reshape_12/shape"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 2
          }
        }
        tensor_content: "\377\377\377\377\010\000\000\000"
      }
    }
  }
}
node {
  name: "Slice_2/size/0"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: -1
      }
    }
  }
}
node {
  name: "Slice_2/begin"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 2
          }
        }
        tensor_content: "\000\000\000\000\000\000\000\000"
      }
    }
  }
}
node {
  name: "gradients/Slice_2_grad/Reshape"
  op: "Reshape"
  input: "Slice_2/begin"
  input: "gradients/Slice_2_grad/stack"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "mul_9/y"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 8
      }
    }
  }
}
node {
  name: "strided_slice_14/stack_2"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "strided_slice_14/stack_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 3
      }
    }
  }
}
node {
  name: "strided_slice_14/stack"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 2
      }
    }
  }
}
node {
  name: "Reshape_11/shape/0"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: -1
      }
    }
  }
}
node {
  name: "mul_8/x"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 8
      }
    }
  }
}
node {
  name: "strided_slice_13/stack_2"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "strided_slice_13/stack_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "strided_slice_13/stack"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 0
      }
    }
  }
}
node {
  name: "fitting_attr/daparam"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 0
      }
    }
  }
}
node {
  name: "fitting_attr/dfparam"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 0
      }
    }
  }
}
node {
  name: "concat/axis"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/concat_grad/mod"
  op: "FloorMod"
  input: "concat/axis"
  input: "gradients/concat_grad/Rank"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "mul_7/y"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 8
      }
    }
  }
}
node {
  name: "strided_slice_11/stack_2"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "strided_slice_11/stack_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 4
      }
    }
  }
}
node {
  name: "strided_slice_11/stack"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 3
      }
    }
  }
}
node {
  name: "strided_slice_10/stack_2"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "strided_slice_10/stack_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "strided_slice_10/stack"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 0
      }
    }
  }
}
node {
  name: "filter_type_1/mul/y"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
        }
        double_val: 0.2
      }
    }
  }
}
node {
  name: "filter_type_1/Mean/reduction_indices"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/Mean_grad/add"
  op: "Add"
  input: "filter_type_1/Mean/reduction_indices"
  input: "gradients/filter_type_1/Mean_grad/Size"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_1/Mean_grad/Shape"
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/Mean_grad/mod"
  op: "FloorMod"
  input: "gradients/filter_type_1/Mean_grad/add"
  input: "gradients/filter_type_1/Mean_grad/Size"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_1/Mean_grad/Shape"
      }
    }
  }
}
node {
  name: "filter_type_1/concat_6/axis"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_6_grad/mod"
  op: "FloorMod"
  input: "filter_type_1/concat_6/axis"
  input: "gradients/filter_type_1/concat_6_grad/Rank"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_1/Reshape_9/shape"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 3
          }
        }
        tensor_content: "\377\377\377\377\\\000\000\000\010\000\000\000"
      }
    }
  }
}
node {
  name: "filter_type_1/concat_5/axis"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_5_grad/mod"
  op: "FloorMod"
  input: "filter_type_1/concat_5/axis"
  input: "gradients/filter_type_1/concat_5_grad/Rank"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_1/Reshape_8/shape"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 2
          }
        }
        tensor_content: "\377\377\377\377\010\000\000\000"
      }
    }
  }
}
node {
  name: "filter_type_1/bias_3_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 1
          }
          dim {
            size: 8
          }
        }
        tensor_content: "\313~\206\227\026]\310?\251\260eSc\000\332\277\001\024\000\365\264v\354\277)N\024=\273\226\310\277\215L?a0f\377?@J:!\263\373\332\277\257\201\376\t\225\241\323?\344\017\230?6L\374\277"
      }
    }
  }
}
node {
  name: "filter_type_1/bias_3_1/read"
  op: "Identity"
  input: "filter_type_1/bias_3_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@filter_type_1/bias_3_1"
      }
    }
  }
}
node {
  name: "filter_type_1/matrix_3_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 4
          }
          dim {
            size: 8
          }
        }
        tensor_content: "C\365\223\350\217v\230?\017t\200\254R\t\303\277\241\326V*\320\244\310\277\226\242\013\321J\307\271\277\232\022$\232\300\367\337?A\220\3636\353\347\302\277\026.!\333\257U\303?\'\021dQsb\334\277\033\261M?q\354\316?o(\300\340X\r\305\277>\253\306!}\266\271?\251\317\327\006N\375\325\2773\254\370\371\276\375\236\277\316\376Y\367\321g\337?\310\216\2443?y\321?\006\220\\\232;\365\262\277\016\240HJv\004\320\277#\253\033N:6\350?Y\224\366M\375\314\247\277\231w\277a\265\247\270?\360\236\322=u\252\302?\226\302Ze\373f\313?Vp\004\323\212y\275?\r\203}\227\345\206\252\277\351u\360\231Gz\261\277\273\001\2232\\P\271?H\351\361\232\247T\260?gL\354\224K\021\345\277|LZ\2058`\327\277\254\32788\017O\273\277\031\234\000>\270Y\307\277\347%\304w\'\265\270\277"
      }
    }
  }
}
node {
  name: "filter_type_1/matrix_3_1/read"
  op: "Identity"
  input: "filter_type_1/matrix_3_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@filter_type_1/matrix_3_1"
      }
    }
  }
}
node {
  name: "filter_type_1/concat_4/axis"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_4_grad/mod"
  op: "FloorMod"
  input: "filter_type_1/concat_4/axis"
  input: "gradients/filter_type_1/concat_4_grad/Rank"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_1/Reshape_7/shape"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 2
          }
        }
        tensor_content: "\377\377\377\377\004\000\000\000"
      }
    }
  }
}
node {
  name: "filter_type_1/bias_2_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 1
          }
          dim {
            size: 4
          }
        }
        tensor_content: "{\343v8\035\361\322?f\342*J\013\000\332\277ew\317\t\246y\354\277X\257x\247\222\357\321\277"
      }
    }
  }
}
node {
  name: "filter_type_1/bias_2_1/read"
  op: "Identity"
  input: "filter_type_1/bias_2_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@filter_type_1/bias_2_1"
      }
    }
  }
}
node {
  name: "filter_type_1/matrix_2_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 2
          }
          dim {
            size: 4
          }
        }
        tensor_content: "/\344KnK\\\257?\337j\314\211\266\334\302\277\376uT\340\"y\327\277\033\213\371\316M\002\256\2776RV\376WJ\347?\245\337*\265\323\374\270\277\251u\204\352\302\232\311?\354\262\303*\035\354\344\277"
      }
    }
  }
}
node {
  name: "filter_type_1/matrix_2_1/read"
  op: "Identity"
  input: "filter_type_1/matrix_2_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@filter_type_1/matrix_2_1"
      }
    }
  }
}
node {
  name: "filter_type_1/concat_3/axis"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_3_grad/mod"
  op: "FloorMod"
  input: "filter_type_1/concat_3/axis"
  input: "gradients/filter_type_1/concat_3_grad/Rank"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_1/Reshape_6/shape"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 2
          }
        }
        tensor_content: "\377\377\377\377\002\000\000\000"
      }
    }
  }
}
node {
  name: "filter_type_1/bias_1_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 1
          }
          dim {
            size: 2
          }
        }
        tensor_content: "^\342\206\234\0047\310?Km\034Np\000\332\277"
      }
    }
  }
}
node {
  name: "filter_type_1/bias_1_1/read"
  op: "Identity"
  input: "filter_type_1/bias_1_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@filter_type_1/bias_1_1"
      }
    }
  }
}
node {
  name: "filter_type_1/matrix_1_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 1
          }
          dim {
            size: 2
          }
        }
        tensor_content: "\021\037\265\250\211\276\267?_\250\232\361\264w\303\277"
      }
    }
  }
}
node {
  name: "filter_type_1/matrix_1_1/read"
  op: "Identity"
  input: "filter_type_1/matrix_1_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@filter_type_1/matrix_1_1"
      }
    }
  }
}
node {
  name: "filter_type_1/Reshape_5/shape"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 2
          }
        }
        tensor_content: "\377\377\377\377\001\000\000\000"
      }
    }
  }
}
node {
  name: "filter_type_1/Slice_1/size"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 2
          }
        }
        tensor_content: "\377\377\377\377\\\000\000\000"
      }
    }
  }
}
node {
  name: "filter_type_1/Slice_1/begin"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 2
          }
        }
        tensor_content: "\000\000\000\000.\000\000\000"
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/Slice_1_grad/Reshape"
  op: "Reshape"
  input: "filter_type_1/Slice_1/begin"
  input: "gradients/filter_type_1/Slice_1_grad/stack"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_1/Reshape_4/shape"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 3
          }
        }
        tensor_content: "\377\377\377\377.\000\000\000\010\000\000\000"
      }
    }
  }
}
node {
  name: "filter_type_1/concat_2/axis"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_2_grad/mod"
  op: "FloorMod"
  input: "filter_type_1/concat_2/axis"
  input: "gradients/filter_type_1/concat_2_grad/Rank"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_1/Reshape_3/shape"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 2
          }
        }
        tensor_content: "\377\377\377\377\010\000\000\000"
      }
    }
  }
}
node {
  name: "filter_type_1/bias_3_0"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 1
          }
          dim {
            size: 8
          }
        }
        tensor_content: "JBu\357\245t\310?\036\025\0032P\010\332\277\327\320\2728\027w\354\277\216\275\"u\253\216\310\277\244\003\033L\207g\377?\326\2659\304\023\242\331\277\367\213\250\261N\244\323?\314\003{\2474M\374\277"
      }
    }
  }
}
node {
  name: "filter_type_1/bias_3_0/read"
  op: "Identity"
  input: "filter_type_1/bias_3_0"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@filter_type_1/bias_3_0"
      }
    }
  }
}
node {
  name: "filter_type_1/matrix_3_0"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 4
          }
          dim {
            size: 8
          }
        }
        tensor_content: "\000\321\243\226\211X\250?i\307\361\315\364\213\302\277F\230+\376+/\310\277$J\"\242\210d\262\277\343\257\367\275#\353\337?Ny\376\002\320\212\271\277\255\302v@Gq\304?2\331\216\270mT\334\27738\027\2603\002\317?92\254N\305\005\305\277\001\360o*\272\305\271?j\215\207}\355\366\325\277\316Y2\020\304`\237\277*\250\211\027d\246\337?\203\325\030j\225\200\321?\2464;\373\003\341\262\277j\253\006X\354\265\317\277\262\257\271\313\213\330\347?\346\326]^.\232\247\277\3551\265yi\360\270?\334\264K\311\002\234\302?\301\373\017\rgC\315?\302\226w\003F\263\275?\324\347z60T\252\277\030&d\222\360 \261\277i\214\236\212\014M\274?\216\345\030\220Pa\260?5\234pM\036\014\345\277\301\241\363\241\215e\327\2772z\252\207vq\267\277\234_\204J\221?\307\277\201\243\271\247\321\243\270\277"
      }
    }
  }
}
node {
  name: "filter_type_1/matrix_3_0/read"
  op: "Identity"
  input: "filter_type_1/matrix_3_0"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@filter_type_1/matrix_3_0"
      }
    }
  }
}
node {
  name: "filter_type_1/concat_1/axis"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_1_grad/mod"
  op: "FloorMod"
  input: "filter_type_1/concat_1/axis"
  input: "gradients/filter_type_1/concat_1_grad/Rank"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_1/Reshape_2/shape"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 2
          }
        }
        tensor_content: "\377\377\377\377\004\000\000\000"
      }
    }
  }
}
node {
  name: "filter_type_1/bias_2_0"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 1
          }
          dim {
            size: 4
          }
        }
        tensor_content: "\341\243\243(k\356\322?\030\3010\365m\377\331\277^\312\255\217\250y\354\277\233\333\316\037\266\032\322\277"
      }
    }
  }
}
node {
  name: "filter_type_1/bias_2_0/read"
  op: "Identity"
  input: "filter_type_1/bias_2_0"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@filter_type_1/bias_2_0"
      }
    }
  }
}
node {
  name: "filter_type_1/matrix_2_0"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 2
          }
          dim {
            size: 4
          }
        }
        tensor_content: "\221}\350\203\261\221\263?|\024\373m\r\306\300\277\004\347\366D\327U\327\277\326\rH^\236\374\277\277!\316\2655\023J\347?\375\275\322\035\014\317\270\277\273\266|+\215\243\311?\2033\362\240-\027\345\277"
      }
    }
  }
}
node {
  name: "filter_type_1/matrix_2_0/read"
  op: "Identity"
  input: "filter_type_1/matrix_2_0"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@filter_type_1/matrix_2_0"
      }
    }
  }
}
node {
  name: "filter_type_1/concat/axis"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_grad/mod"
  op: "FloorMod"
  input: "filter_type_1/concat/axis"
  input: "gradients/filter_type_1/concat_grad/Rank"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_1/Reshape_1/shape"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 2
          }
        }
        tensor_content: "\377\377\377\377\002\000\000\000"
      }
    }
  }
}
node {
  name: "filter_type_1/bias_1_0"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 1
          }
          dim {
            size: 2
          }
        }
        tensor_content: "\304E\347rg6\310?9\327\337\346\n\000\332\277"
      }
    }
  }
}
node {
  name: "filter_type_1/bias_1_0/read"
  op: "Identity"
  input: "filter_type_1/bias_1_0"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@filter_type_1/bias_1_0"
      }
    }
  }
}
node {
  name: "filter_type_1/matrix_1_0"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 1
          }
          dim {
            size: 2
          }
        }
        tensor_content: "\202\022\302\306e\025\267?8\371\017Z|\366\302\277"
      }
    }
  }
}
node {
  name: "filter_type_1/matrix_1_0/read"
  op: "Identity"
  input: "filter_type_1/matrix_1_0"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@filter_type_1/matrix_1_0"
      }
    }
  }
}
node {
  name: "filter_type_1/Reshape/shape"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 2
          }
        }
        tensor_content: "\377\377\377\377\001\000\000\000"
      }
    }
  }
}
node {
  name: "filter_type_1/Slice/size"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 2
          }
        }
        tensor_content: "\377\377\377\377.\000\000\000"
      }
    }
  }
}
node {
  name: "filter_type_1/Slice/begin"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 2
          }
        }
        tensor_content: "\000\000\000\000\000\000\000\000"
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/Slice_grad/Reshape"
  op: "Reshape"
  input: "filter_type_1/Slice/begin"
  input: "gradients/filter_type_1/Slice_grad/stack"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "Reshape_9/shape"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 2
          }
        }
        tensor_content: "\377\377\377\377\212\000\000\000"
      }
    }
  }
}
node {
  name: "Slice_1/size/0"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: -1
      }
    }
  }
}
node {
  name: "Slice_1/begin/0"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 0
      }
    }
  }
}
node {
  name: "mul_6/y"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 138
      }
    }
  }
}
node {
  name: "strided_slice_9/stack_2"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "strided_slice_9/stack_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 4
      }
    }
  }
}
node {
  name: "strided_slice_9/stack"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 3
      }
    }
  }
}
node {
  name: "mul_5/y"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 138
      }
    }
  }
}
node {
  name: "add/x"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 0
      }
    }
  }
}
node {
  name: "strided_slice_8/stack_2"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "strided_slice_8/stack_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 3
      }
    }
  }
}
node {
  name: "strided_slice_8/stack"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 2
      }
    }
  }
}
node {
  name: "mul_4/y"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 8
      }
    }
  }
}
node {
  name: "strided_slice_7/stack_2"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "strided_slice_7/stack_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 3
      }
    }
  }
}
node {
  name: "strided_slice_7/stack"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 2
      }
    }
  }
}
node {
  name: "strided_slice_6/stack_2"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "strided_slice_6/stack_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "strided_slice_6/stack"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 0
      }
    }
  }
}
node {
  name: "filter_type_0/mul/y"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
        }
        double_val: 0.2
      }
    }
  }
}
node {
  name: "filter_type_0/Mean/reduction_indices"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/Mean_grad/add"
  op: "Add"
  input: "filter_type_0/Mean/reduction_indices"
  input: "gradients/filter_type_0/Mean_grad/Size"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_0/Mean_grad/Shape"
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/Mean_grad/mod"
  op: "FloorMod"
  input: "gradients/filter_type_0/Mean_grad/add"
  input: "gradients/filter_type_0/Mean_grad/Size"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_0/Mean_grad/Shape"
      }
    }
  }
}
node {
  name: "filter_type_0/concat_6/axis"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_6_grad/mod"
  op: "FloorMod"
  input: "filter_type_0/concat_6/axis"
  input: "gradients/filter_type_0/concat_6_grad/Rank"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_0/Reshape_9/shape"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 3
          }
        }
        tensor_content: "\377\377\377\377\\\000\000\000\010\000\000\000"
      }
    }
  }
}
node {
  name: "filter_type_0/concat_5/axis"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_5_grad/mod"
  op: "FloorMod"
  input: "filter_type_0/concat_5/axis"
  input: "gradients/filter_type_0/concat_5_grad/Rank"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_0/Reshape_8/shape"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 2
          }
        }
        tensor_content: "\377\377\377\377\010\000\000\000"
      }
    }
  }
}
node {
  name: "filter_type_0/bias_3_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 1
          }
          dim {
            size: 8
          }
        }
        tensor_content: "\331!K\213\207w\310?\010\276\335\237L\010\332\277\271\205\272$\311w\354\277Q\0052.u\201\310\277\321\032\222\333Yg\377?\230j\003mLQ\327\277&ij\220g\243\323?L\332\2225\320M\374\277"
      }
    }
  }
}
node {
  name: "filter_type_0/bias_3_1/read"
  op: "Identity"
  input: "filter_type_0/bias_3_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@filter_type_0/bias_3_1"
      }
    }
  }
}
node {
  name: "filter_type_0/matrix_3_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 4
          }
          dim {
            size: 8
          }
        }
        tensor_content: "\031(\002l\311n\247?\372\331\201\317\033\374\300\277\223\270\2718n*\310\277\372\213\362N\273\330\262\277P:@\327x\352\337?\367Q\325\036\321m\274\277\302tk\351\"m\304?\214\204\222\021\317P\334\277\327b\260\312!b\315?\375\244\031\260^\346\304\277p\225i\347X\315\271?2\230\270\014+\375\325\277\352\226\246\213\027X\237\277\240\332\"\263\rV\335?\370\326\271%\361~\321?\2168\276$\202\330\262\277\225\327=\222w\343\317\277)/\234\304\254=\350?\340\305\225h\017\210\247\277\200\257\343\237\227\325\270?\345]L~\271\234\302?\233(\"\007\304\364\310?\242|;\205\177\256\275?`y\2462\263@\252\277\255\313n\242\\\347\265\277\226t}\336j\241\274?\215N\270?\221p\260?\232\367&J\213\020\345\277\204\244\274Z\245e\327\277k\370\222.i\314\277\277\227\346\307\204\235E\307\277\251\337\243\263\333\227\270\277"
      }
    }
  }
}
node {
  name: "filter_type_0/matrix_3_1/read"
  op: "Identity"
  input: "filter_type_0/matrix_3_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@filter_type_0/matrix_3_1"
      }
    }
  }
}
node {
  name: "filter_type_0/concat_4/axis"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_4_grad/mod"
  op: "FloorMod"
  input: "filter_type_0/concat_4/axis"
  input: "gradients/filter_type_0/concat_4_grad/Rank"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_0/Reshape_7/shape"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 2
          }
        }
        tensor_content: "\377\377\377\377\004\000\000\000"
      }
    }
  }
}
node {
  name: "filter_type_0/bias_2_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 1
          }
          dim {
            size: 4
          }
        }
        tensor_content: "\272\021\240\274\314\356\322?\377K\0227\240\001\332\277\324\214\334\352\333z\354\277,\251\000W\316\326\320\277"
      }
    }
  }
}
node {
  name: "filter_type_0/bias_2_1/read"
  op: "Identity"
  input: "filter_type_0/bias_2_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@filter_type_0/bias_2_1"
      }
    }
  }
}
node {
  name: "filter_type_0/matrix_2_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 2
          }
          dim {
            size: 4
          }
        }
        tensor_content: "Z\215\207r2\266\272?\355D(\234\t\200\302\277\236h\0166A\002\331\277O\'\212\206\311^\301\277\0363n\251,J\347?*0FS\247\263\270\277\223\023\341\324\203\252\311?\261\227\362\242F\224\345\277"
      }
    }
  }
}
node {
  name: "filter_type_0/matrix_2_1/read"
  op: "Identity"
  input: "filter_type_0/matrix_2_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@filter_type_0/matrix_2_1"
      }
    }
  }
}
node {
  name: "filter_type_0/concat_3/axis"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_3_grad/mod"
  op: "FloorMod"
  input: "filter_type_0/concat_3/axis"
  input: "gradients/filter_type_0/concat_3_grad/Rank"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_0/Reshape_6/shape"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 2
          }
        }
        tensor_content: "\377\377\377\377\002\000\000\000"
      }
    }
  }
}
node {
  name: "filter_type_0/bias_1_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 1
          }
          dim {
            size: 2
          }
        }
        tensor_content: "N\362\000\re\020\311?\346\352\361\031\330\004\332\277"
      }
    }
  }
}
node {
  name: "filter_type_0/bias_1_1/read"
  op: "Identity"
  input: "filter_type_0/bias_1_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@filter_type_0/bias_1_1"
      }
    }
  }
}
node {
  name: "filter_type_0/matrix_1_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 1
          }
          dim {
            size: 2
          }
        }
        tensor_content: ",\000\346\016\227\300\266?\237\251v2\353\354\302\277"
      }
    }
  }
}
node {
  name: "filter_type_0/matrix_1_1/read"
  op: "Identity"
  input: "filter_type_0/matrix_1_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@filter_type_0/matrix_1_1"
      }
    }
  }
}
node {
  name: "filter_type_0/Reshape_5/shape"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 2
          }
        }
        tensor_content: "\377\377\377\377\001\000\000\000"
      }
    }
  }
}
node {
  name: "filter_type_0/Slice_1/size"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 2
          }
        }
        tensor_content: "\377\377\377\377\\\000\000\000"
      }
    }
  }
}
node {
  name: "filter_type_0/Slice_1/begin"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 2
          }
        }
        tensor_content: "\000\000\000\000.\000\000\000"
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/Slice_1_grad/Reshape"
  op: "Reshape"
  input: "filter_type_0/Slice_1/begin"
  input: "gradients/filter_type_0/Slice_1_grad/stack"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_0/Reshape_4/shape"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 3
          }
        }
        tensor_content: "\377\377\377\377.\000\000\000\010\000\000\000"
      }
    }
  }
}
node {
  name: "filter_type_0/concat_2/axis"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_2_grad/mod"
  op: "FloorMod"
  input: "filter_type_0/concat_2/axis"
  input: "gradients/filter_type_0/concat_2_grad/Rank"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_0/Reshape_3/shape"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 2
          }
        }
        tensor_content: "\377\377\377\377\010\000\000\000"
      }
    }
  }
}
node {
  name: "filter_type_0/bias_3_0"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 1
          }
          dim {
            size: 8
          }
        }
        tensor_content: "\2456\257\225LZ\310?\211\031\320\021F\006\332\277\375S\200\237Gy\354\277\336\372\334\325\232\204\310\277\242I\246\033\344j\377?\366K\362 \rx\330\277\260+\257\316\022\241\323?\316\034\304\274\356P\374\277"
      }
    }
  }
}
node {
  name: "filter_type_0/bias_3_0/read"
  op: "Identity"
  input: "filter_type_0/bias_3_0"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@filter_type_0/bias_3_0"
      }
    }
  }
}
node {
  name: "filter_type_0/matrix_3_0"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 4
          }
          dim {
            size: 8
          }
        }
        tensor_content: "\013\262Z\331\305B\254?,!\262\347\203\024\304\277\360\307\256f\227\365\307\277Ee\315x\276\257\235\277\255>\324F.\311\337?\276\315nN\202\315\276\277(\014*3\203\323\303?\255\223\020e\3012\334\277,\265\310\340\275\366\316?bX\212\200\312\n\305\277u\363\3364\376\343\271?1\375\032t\024\377\325\277\300\215\271\234\225;\240\277\222\350X\344\000\356\334?\330/%A\262|\321?\314\267d\301\373\225\262\277\354\375\371\227\027\000\320\277\000\031S.\345\353\347?\020\355\222\3570=\247\277\244\031\255\320tp\271?\265f1\356\202r\302?\252Ez\340\262\311\307?\r\373\376\273\350\221\275?\373-34/\242\251\277J8wBuP\261\277U\256\205\036\032A\274?\363\0004\357Ip\260?3\337\203\366#\025\345\277qv\021\365\327v\327\277-\237\010\277I\027\301\277g\333,\201\264T\307\277W\024\036\255\'Y\270\277"
      }
    }
  }
}
node {
  name: "filter_type_0/matrix_3_0/read"
  op: "Identity"
  input: "filter_type_0/matrix_3_0"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@filter_type_0/matrix_3_0"
      }
    }
  }
}
node {
  name: "filter_type_0/concat_1/axis"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_1_grad/mod"
  op: "FloorMod"
  input: "filter_type_0/concat_1/axis"
  input: "gradients/filter_type_0/concat_1_grad/Rank"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_0/Reshape_2/shape"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 2
          }
        }
        tensor_content: "\377\377\377\377\004\000\000\000"
      }
    }
  }
}
node {
  name: "filter_type_0/bias_2_0"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 1
          }
          dim {
            size: 4
          }
        }
        tensor_content: "\2062H4X\352\322?F\366\221\034\217\002\332\277F/\267\203\307z\354\277\352\315\302\242n\274\320\277"
      }
    }
  }
}
node {
  name: "filter_type_0/bias_2_0/read"
  op: "Identity"
  input: "filter_type_0/bias_2_0"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@filter_type_0/bias_2_0"
      }
    }
  }
}
node {
  name: "filter_type_0/matrix_2_0"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 2
          }
          dim {
            size: 4
          }
        }
        tensor_content: "\'\213\223\334\232\243\260?\246\005\017\254\372\254\304\277\203\327\374{\335\235\330\277\242i\216\263L\251\274\2774ra\267\021A\347?\004\375\3451L\342\270\277\025S\005\347_\244\311?\252\255\353\274\\\324\345\277"
      }
    }
  }
}
node {
  name: "filter_type_0/matrix_2_0/read"
  op: "Identity"
  input: "filter_type_0/matrix_2_0"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@filter_type_0/matrix_2_0"
      }
    }
  }
}
node {
  name: "filter_type_0/concat/axis"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_grad/mod"
  op: "FloorMod"
  input: "filter_type_0/concat/axis"
  input: "gradients/filter_type_0/concat_grad/Rank"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_0/Reshape_1/shape"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 2
          }
        }
        tensor_content: "\377\377\377\377\002\000\000\000"
      }
    }
  }
}
node {
  name: "filter_type_0/bias_1_0"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 1
          }
          dim {
            size: 2
          }
        }
        tensor_content: "ZAK\341x\260\310?\227K9\034\032\013\332\277"
      }
    }
  }
}
node {
  name: "filter_type_0/bias_1_0/read"
  op: "Identity"
  input: "filter_type_0/bias_1_0"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@filter_type_0/bias_1_0"
      }
    }
  }
}
node {
  name: "filter_type_0/matrix_1_0"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 1
          }
          dim {
            size: 2
          }
        }
        tensor_content: "\004\316\275t\373\350\265?&\033\243\370\214!\310\277"
      }
    }
  }
}
node {
  name: "filter_type_0/matrix_1_0/read"
  op: "Identity"
  input: "filter_type_0/matrix_1_0"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@filter_type_0/matrix_1_0"
      }
    }
  }
}
node {
  name: "filter_type_0/Reshape/shape"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 2
          }
        }
        tensor_content: "\377\377\377\377\001\000\000\000"
      }
    }
  }
}
node {
  name: "filter_type_0/Slice/size"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 2
          }
        }
        tensor_content: "\377\377\377\377.\000\000\000"
      }
    }
  }
}
node {
  name: "filter_type_0/Slice/begin"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 2
          }
        }
        tensor_content: "\000\000\000\000\000\000\000\000"
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/Slice_grad/Reshape"
  op: "Reshape"
  input: "filter_type_0/Slice/begin"
  input: "gradients/filter_type_0/Slice_grad/stack"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "Reshape_7/shape"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 2
          }
        }
        tensor_content: "\377\377\377\377\212\000\000\000"
      }
    }
  }
}
node {
  name: "Slice/size/0"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: -1
      }
    }
  }
}
node {
  name: "Slice/begin"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 2
          }
        }
        tensor_content: "\000\000\000\000\000\000\000\000"
      }
    }
  }
}
node {
  name: "gradients/Slice_grad/Reshape"
  op: "Reshape"
  input: "Slice/begin"
  input: "gradients/Slice_grad/stack"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "mul_3/y"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 138
      }
    }
  }
}
node {
  name: "strided_slice_5/stack_2"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "strided_slice_5/stack_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 3
      }
    }
  }
}
node {
  name: "strided_slice_5/stack"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 2
      }
    }
  }
}
node {
  name: "Reshape_6/shape/0"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: -1
      }
    }
  }
}
node {
  name: "mul_2/x"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 138
      }
    }
  }
}
node {
  name: "strided_slice_4/stack_2"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "strided_slice_4/stack_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "strided_slice_4/stack"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 0
      }
    }
  }
}
node {
  name: "Reshape_5/shape"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 2
          }
        }
        tensor_content: "\377\377\377\377\212\000\000\000"
      }
    }
  }
}
node {
  name: "Reshape_4/shape/0"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: -1
      }
    }
  }
}
node {
  name: "strided_slice_3/stack_2"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "strided_slice_3/stack_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 2
      }
    }
  }
}
node {
  name: "strided_slice_3/stack"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "Reshape_3/shape"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 2
          }
        }
        tensor_content: "\377\377\377\377\t\000\000\000"
      }
    }
  }
}
node {
  name: "Reshape_2/shape/0"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: -1
      }
    }
  }
}
node {
  name: "mul_1/y"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 3
      }
    }
  }
}
node {
  name: "strided_slice_2/stack_2"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "strided_slice_2/stack_1"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 2
      }
    }
  }
}
node {
  name: "strided_slice_2/stack"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
          dim {
            size: 1
          }
        }
        int_val: 1
      }
    }
  }
}
node {
  name: "descrpt_attr/t_std"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 2
          }
          dim {
            size: 138
          }
        }
        tensor_content: "\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\024\314\2718\254\216\302?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?\031\025\322j\032\270\300?"
      }
    }
  }
}
node {
  name: "descrpt_attr/t_std/read"
  op: "Identity"
  input: "descrpt_attr/t_std"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@descrpt_attr/t_std"
      }
    }
  }
}
node {
  name: "descrpt_attr/t_avg"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
          dim {
            size: 2
          }
          dim {
            size: 138
          }
        }
        tensor_content: "\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\024[\204\335\351\375\254?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?\331\272\014\265\n\355\253?"
      }
    }
  }
}
node {
  name: "descrpt_attr/t_avg/read"
  op: "Identity"
  input: "descrpt_attr/t_avg"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@descrpt_attr/t_avg"
      }
    }
  }
}
node {
  name: "descrpt_attr/ntypes"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_INT32
        tensor_shape {
        }
        int_val: 2
      }
    }
  }
}
node {
  name: "descrpt_attr/rcut"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_DOUBLE
        tensor_shape {
        }
        double_val: 6.0
      }
    }
  }
}
node {
  name: "model_attr/model_type"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_STRING
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_STRING
        tensor_shape {
        }
        string_val: "ener"
      }
    }
  }
}
node {
  name: "model_attr/model_version"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_STRING
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_STRING
        tensor_shape {
        }
        string_val: "1.1"
      }
    }
  }
}
node {
  name: "model_attr/tmap"
  op: "Const"
  attr {
    key: "dtype"
    value {
      type: DT_STRING
    }
  }
  attr {
    key: "value"
    value {
      tensor {
        dtype: DT_STRING
        tensor_shape {
        }
        string_val: "O H"
      }
    }
  }
}
node {
  name: "t_mesh"
  op: "Placeholder"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "shape"
    value {
      shape {
        dim {
          size: -1
        }
      }
    }
  }
}
node {
  name: "t_natoms"
  op: "Placeholder"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "shape"
    value {
      shape {
        dim {
          size: 4
        }
      }
    }
  }
}
node {
  name: "strided_slice_25"
  op: "StridedSlice"
  input: "t_natoms"
  input: "strided_slice_25/stack"
  input: "strided_slice_25/stack_1"
  input: "strided_slice_25/stack_2"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "begin_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "ellipsis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "end_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "new_axis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "shrink_axis_mask"
    value {
      i: 1
    }
  }
}
node {
  name: "mul_14"
  op: "Mul"
  input: "mul_14/x"
  input: "strided_slice_25"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "o_atom_virial/shape"
  op: "Pack"
  input: "o_atom_virial/shape/0"
  input: "mul_14"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "axis"
    value {
      i: 0
    }
  }
}
node {
  name: "strided_slice_24"
  op: "StridedSlice"
  input: "t_natoms"
  input: "strided_slice_24/stack"
  input: "strided_slice_24/stack_1"
  input: "strided_slice_24/stack_2"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "begin_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "ellipsis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "end_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "new_axis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "shrink_axis_mask"
    value {
      i: 1
    }
  }
}
node {
  name: "mul_13"
  op: "Mul"
  input: "mul_13/x"
  input: "strided_slice_24"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "o_force/shape"
  op: "Pack"
  input: "o_force/shape/0"
  input: "mul_13"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "axis"
    value {
      i: 0
    }
  }
}
node {
  name: "strided_slice_23"
  op: "StridedSlice"
  input: "t_natoms"
  input: "strided_slice_23/stack"
  input: "strided_slice_23/stack_1"
  input: "strided_slice_23/stack_2"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "begin_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "ellipsis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "end_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "new_axis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "shrink_axis_mask"
    value {
      i: 1
    }
  }
}
node {
  name: "mul_12"
  op: "Mul"
  input: "strided_slice_23"
  input: "mul_12/y"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "Reshape_17/shape"
  op: "Pack"
  input: "Reshape_17/shape/0"
  input: "mul_12"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "axis"
    value {
      i: 0
    }
  }
}
node {
  name: "strided_slice_22"
  op: "StridedSlice"
  input: "t_natoms"
  input: "strided_slice_22/stack"
  input: "strided_slice_22/stack_1"
  input: "strided_slice_22/stack_2"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "begin_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "ellipsis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "end_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "new_axis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "shrink_axis_mask"
    value {
      i: 1
    }
  }
}
node {
  name: "o_atom_energy/shape"
  op: "Pack"
  input: "o_atom_energy/shape/0"
  input: "strided_slice_22"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "axis"
    value {
      i: 0
    }
  }
}
node {
  name: "strided_slice_21"
  op: "StridedSlice"
  input: "t_natoms"
  input: "strided_slice_21/stack"
  input: "strided_slice_21/stack_1"
  input: "strided_slice_21/stack_2"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "begin_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "ellipsis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "end_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "new_axis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "shrink_axis_mask"
    value {
      i: 1
    }
  }
}
node {
  name: "strided_slice_18"
  op: "StridedSlice"
  input: "t_natoms"
  input: "strided_slice_18/stack"
  input: "strided_slice_18/stack_1"
  input: "strided_slice_18/stack_2"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "begin_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "ellipsis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "end_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "new_axis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "shrink_axis_mask"
    value {
      i: 1
    }
  }
}
node {
  name: "mul_11"
  op: "Mul"
  input: "strided_slice_18"
  input: "mul_11/y"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "Slice_3/size"
  op: "Pack"
  input: "Slice_3/size/0"
  input: "mul_11"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "axis"
    value {
      i: 0
    }
  }
}
node {
  name: "strided_slice_17"
  op: "StridedSlice"
  input: "t_natoms"
  input: "strided_slice_17/stack"
  input: "strided_slice_17/stack_1"
  input: "strided_slice_17/stack_2"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "begin_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "ellipsis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "end_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "new_axis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "shrink_axis_mask"
    value {
      i: 1
    }
  }
}
node {
  name: "strided_slice_15"
  op: "StridedSlice"
  input: "t_natoms"
  input: "strided_slice_15/stack"
  input: "strided_slice_15/stack_1"
  input: "strided_slice_15/stack_2"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "begin_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "ellipsis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "end_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "new_axis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "shrink_axis_mask"
    value {
      i: 1
    }
  }
}
node {
  name: "add_2"
  op: "Add"
  input: "add_2/x"
  input: "strided_slice_15"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "mul_10"
  op: "Mul"
  input: "add_2"
  input: "mul_10/y"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "Slice_3/begin"
  op: "Pack"
  input: "Slice_3/begin/0"
  input: "mul_10"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "axis"
    value {
      i: 0
    }
  }
}
node {
  name: "gradients/Slice_3_grad/Reshape"
  op: "Reshape"
  input: "Slice_3/begin"
  input: "gradients/Slice_3_grad/stack"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "strided_slice_14"
  op: "StridedSlice"
  input: "t_natoms"
  input: "strided_slice_14/stack"
  input: "strided_slice_14/stack_1"
  input: "strided_slice_14/stack_2"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "begin_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "ellipsis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "end_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "new_axis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "shrink_axis_mask"
    value {
      i: 1
    }
  }
}
node {
  name: "mul_9"
  op: "Mul"
  input: "strided_slice_14"
  input: "mul_9/y"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "Slice_2/size"
  op: "Pack"
  input: "Slice_2/size/0"
  input: "mul_9"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "axis"
    value {
      i: 0
    }
  }
}
node {
  name: "strided_slice_13"
  op: "StridedSlice"
  input: "t_natoms"
  input: "strided_slice_13/stack"
  input: "strided_slice_13/stack_1"
  input: "strided_slice_13/stack_2"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "begin_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "ellipsis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "end_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "new_axis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "shrink_axis_mask"
    value {
      i: 1
    }
  }
}
node {
  name: "mul_8"
  op: "Mul"
  input: "mul_8/x"
  input: "strided_slice_13"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "Reshape_11/shape"
  op: "Pack"
  input: "Reshape_11/shape/0"
  input: "mul_8"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "axis"
    value {
      i: 0
    }
  }
}
node {
  name: "strided_slice_11"
  op: "StridedSlice"
  input: "t_natoms"
  input: "strided_slice_11/stack"
  input: "strided_slice_11/stack_1"
  input: "strided_slice_11/stack_2"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "begin_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "ellipsis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "end_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "new_axis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "shrink_axis_mask"
    value {
      i: 1
    }
  }
}
node {
  name: "mul_7"
  op: "Mul"
  input: "strided_slice_11"
  input: "mul_7/y"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "strided_slice_9"
  op: "StridedSlice"
  input: "t_natoms"
  input: "strided_slice_9/stack"
  input: "strided_slice_9/stack_1"
  input: "strided_slice_9/stack_2"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "begin_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "ellipsis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "end_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "new_axis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "shrink_axis_mask"
    value {
      i: 1
    }
  }
}
node {
  name: "mul_6"
  op: "Mul"
  input: "strided_slice_9"
  input: "mul_6/y"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "Slice_1/size"
  op: "Pack"
  input: "Slice_1/size/0"
  input: "mul_6"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "axis"
    value {
      i: 0
    }
  }
}
node {
  name: "strided_slice_8"
  op: "StridedSlice"
  input: "t_natoms"
  input: "strided_slice_8/stack"
  input: "strided_slice_8/stack_1"
  input: "strided_slice_8/stack_2"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "begin_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "ellipsis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "end_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "new_axis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "shrink_axis_mask"
    value {
      i: 1
    }
  }
}
node {
  name: "add"
  op: "Add"
  input: "add/x"
  input: "strided_slice_8"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "mul_5"
  op: "Mul"
  input: "add"
  input: "mul_5/y"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "Slice_1/begin"
  op: "Pack"
  input: "Slice_1/begin/0"
  input: "mul_5"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "axis"
    value {
      i: 0
    }
  }
}
node {
  name: "gradients/Slice_1_grad/Reshape"
  op: "Reshape"
  input: "Slice_1/begin"
  input: "gradients/Slice_1_grad/stack"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "strided_slice_7"
  op: "StridedSlice"
  input: "t_natoms"
  input: "strided_slice_7/stack"
  input: "strided_slice_7/stack_1"
  input: "strided_slice_7/stack_2"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "begin_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "ellipsis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "end_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "new_axis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "shrink_axis_mask"
    value {
      i: 1
    }
  }
}
node {
  name: "mul_4"
  op: "Mul"
  input: "strided_slice_7"
  input: "mul_4/y"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "strided_slice_5"
  op: "StridedSlice"
  input: "t_natoms"
  input: "strided_slice_5/stack"
  input: "strided_slice_5/stack_1"
  input: "strided_slice_5/stack_2"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "begin_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "ellipsis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "end_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "new_axis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "shrink_axis_mask"
    value {
      i: 1
    }
  }
}
node {
  name: "mul_3"
  op: "Mul"
  input: "strided_slice_5"
  input: "mul_3/y"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "Slice/size"
  op: "Pack"
  input: "Slice/size/0"
  input: "mul_3"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "axis"
    value {
      i: 0
    }
  }
}
node {
  name: "strided_slice_4"
  op: "StridedSlice"
  input: "t_natoms"
  input: "strided_slice_4/stack"
  input: "strided_slice_4/stack_1"
  input: "strided_slice_4/stack_2"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "begin_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "ellipsis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "end_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "new_axis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "shrink_axis_mask"
    value {
      i: 1
    }
  }
}
node {
  name: "mul_2"
  op: "Mul"
  input: "mul_2/x"
  input: "strided_slice_4"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "Reshape_6/shape"
  op: "Pack"
  input: "Reshape_6/shape/0"
  input: "mul_2"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "axis"
    value {
      i: 0
    }
  }
}
node {
  name: "strided_slice_3"
  op: "StridedSlice"
  input: "t_natoms"
  input: "strided_slice_3/stack"
  input: "strided_slice_3/stack_1"
  input: "strided_slice_3/stack_2"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "begin_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "ellipsis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "end_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "new_axis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "shrink_axis_mask"
    value {
      i: 1
    }
  }
}
node {
  name: "Reshape_4/shape"
  op: "Pack"
  input: "Reshape_4/shape/0"
  input: "strided_slice_3"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "axis"
    value {
      i: 0
    }
  }
}
node {
  name: "strided_slice_2"
  op: "StridedSlice"
  input: "t_natoms"
  input: "strided_slice_2/stack"
  input: "strided_slice_2/stack_1"
  input: "strided_slice_2/stack_2"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "begin_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "ellipsis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "end_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "new_axis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "shrink_axis_mask"
    value {
      i: 1
    }
  }
}
node {
  name: "mul_1"
  op: "Mul"
  input: "strided_slice_2"
  input: "mul_1/y"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "Reshape_2/shape"
  op: "Pack"
  input: "Reshape_2/shape/0"
  input: "mul_1"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "axis"
    value {
      i: 0
    }
  }
}
node {
  name: "t_type"
  op: "Placeholder"
  attr {
    key: "dtype"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "shape"
    value {
      shape {
        dim {
          size: -1
        }
      }
    }
  }
}
node {
  name: "Reshape_4"
  op: "Reshape"
  input: "t_type"
  input: "Reshape_4/shape"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "t_coord"
  op: "Placeholder"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "shape"
    value {
      shape {
        dim {
          size: -1
        }
      }
    }
  }
}
node {
  name: "Reshape_2"
  op: "Reshape"
  input: "t_coord"
  input: "Reshape_2/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "t_box"
  op: "Placeholder"
  attr {
    key: "dtype"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "shape"
    value {
      shape {
        dim {
          size: -1
        }
      }
    }
  }
}
node {
  name: "Reshape_3"
  op: "Reshape"
  input: "t_box"
  input: "Reshape_3/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "ProdEnvMatR"
  op: "ProdEnvMatR"
  input: "Reshape_2"
  input: "Reshape_4"
  input: "t_natoms"
  input: "Reshape_3"
  input: "t_mesh"
  input: "descrpt_attr/t_avg/read"
  input: "descrpt_attr/t_std/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "rcut"
    value {
      f: 6.0
    }
  }
  attr {
    key: "rcut_smth"
    value {
      f: 1.0
    }
  }
  attr {
    key: "sel"
    value {
      list {
        i: 46
        i: 92
      }
    }
  }
}
node {
  name: "o_nlist"
  op: "Identity"
  input: "ProdEnvMatR:3"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "o_rij"
  op: "Identity"
  input: "ProdEnvMatR:2"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "o_rmat_deriv"
  op: "Identity"
  input: "ProdEnvMatR:1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "Reshape_5"
  op: "Reshape"
  input: "ProdEnvMatR"
  input: "Reshape_5/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "o_rmat"
  op: "Identity"
  input: "Reshape_5"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/Reshape_6_grad/Shape"
  op: "Shape"
  input: "o_rmat"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "Reshape_6"
  op: "Reshape"
  input: "o_rmat"
  input: "Reshape_6/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/Slice_1_grad/Shape_1"
  op: "Shape"
  input: "Reshape_6"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/Slice_grad/Shape_1"
  op: "Shape"
  input: "Reshape_6"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "Shape_1"
  op: "Shape"
  input: "Reshape_6"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "strided_slice_10"
  op: "StridedSlice"
  input: "Shape_1"
  input: "strided_slice_10/stack"
  input: "strided_slice_10/stack_1"
  input: "strided_slice_10/stack_2"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "begin_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "ellipsis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "end_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "new_axis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "shrink_axis_mask"
    value {
      i: 1
    }
  }
}
node {
  name: "Reshape_10/shape"
  op: "Pack"
  input: "strided_slice_10"
  input: "mul_7"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "axis"
    value {
      i: 0
    }
  }
}
node {
  name: "Slice_1"
  op: "Slice"
  input: "Reshape_6"
  input: "Slice_1/begin"
  input: "Slice_1/size"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/Slice_1_grad/Shape"
  op: "Shape"
  input: "Slice_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/Slice_1_grad/sub"
  op: "Sub"
  input: "gradients/Slice_1_grad/Shape_1"
  input: "gradients/Slice_1_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/Slice_1_grad/sub_1"
  op: "Sub"
  input: "gradients/Slice_1_grad/sub"
  input: "Slice_1/begin"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/Slice_1_grad/Reshape_1"
  op: "Reshape"
  input: "gradients/Slice_1_grad/sub_1"
  input: "gradients/Slice_1_grad/stack"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/Slice_1_grad/concat"
  op: "ConcatV2"
  input: "gradients/Slice_1_grad/Reshape"
  input: "gradients/Slice_1_grad/Reshape_1"
  input: "gradients/Slice_1_grad/concat/axis"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/Reshape_9_grad/Shape"
  op: "Shape"
  input: "Slice_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "Reshape_9"
  op: "Reshape"
  input: "Slice_1"
  input: "Reshape_9/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/Slice_1_grad/Shape_1"
  op: "Shape"
  input: "Reshape_9"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/Slice_grad/Shape_1"
  op: "Shape"
  input: "Reshape_9"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_1/Slice_1"
  op: "Slice"
  input: "Reshape_9"
  input: "filter_type_1/Slice_1/begin"
  input: "filter_type_1/Slice_1/size"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_1/Slice_1_grad/Shape"
  op: "Shape"
  input: "filter_type_1/Slice_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/Slice_1_grad/sub"
  op: "Sub"
  input: "gradients/filter_type_1/Slice_1_grad/Shape_1"
  input: "gradients/filter_type_1/Slice_1_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/Slice_1_grad/sub_1"
  op: "Sub"
  input: "gradients/filter_type_1/Slice_1_grad/sub"
  input: "filter_type_1/Slice_1/begin"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/Slice_1_grad/Reshape_1"
  op: "Reshape"
  input: "gradients/filter_type_1/Slice_1_grad/sub_1"
  input: "gradients/filter_type_1/Slice_1_grad/stack"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/Slice_1_grad/concat"
  op: "ConcatV2"
  input: "gradients/filter_type_1/Slice_1_grad/Reshape"
  input: "gradients/filter_type_1/Slice_1_grad/Reshape_1"
  input: "gradients/filter_type_1/Slice_1_grad/concat/axis"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/Reshape_5_grad/Shape"
  op: "Shape"
  input: "filter_type_1/Slice_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_1/Reshape_5"
  op: "Reshape"
  input: "filter_type_1/Slice_1"
  input: "filter_type_1/Reshape_5/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_3_grad/ShapeN"
  op: "ShapeN"
  input: "filter_type_1/Reshape_5"
  input: "filter_type_1/Reshape_5"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_3_grad/ConcatOffset"
  op: "ConcatOffset"
  input: "gradients/filter_type_1/concat_3_grad/mod"
  input: "gradients/filter_type_1/concat_3_grad/ShapeN"
  input: "gradients/filter_type_1/concat_3_grad/ShapeN:1"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
}
node {
  name: "filter_type_1/concat_3"
  op: "ConcatV2"
  input: "filter_type_1/Reshape_5"
  input: "filter_type_1/Reshape_5"
  input: "filter_type_1/concat_3/axis"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/add_7_grad/Shape"
  op: "Shape"
  input: "filter_type_1/concat_3"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_1/MatMul_3"
  op: "MatMul"
  input: "filter_type_1/Reshape_5"
  input: "filter_type_1/matrix_1_1/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_1/add_6_grad/Shape"
  op: "Shape"
  input: "filter_type_1/MatMul_3"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/add_6_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/filter_type_1/add_6_grad/Shape"
  input: "gradients/filter_type_1/add_6_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_1/add_6"
  op: "Add"
  input: "filter_type_1/MatMul_3"
  input: "filter_type_1/bias_1_1/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "filter_type_1/Tanh_3"
  op: "Tanh"
  input: "filter_type_1/add_6"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_1/Reshape_6_grad/Shape"
  op: "Shape"
  input: "filter_type_1/Tanh_3"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_1/Reshape_6"
  op: "Reshape"
  input: "filter_type_1/Tanh_3"
  input: "filter_type_1/Reshape_6/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/add_7_grad/Shape_1"
  op: "Shape"
  input: "filter_type_1/Reshape_6"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/add_7_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/filter_type_1/add_7_grad/Shape"
  input: "gradients/filter_type_1/add_7_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_1/add_7"
  op: "Add"
  input: "filter_type_1/concat_3"
  input: "filter_type_1/Reshape_6"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_4_grad/ShapeN"
  op: "ShapeN"
  input: "filter_type_1/add_7"
  input: "filter_type_1/add_7"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_4_grad/ConcatOffset"
  op: "ConcatOffset"
  input: "gradients/filter_type_1/concat_4_grad/mod"
  input: "gradients/filter_type_1/concat_4_grad/ShapeN"
  input: "gradients/filter_type_1/concat_4_grad/ShapeN:1"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
}
node {
  name: "filter_type_1/concat_4"
  op: "ConcatV2"
  input: "filter_type_1/add_7"
  input: "filter_type_1/add_7"
  input: "filter_type_1/concat_4/axis"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/add_9_grad/Shape"
  op: "Shape"
  input: "filter_type_1/concat_4"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_1/MatMul_4"
  op: "MatMul"
  input: "filter_type_1/add_7"
  input: "filter_type_1/matrix_2_1/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_1/add_8_grad/Shape"
  op: "Shape"
  input: "filter_type_1/MatMul_4"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/add_8_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/filter_type_1/add_8_grad/Shape"
  input: "gradients/filter_type_1/add_8_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_1/add_8"
  op: "Add"
  input: "filter_type_1/MatMul_4"
  input: "filter_type_1/bias_2_1/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "filter_type_1/Tanh_4"
  op: "Tanh"
  input: "filter_type_1/add_8"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_1/Reshape_7_grad/Shape"
  op: "Shape"
  input: "filter_type_1/Tanh_4"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_1/Reshape_7"
  op: "Reshape"
  input: "filter_type_1/Tanh_4"
  input: "filter_type_1/Reshape_7/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/add_9_grad/Shape_1"
  op: "Shape"
  input: "filter_type_1/Reshape_7"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/add_9_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/filter_type_1/add_9_grad/Shape"
  input: "gradients/filter_type_1/add_9_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_1/add_9"
  op: "Add"
  input: "filter_type_1/concat_4"
  input: "filter_type_1/Reshape_7"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_5_grad/ShapeN"
  op: "ShapeN"
  input: "filter_type_1/add_9"
  input: "filter_type_1/add_9"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_5_grad/ConcatOffset"
  op: "ConcatOffset"
  input: "gradients/filter_type_1/concat_5_grad/mod"
  input: "gradients/filter_type_1/concat_5_grad/ShapeN"
  input: "gradients/filter_type_1/concat_5_grad/ShapeN:1"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
}
node {
  name: "filter_type_1/concat_5"
  op: "ConcatV2"
  input: "filter_type_1/add_9"
  input: "filter_type_1/add_9"
  input: "filter_type_1/concat_5/axis"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/add_11_grad/Shape"
  op: "Shape"
  input: "filter_type_1/concat_5"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_1/MatMul_5"
  op: "MatMul"
  input: "filter_type_1/add_9"
  input: "filter_type_1/matrix_3_1/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_1/add_10_grad/Shape"
  op: "Shape"
  input: "filter_type_1/MatMul_5"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/add_10_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/filter_type_1/add_10_grad/Shape"
  input: "gradients/filter_type_1/add_10_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_1/add_10"
  op: "Add"
  input: "filter_type_1/MatMul_5"
  input: "filter_type_1/bias_3_1/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "filter_type_1/Tanh_5"
  op: "Tanh"
  input: "filter_type_1/add_10"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_1/Reshape_8_grad/Shape"
  op: "Shape"
  input: "filter_type_1/Tanh_5"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_1/Reshape_8"
  op: "Reshape"
  input: "filter_type_1/Tanh_5"
  input: "filter_type_1/Reshape_8/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/add_11_grad/Shape_1"
  op: "Shape"
  input: "filter_type_1/Reshape_8"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/add_11_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/filter_type_1/add_11_grad/Shape"
  input: "gradients/filter_type_1/add_11_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_1/add_11"
  op: "Add"
  input: "filter_type_1/concat_5"
  input: "filter_type_1/Reshape_8"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_1/Reshape_9_grad/Shape"
  op: "Shape"
  input: "filter_type_1/add_11"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_1/Reshape_9"
  op: "Reshape"
  input: "filter_type_1/add_11"
  input: "filter_type_1/Reshape_9/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_1/Slice"
  op: "Slice"
  input: "Reshape_9"
  input: "filter_type_1/Slice/begin"
  input: "filter_type_1/Slice/size"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_1/Slice_grad/Shape"
  op: "Shape"
  input: "filter_type_1/Slice"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/Slice_grad/sub"
  op: "Sub"
  input: "gradients/filter_type_1/Slice_grad/Shape_1"
  input: "gradients/filter_type_1/Slice_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/Slice_grad/sub_1"
  op: "Sub"
  input: "gradients/filter_type_1/Slice_grad/sub"
  input: "filter_type_1/Slice/begin"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/Slice_grad/Reshape_1"
  op: "Reshape"
  input: "gradients/filter_type_1/Slice_grad/sub_1"
  input: "gradients/filter_type_1/Slice_grad/stack"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/Slice_grad/concat"
  op: "ConcatV2"
  input: "gradients/filter_type_1/Slice_grad/Reshape"
  input: "gradients/filter_type_1/Slice_grad/Reshape_1"
  input: "gradients/filter_type_1/Slice_grad/concat/axis"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/Reshape_grad/Shape"
  op: "Shape"
  input: "filter_type_1/Slice"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_1/Reshape"
  op: "Reshape"
  input: "filter_type_1/Slice"
  input: "filter_type_1/Reshape/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_grad/ShapeN"
  op: "ShapeN"
  input: "filter_type_1/Reshape"
  input: "filter_type_1/Reshape"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_grad/ConcatOffset"
  op: "ConcatOffset"
  input: "gradients/filter_type_1/concat_grad/mod"
  input: "gradients/filter_type_1/concat_grad/ShapeN"
  input: "gradients/filter_type_1/concat_grad/ShapeN:1"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
}
node {
  name: "filter_type_1/concat"
  op: "ConcatV2"
  input: "filter_type_1/Reshape"
  input: "filter_type_1/Reshape"
  input: "filter_type_1/concat/axis"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/add_1_grad/Shape"
  op: "Shape"
  input: "filter_type_1/concat"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_1/MatMul"
  op: "MatMul"
  input: "filter_type_1/Reshape"
  input: "filter_type_1/matrix_1_0/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_1/add_grad/Shape"
  op: "Shape"
  input: "filter_type_1/MatMul"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/add_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/filter_type_1/add_grad/Shape"
  input: "gradients/filter_type_1/add_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_1/add"
  op: "Add"
  input: "filter_type_1/MatMul"
  input: "filter_type_1/bias_1_0/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "filter_type_1/Tanh"
  op: "Tanh"
  input: "filter_type_1/add"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_1/Reshape_1_grad/Shape"
  op: "Shape"
  input: "filter_type_1/Tanh"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_1/Reshape_1"
  op: "Reshape"
  input: "filter_type_1/Tanh"
  input: "filter_type_1/Reshape_1/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/add_1_grad/Shape_1"
  op: "Shape"
  input: "filter_type_1/Reshape_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/add_1_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/filter_type_1/add_1_grad/Shape"
  input: "gradients/filter_type_1/add_1_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_1/add_1"
  op: "Add"
  input: "filter_type_1/concat"
  input: "filter_type_1/Reshape_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_1_grad/ShapeN"
  op: "ShapeN"
  input: "filter_type_1/add_1"
  input: "filter_type_1/add_1"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_1_grad/ConcatOffset"
  op: "ConcatOffset"
  input: "gradients/filter_type_1/concat_1_grad/mod"
  input: "gradients/filter_type_1/concat_1_grad/ShapeN"
  input: "gradients/filter_type_1/concat_1_grad/ShapeN:1"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
}
node {
  name: "filter_type_1/concat_1"
  op: "ConcatV2"
  input: "filter_type_1/add_1"
  input: "filter_type_1/add_1"
  input: "filter_type_1/concat_1/axis"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/add_3_grad/Shape"
  op: "Shape"
  input: "filter_type_1/concat_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_1/MatMul_1"
  op: "MatMul"
  input: "filter_type_1/add_1"
  input: "filter_type_1/matrix_2_0/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_1/add_2_grad/Shape"
  op: "Shape"
  input: "filter_type_1/MatMul_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/add_2_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/filter_type_1/add_2_grad/Shape"
  input: "gradients/filter_type_1/add_2_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_1/add_2"
  op: "Add"
  input: "filter_type_1/MatMul_1"
  input: "filter_type_1/bias_2_0/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "filter_type_1/Tanh_1"
  op: "Tanh"
  input: "filter_type_1/add_2"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_1/Reshape_2_grad/Shape"
  op: "Shape"
  input: "filter_type_1/Tanh_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_1/Reshape_2"
  op: "Reshape"
  input: "filter_type_1/Tanh_1"
  input: "filter_type_1/Reshape_2/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/add_3_grad/Shape_1"
  op: "Shape"
  input: "filter_type_1/Reshape_2"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/add_3_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/filter_type_1/add_3_grad/Shape"
  input: "gradients/filter_type_1/add_3_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_1/add_3"
  op: "Add"
  input: "filter_type_1/concat_1"
  input: "filter_type_1/Reshape_2"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_2_grad/ShapeN"
  op: "ShapeN"
  input: "filter_type_1/add_3"
  input: "filter_type_1/add_3"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_2_grad/ConcatOffset"
  op: "ConcatOffset"
  input: "gradients/filter_type_1/concat_2_grad/mod"
  input: "gradients/filter_type_1/concat_2_grad/ShapeN"
  input: "gradients/filter_type_1/concat_2_grad/ShapeN:1"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
}
node {
  name: "filter_type_1/concat_2"
  op: "ConcatV2"
  input: "filter_type_1/add_3"
  input: "filter_type_1/add_3"
  input: "filter_type_1/concat_2/axis"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/add_5_grad/Shape"
  op: "Shape"
  input: "filter_type_1/concat_2"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_1/MatMul_2"
  op: "MatMul"
  input: "filter_type_1/add_3"
  input: "filter_type_1/matrix_3_0/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_1/add_4_grad/Shape"
  op: "Shape"
  input: "filter_type_1/MatMul_2"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/add_4_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/filter_type_1/add_4_grad/Shape"
  input: "gradients/filter_type_1/add_4_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_1/add_4"
  op: "Add"
  input: "filter_type_1/MatMul_2"
  input: "filter_type_1/bias_3_0/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "filter_type_1/Tanh_2"
  op: "Tanh"
  input: "filter_type_1/add_4"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_1/Reshape_3_grad/Shape"
  op: "Shape"
  input: "filter_type_1/Tanh_2"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_1/Reshape_3"
  op: "Reshape"
  input: "filter_type_1/Tanh_2"
  input: "filter_type_1/Reshape_3/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/add_5_grad/Shape_1"
  op: "Shape"
  input: "filter_type_1/Reshape_3"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/add_5_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/filter_type_1/add_5_grad/Shape"
  input: "gradients/filter_type_1/add_5_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_1/add_5"
  op: "Add"
  input: "filter_type_1/concat_2"
  input: "filter_type_1/Reshape_3"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_1/Reshape_4_grad/Shape"
  op: "Shape"
  input: "filter_type_1/add_5"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_1/Reshape_4"
  op: "Reshape"
  input: "filter_type_1/add_5"
  input: "filter_type_1/Reshape_4/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_6_grad/ShapeN"
  op: "ShapeN"
  input: "filter_type_1/Reshape_4"
  input: "filter_type_1/Reshape_9"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_6_grad/ConcatOffset"
  op: "ConcatOffset"
  input: "gradients/filter_type_1/concat_6_grad/mod"
  input: "gradients/filter_type_1/concat_6_grad/ShapeN"
  input: "gradients/filter_type_1/concat_6_grad/ShapeN:1"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
}
node {
  name: "filter_type_1/concat_6"
  op: "ConcatV2"
  input: "filter_type_1/Reshape_4"
  input: "filter_type_1/Reshape_9"
  input: "filter_type_1/concat_6/axis"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/Mean_grad/Shape_2"
  op: "Shape"
  input: "filter_type_1/concat_6"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/Mean_grad/Prod"
  op: "Prod"
  input: "gradients/filter_type_1/Mean_grad/Shape_2"
  input: "gradients/filter_type_1/Mean_grad/Const"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_1/Mean_grad/Shape"
  op: "Shape"
  input: "filter_type_1/concat_6"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/Mean_grad/DynamicStitch"
  op: "DynamicStitch"
  input: "gradients/filter_type_1/Mean_grad/range"
  input: "gradients/filter_type_1/Mean_grad/mod"
  input: "gradients/filter_type_1/Mean_grad/Shape"
  input: "gradients/filter_type_1/Mean_grad/Fill"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_1/Mean_grad/Shape"
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/Mean_grad/Maximum"
  op: "Maximum"
  input: "gradients/filter_type_1/Mean_grad/DynamicStitch"
  input: "gradients/filter_type_1/Mean_grad/Maximum/y"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_1/Mean_grad/Shape"
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/Mean_grad/floordiv"
  op: "FloorDiv"
  input: "gradients/filter_type_1/Mean_grad/Shape"
  input: "gradients/filter_type_1/Mean_grad/Maximum"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_1/Mean_grad/Shape"
      }
    }
  }
}
node {
  name: "filter_type_1/Mean"
  op: "Mean"
  input: "filter_type_1/concat_6"
  input: "filter_type_1/Mean/reduction_indices"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_1/Mean_grad/Shape_3"
  op: "Shape"
  input: "filter_type_1/Mean"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/Mean_grad/Prod_1"
  op: "Prod"
  input: "gradients/filter_type_1/Mean_grad/Shape_3"
  input: "gradients/filter_type_1/Mean_grad/Const_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_1/Mean_grad/Maximum_1"
  op: "Maximum"
  input: "gradients/filter_type_1/Mean_grad/Prod_1"
  input: "gradients/filter_type_1/Mean_grad/Maximum_1/y"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/Mean_grad/floordiv_1"
  op: "FloorDiv"
  input: "gradients/filter_type_1/Mean_grad/Prod"
  input: "gradients/filter_type_1/Mean_grad/Maximum_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/Mean_grad/Cast"
  op: "Cast"
  input: "gradients/filter_type_1/Mean_grad/floordiv_1"
  attr {
    key: "DstT"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "SrcT"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/mul_grad/Shape"
  op: "Shape"
  input: "filter_type_1/Mean"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/mul_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/filter_type_1/mul_grad/Shape"
  input: "gradients/filter_type_1/mul_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_1/mul"
  op: "Mul"
  input: "filter_type_1/Mean"
  input: "filter_type_1/mul/y"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/Reshape_10_grad/Shape"
  op: "Shape"
  input: "filter_type_1/mul"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "Reshape_10"
  op: "Reshape"
  input: "filter_type_1/mul"
  input: "Reshape_10/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "Shape"
  op: "Shape"
  input: "Reshape_6"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "strided_slice_6"
  op: "StridedSlice"
  input: "Shape"
  input: "strided_slice_6/stack"
  input: "strided_slice_6/stack_1"
  input: "strided_slice_6/stack_2"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "begin_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "ellipsis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "end_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "new_axis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "shrink_axis_mask"
    value {
      i: 1
    }
  }
}
node {
  name: "Reshape_8/shape"
  op: "Pack"
  input: "strided_slice_6"
  input: "mul_4"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "axis"
    value {
      i: 0
    }
  }
}
node {
  name: "Slice"
  op: "Slice"
  input: "Reshape_6"
  input: "Slice/begin"
  input: "Slice/size"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/Slice_grad/Shape"
  op: "Shape"
  input: "Slice"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/Slice_grad/sub"
  op: "Sub"
  input: "gradients/Slice_grad/Shape_1"
  input: "gradients/Slice_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/Slice_grad/sub_1"
  op: "Sub"
  input: "gradients/Slice_grad/sub"
  input: "Slice/begin"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/Slice_grad/Reshape_1"
  op: "Reshape"
  input: "gradients/Slice_grad/sub_1"
  input: "gradients/Slice_grad/stack"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/Slice_grad/concat"
  op: "ConcatV2"
  input: "gradients/Slice_grad/Reshape"
  input: "gradients/Slice_grad/Reshape_1"
  input: "gradients/Slice_grad/concat/axis"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/Reshape_7_grad/Shape"
  op: "Shape"
  input: "Slice"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "Reshape_7"
  op: "Reshape"
  input: "Slice"
  input: "Reshape_7/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/Slice_1_grad/Shape_1"
  op: "Shape"
  input: "Reshape_7"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/Slice_grad/Shape_1"
  op: "Shape"
  input: "Reshape_7"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_0/Slice_1"
  op: "Slice"
  input: "Reshape_7"
  input: "filter_type_0/Slice_1/begin"
  input: "filter_type_0/Slice_1/size"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_0/Slice_1_grad/Shape"
  op: "Shape"
  input: "filter_type_0/Slice_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/Slice_1_grad/sub"
  op: "Sub"
  input: "gradients/filter_type_0/Slice_1_grad/Shape_1"
  input: "gradients/filter_type_0/Slice_1_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/Slice_1_grad/sub_1"
  op: "Sub"
  input: "gradients/filter_type_0/Slice_1_grad/sub"
  input: "filter_type_0/Slice_1/begin"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/Slice_1_grad/Reshape_1"
  op: "Reshape"
  input: "gradients/filter_type_0/Slice_1_grad/sub_1"
  input: "gradients/filter_type_0/Slice_1_grad/stack"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/Slice_1_grad/concat"
  op: "ConcatV2"
  input: "gradients/filter_type_0/Slice_1_grad/Reshape"
  input: "gradients/filter_type_0/Slice_1_grad/Reshape_1"
  input: "gradients/filter_type_0/Slice_1_grad/concat/axis"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/Reshape_5_grad/Shape"
  op: "Shape"
  input: "filter_type_0/Slice_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_0/Reshape_5"
  op: "Reshape"
  input: "filter_type_0/Slice_1"
  input: "filter_type_0/Reshape_5/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_3_grad/ShapeN"
  op: "ShapeN"
  input: "filter_type_0/Reshape_5"
  input: "filter_type_0/Reshape_5"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_3_grad/ConcatOffset"
  op: "ConcatOffset"
  input: "gradients/filter_type_0/concat_3_grad/mod"
  input: "gradients/filter_type_0/concat_3_grad/ShapeN"
  input: "gradients/filter_type_0/concat_3_grad/ShapeN:1"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
}
node {
  name: "filter_type_0/concat_3"
  op: "ConcatV2"
  input: "filter_type_0/Reshape_5"
  input: "filter_type_0/Reshape_5"
  input: "filter_type_0/concat_3/axis"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/add_7_grad/Shape"
  op: "Shape"
  input: "filter_type_0/concat_3"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_0/MatMul_3"
  op: "MatMul"
  input: "filter_type_0/Reshape_5"
  input: "filter_type_0/matrix_1_1/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_0/add_6_grad/Shape"
  op: "Shape"
  input: "filter_type_0/MatMul_3"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/add_6_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/filter_type_0/add_6_grad/Shape"
  input: "gradients/filter_type_0/add_6_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_0/add_6"
  op: "Add"
  input: "filter_type_0/MatMul_3"
  input: "filter_type_0/bias_1_1/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "filter_type_0/Tanh_3"
  op: "Tanh"
  input: "filter_type_0/add_6"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_0/Reshape_6_grad/Shape"
  op: "Shape"
  input: "filter_type_0/Tanh_3"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_0/Reshape_6"
  op: "Reshape"
  input: "filter_type_0/Tanh_3"
  input: "filter_type_0/Reshape_6/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/add_7_grad/Shape_1"
  op: "Shape"
  input: "filter_type_0/Reshape_6"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/add_7_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/filter_type_0/add_7_grad/Shape"
  input: "gradients/filter_type_0/add_7_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_0/add_7"
  op: "Add"
  input: "filter_type_0/concat_3"
  input: "filter_type_0/Reshape_6"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_4_grad/ShapeN"
  op: "ShapeN"
  input: "filter_type_0/add_7"
  input: "filter_type_0/add_7"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_4_grad/ConcatOffset"
  op: "ConcatOffset"
  input: "gradients/filter_type_0/concat_4_grad/mod"
  input: "gradients/filter_type_0/concat_4_grad/ShapeN"
  input: "gradients/filter_type_0/concat_4_grad/ShapeN:1"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
}
node {
  name: "filter_type_0/concat_4"
  op: "ConcatV2"
  input: "filter_type_0/add_7"
  input: "filter_type_0/add_7"
  input: "filter_type_0/concat_4/axis"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/add_9_grad/Shape"
  op: "Shape"
  input: "filter_type_0/concat_4"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_0/MatMul_4"
  op: "MatMul"
  input: "filter_type_0/add_7"
  input: "filter_type_0/matrix_2_1/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_0/add_8_grad/Shape"
  op: "Shape"
  input: "filter_type_0/MatMul_4"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/add_8_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/filter_type_0/add_8_grad/Shape"
  input: "gradients/filter_type_0/add_8_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_0/add_8"
  op: "Add"
  input: "filter_type_0/MatMul_4"
  input: "filter_type_0/bias_2_1/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "filter_type_0/Tanh_4"
  op: "Tanh"
  input: "filter_type_0/add_8"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_0/Reshape_7_grad/Shape"
  op: "Shape"
  input: "filter_type_0/Tanh_4"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_0/Reshape_7"
  op: "Reshape"
  input: "filter_type_0/Tanh_4"
  input: "filter_type_0/Reshape_7/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/add_9_grad/Shape_1"
  op: "Shape"
  input: "filter_type_0/Reshape_7"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/add_9_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/filter_type_0/add_9_grad/Shape"
  input: "gradients/filter_type_0/add_9_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_0/add_9"
  op: "Add"
  input: "filter_type_0/concat_4"
  input: "filter_type_0/Reshape_7"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_5_grad/ShapeN"
  op: "ShapeN"
  input: "filter_type_0/add_9"
  input: "filter_type_0/add_9"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_5_grad/ConcatOffset"
  op: "ConcatOffset"
  input: "gradients/filter_type_0/concat_5_grad/mod"
  input: "gradients/filter_type_0/concat_5_grad/ShapeN"
  input: "gradients/filter_type_0/concat_5_grad/ShapeN:1"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
}
node {
  name: "filter_type_0/concat_5"
  op: "ConcatV2"
  input: "filter_type_0/add_9"
  input: "filter_type_0/add_9"
  input: "filter_type_0/concat_5/axis"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/add_11_grad/Shape"
  op: "Shape"
  input: "filter_type_0/concat_5"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_0/MatMul_5"
  op: "MatMul"
  input: "filter_type_0/add_9"
  input: "filter_type_0/matrix_3_1/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_0/add_10_grad/Shape"
  op: "Shape"
  input: "filter_type_0/MatMul_5"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/add_10_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/filter_type_0/add_10_grad/Shape"
  input: "gradients/filter_type_0/add_10_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_0/add_10"
  op: "Add"
  input: "filter_type_0/MatMul_5"
  input: "filter_type_0/bias_3_1/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "filter_type_0/Tanh_5"
  op: "Tanh"
  input: "filter_type_0/add_10"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_0/Reshape_8_grad/Shape"
  op: "Shape"
  input: "filter_type_0/Tanh_5"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_0/Reshape_8"
  op: "Reshape"
  input: "filter_type_0/Tanh_5"
  input: "filter_type_0/Reshape_8/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/add_11_grad/Shape_1"
  op: "Shape"
  input: "filter_type_0/Reshape_8"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/add_11_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/filter_type_0/add_11_grad/Shape"
  input: "gradients/filter_type_0/add_11_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_0/add_11"
  op: "Add"
  input: "filter_type_0/concat_5"
  input: "filter_type_0/Reshape_8"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_0/Reshape_9_grad/Shape"
  op: "Shape"
  input: "filter_type_0/add_11"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_0/Reshape_9"
  op: "Reshape"
  input: "filter_type_0/add_11"
  input: "filter_type_0/Reshape_9/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_0/Slice"
  op: "Slice"
  input: "Reshape_7"
  input: "filter_type_0/Slice/begin"
  input: "filter_type_0/Slice/size"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_0/Slice_grad/Shape"
  op: "Shape"
  input: "filter_type_0/Slice"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/Slice_grad/sub"
  op: "Sub"
  input: "gradients/filter_type_0/Slice_grad/Shape_1"
  input: "gradients/filter_type_0/Slice_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/Slice_grad/sub_1"
  op: "Sub"
  input: "gradients/filter_type_0/Slice_grad/sub"
  input: "filter_type_0/Slice/begin"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/Slice_grad/Reshape_1"
  op: "Reshape"
  input: "gradients/filter_type_0/Slice_grad/sub_1"
  input: "gradients/filter_type_0/Slice_grad/stack"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/Slice_grad/concat"
  op: "ConcatV2"
  input: "gradients/filter_type_0/Slice_grad/Reshape"
  input: "gradients/filter_type_0/Slice_grad/Reshape_1"
  input: "gradients/filter_type_0/Slice_grad/concat/axis"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/Reshape_grad/Shape"
  op: "Shape"
  input: "filter_type_0/Slice"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_0/Reshape"
  op: "Reshape"
  input: "filter_type_0/Slice"
  input: "filter_type_0/Reshape/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_grad/ShapeN"
  op: "ShapeN"
  input: "filter_type_0/Reshape"
  input: "filter_type_0/Reshape"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_grad/ConcatOffset"
  op: "ConcatOffset"
  input: "gradients/filter_type_0/concat_grad/mod"
  input: "gradients/filter_type_0/concat_grad/ShapeN"
  input: "gradients/filter_type_0/concat_grad/ShapeN:1"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
}
node {
  name: "filter_type_0/concat"
  op: "ConcatV2"
  input: "filter_type_0/Reshape"
  input: "filter_type_0/Reshape"
  input: "filter_type_0/concat/axis"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/add_1_grad/Shape"
  op: "Shape"
  input: "filter_type_0/concat"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_0/MatMul"
  op: "MatMul"
  input: "filter_type_0/Reshape"
  input: "filter_type_0/matrix_1_0/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_0/add_grad/Shape"
  op: "Shape"
  input: "filter_type_0/MatMul"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/add_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/filter_type_0/add_grad/Shape"
  input: "gradients/filter_type_0/add_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_0/add"
  op: "Add"
  input: "filter_type_0/MatMul"
  input: "filter_type_0/bias_1_0/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "filter_type_0/Tanh"
  op: "Tanh"
  input: "filter_type_0/add"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_0/Reshape_1_grad/Shape"
  op: "Shape"
  input: "filter_type_0/Tanh"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_0/Reshape_1"
  op: "Reshape"
  input: "filter_type_0/Tanh"
  input: "filter_type_0/Reshape_1/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/add_1_grad/Shape_1"
  op: "Shape"
  input: "filter_type_0/Reshape_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/add_1_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/filter_type_0/add_1_grad/Shape"
  input: "gradients/filter_type_0/add_1_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_0/add_1"
  op: "Add"
  input: "filter_type_0/concat"
  input: "filter_type_0/Reshape_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_1_grad/ShapeN"
  op: "ShapeN"
  input: "filter_type_0/add_1"
  input: "filter_type_0/add_1"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_1_grad/ConcatOffset"
  op: "ConcatOffset"
  input: "gradients/filter_type_0/concat_1_grad/mod"
  input: "gradients/filter_type_0/concat_1_grad/ShapeN"
  input: "gradients/filter_type_0/concat_1_grad/ShapeN:1"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
}
node {
  name: "filter_type_0/concat_1"
  op: "ConcatV2"
  input: "filter_type_0/add_1"
  input: "filter_type_0/add_1"
  input: "filter_type_0/concat_1/axis"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/add_3_grad/Shape"
  op: "Shape"
  input: "filter_type_0/concat_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_0/MatMul_1"
  op: "MatMul"
  input: "filter_type_0/add_1"
  input: "filter_type_0/matrix_2_0/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_0/add_2_grad/Shape"
  op: "Shape"
  input: "filter_type_0/MatMul_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/add_2_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/filter_type_0/add_2_grad/Shape"
  input: "gradients/filter_type_0/add_2_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_0/add_2"
  op: "Add"
  input: "filter_type_0/MatMul_1"
  input: "filter_type_0/bias_2_0/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "filter_type_0/Tanh_1"
  op: "Tanh"
  input: "filter_type_0/add_2"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_0/Reshape_2_grad/Shape"
  op: "Shape"
  input: "filter_type_0/Tanh_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_0/Reshape_2"
  op: "Reshape"
  input: "filter_type_0/Tanh_1"
  input: "filter_type_0/Reshape_2/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/add_3_grad/Shape_1"
  op: "Shape"
  input: "filter_type_0/Reshape_2"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/add_3_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/filter_type_0/add_3_grad/Shape"
  input: "gradients/filter_type_0/add_3_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_0/add_3"
  op: "Add"
  input: "filter_type_0/concat_1"
  input: "filter_type_0/Reshape_2"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_2_grad/ShapeN"
  op: "ShapeN"
  input: "filter_type_0/add_3"
  input: "filter_type_0/add_3"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_2_grad/ConcatOffset"
  op: "ConcatOffset"
  input: "gradients/filter_type_0/concat_2_grad/mod"
  input: "gradients/filter_type_0/concat_2_grad/ShapeN"
  input: "gradients/filter_type_0/concat_2_grad/ShapeN:1"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
}
node {
  name: "filter_type_0/concat_2"
  op: "ConcatV2"
  input: "filter_type_0/add_3"
  input: "filter_type_0/add_3"
  input: "filter_type_0/concat_2/axis"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/add_5_grad/Shape"
  op: "Shape"
  input: "filter_type_0/concat_2"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_0/MatMul_2"
  op: "MatMul"
  input: "filter_type_0/add_3"
  input: "filter_type_0/matrix_3_0/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_0/add_4_grad/Shape"
  op: "Shape"
  input: "filter_type_0/MatMul_2"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/add_4_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/filter_type_0/add_4_grad/Shape"
  input: "gradients/filter_type_0/add_4_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_0/add_4"
  op: "Add"
  input: "filter_type_0/MatMul_2"
  input: "filter_type_0/bias_3_0/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "filter_type_0/Tanh_2"
  op: "Tanh"
  input: "filter_type_0/add_4"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_0/Reshape_3_grad/Shape"
  op: "Shape"
  input: "filter_type_0/Tanh_2"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_0/Reshape_3"
  op: "Reshape"
  input: "filter_type_0/Tanh_2"
  input: "filter_type_0/Reshape_3/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/add_5_grad/Shape_1"
  op: "Shape"
  input: "filter_type_0/Reshape_3"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/add_5_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/filter_type_0/add_5_grad/Shape"
  input: "gradients/filter_type_0/add_5_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_0/add_5"
  op: "Add"
  input: "filter_type_0/concat_2"
  input: "filter_type_0/Reshape_3"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_0/Reshape_4_grad/Shape"
  op: "Shape"
  input: "filter_type_0/add_5"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_0/Reshape_4"
  op: "Reshape"
  input: "filter_type_0/add_5"
  input: "filter_type_0/Reshape_4/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_6_grad/ShapeN"
  op: "ShapeN"
  input: "filter_type_0/Reshape_4"
  input: "filter_type_0/Reshape_9"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_6_grad/ConcatOffset"
  op: "ConcatOffset"
  input: "gradients/filter_type_0/concat_6_grad/mod"
  input: "gradients/filter_type_0/concat_6_grad/ShapeN"
  input: "gradients/filter_type_0/concat_6_grad/ShapeN:1"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
}
node {
  name: "filter_type_0/concat_6"
  op: "ConcatV2"
  input: "filter_type_0/Reshape_4"
  input: "filter_type_0/Reshape_9"
  input: "filter_type_0/concat_6/axis"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/Mean_grad/Shape_2"
  op: "Shape"
  input: "filter_type_0/concat_6"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/Mean_grad/Prod"
  op: "Prod"
  input: "gradients/filter_type_0/Mean_grad/Shape_2"
  input: "gradients/filter_type_0/Mean_grad/Const"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_0/Mean_grad/Shape"
  op: "Shape"
  input: "filter_type_0/concat_6"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/Mean_grad/DynamicStitch"
  op: "DynamicStitch"
  input: "gradients/filter_type_0/Mean_grad/range"
  input: "gradients/filter_type_0/Mean_grad/mod"
  input: "gradients/filter_type_0/Mean_grad/Shape"
  input: "gradients/filter_type_0/Mean_grad/Fill"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_0/Mean_grad/Shape"
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/Mean_grad/Maximum"
  op: "Maximum"
  input: "gradients/filter_type_0/Mean_grad/DynamicStitch"
  input: "gradients/filter_type_0/Mean_grad/Maximum/y"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_0/Mean_grad/Shape"
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/Mean_grad/floordiv"
  op: "FloorDiv"
  input: "gradients/filter_type_0/Mean_grad/Shape"
  input: "gradients/filter_type_0/Mean_grad/Maximum"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_0/Mean_grad/Shape"
      }
    }
  }
}
node {
  name: "filter_type_0/Mean"
  op: "Mean"
  input: "filter_type_0/concat_6"
  input: "filter_type_0/Mean/reduction_indices"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_0/Mean_grad/Shape_3"
  op: "Shape"
  input: "filter_type_0/Mean"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/Mean_grad/Prod_1"
  op: "Prod"
  input: "gradients/filter_type_0/Mean_grad/Shape_3"
  input: "gradients/filter_type_0/Mean_grad/Const_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_0/Mean_grad/Maximum_1"
  op: "Maximum"
  input: "gradients/filter_type_0/Mean_grad/Prod_1"
  input: "gradients/filter_type_0/Mean_grad/Maximum_1/y"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/Mean_grad/floordiv_1"
  op: "FloorDiv"
  input: "gradients/filter_type_0/Mean_grad/Prod"
  input: "gradients/filter_type_0/Mean_grad/Maximum_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/Mean_grad/Cast"
  op: "Cast"
  input: "gradients/filter_type_0/Mean_grad/floordiv_1"
  attr {
    key: "DstT"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "SrcT"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/mul_grad/Shape"
  op: "Shape"
  input: "filter_type_0/Mean"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/mul_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/filter_type_0/mul_grad/Shape"
  input: "gradients/filter_type_0/mul_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "filter_type_0/mul"
  op: "Mul"
  input: "filter_type_0/Mean"
  input: "filter_type_0/mul/y"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/Reshape_8_grad/Shape"
  op: "Shape"
  input: "filter_type_0/mul"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "Reshape_8"
  op: "Reshape"
  input: "filter_type_0/mul"
  input: "Reshape_8/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/concat_grad/ShapeN"
  op: "ShapeN"
  input: "Reshape_8"
  input: "Reshape_10"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/concat_grad/ConcatOffset"
  op: "ConcatOffset"
  input: "gradients/concat_grad/mod"
  input: "gradients/concat_grad/ShapeN"
  input: "gradients/concat_grad/ShapeN:1"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
}
node {
  name: "concat"
  op: "ConcatV2"
  input: "Reshape_8"
  input: "Reshape_10"
  input: "concat/axis"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "o_descriptor"
  op: "Identity"
  input: "concat"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/Reshape_11_grad/Shape"
  op: "Shape"
  input: "o_descriptor"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "Reshape_11"
  op: "Reshape"
  input: "o_descriptor"
  input: "Reshape_11/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/Slice_3_grad/Shape_1"
  op: "Shape"
  input: "Reshape_11"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/Slice_2_grad/Shape_1"
  op: "Shape"
  input: "Reshape_11"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "Shape_3"
  op: "Shape"
  input: "Reshape_11"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "strided_slice_20"
  op: "StridedSlice"
  input: "Shape_3"
  input: "strided_slice_20/stack"
  input: "strided_slice_20/stack_1"
  input: "strided_slice_20/stack_2"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "begin_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "ellipsis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "end_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "new_axis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "shrink_axis_mask"
    value {
      i: 1
    }
  }
}
node {
  name: "Reshape_15/shape"
  op: "Pack"
  input: "strided_slice_20"
  input: "strided_slice_21"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "axis"
    value {
      i: 0
    }
  }
}
node {
  name: "Slice_3"
  op: "Slice"
  input: "Reshape_11"
  input: "Slice_3/begin"
  input: "Slice_3/size"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/Slice_3_grad/Shape"
  op: "Shape"
  input: "Slice_3"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/Slice_3_grad/sub"
  op: "Sub"
  input: "gradients/Slice_3_grad/Shape_1"
  input: "gradients/Slice_3_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/Slice_3_grad/sub_1"
  op: "Sub"
  input: "gradients/Slice_3_grad/sub"
  input: "Slice_3/begin"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/Slice_3_grad/Reshape_1"
  op: "Reshape"
  input: "gradients/Slice_3_grad/sub_1"
  input: "gradients/Slice_3_grad/stack"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/Slice_3_grad/concat"
  op: "ConcatV2"
  input: "gradients/Slice_3_grad/Reshape"
  input: "gradients/Slice_3_grad/Reshape_1"
  input: "gradients/Slice_3_grad/concat/axis"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/Reshape_14_grad/Shape"
  op: "Shape"
  input: "Slice_3"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "Reshape_14"
  op: "Reshape"
  input: "Slice_3"
  input: "Reshape_14/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "layer_0_type_1/MatMul"
  op: "MatMul"
  input: "Reshape_14"
  input: "layer_0_type_1/matrix/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/layer_0_type_1/add_grad/Shape"
  op: "Shape"
  input: "layer_0_type_1/MatMul"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/layer_0_type_1/add_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/layer_0_type_1/add_grad/Shape"
  input: "gradients/layer_0_type_1/add_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "layer_0_type_1/add"
  op: "Add"
  input: "layer_0_type_1/MatMul"
  input: "layer_0_type_1/bias/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "layer_0_type_1/Tanh"
  op: "Tanh"
  input: "layer_0_type_1/add"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/layer_0_type_1/Reshape_grad/Shape"
  op: "Shape"
  input: "layer_0_type_1/Tanh"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "layer_0_type_1/Reshape"
  op: "Reshape"
  input: "layer_0_type_1/Tanh"
  input: "layer_0_type_1/Reshape/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/add_6_grad/Shape"
  op: "Shape"
  input: "layer_0_type_1/Reshape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "layer_1_type_1/MatMul"
  op: "MatMul"
  input: "layer_0_type_1/Reshape"
  input: "layer_1_type_1/matrix/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/layer_1_type_1/add_grad/Shape"
  op: "Shape"
  input: "layer_1_type_1/MatMul"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/layer_1_type_1/add_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/layer_1_type_1/add_grad/Shape"
  input: "gradients/layer_1_type_1/add_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "layer_1_type_1/add"
  op: "Add"
  input: "layer_1_type_1/MatMul"
  input: "layer_1_type_1/bias/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "layer_1_type_1/Tanh"
  op: "Tanh"
  input: "layer_1_type_1/add"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/layer_1_type_1/Reshape_grad/Shape"
  op: "Shape"
  input: "layer_1_type_1/Tanh"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "layer_1_type_1/Reshape"
  op: "Reshape"
  input: "layer_1_type_1/Tanh"
  input: "layer_1_type_1/Reshape/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/layer_1_type_1/mul_grad/Shape"
  op: "Shape"
  input: "layer_1_type_1/Reshape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/layer_1_type_1/mul_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/layer_1_type_1/mul_grad/Shape"
  input: "gradients/layer_1_type_1/mul_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "layer_1_type_1/mul"
  op: "Mul"
  input: "layer_1_type_1/Reshape"
  input: "layer_1_type_1/idt/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/add_6_grad/Shape_1"
  op: "Shape"
  input: "layer_1_type_1/mul"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/add_6_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/add_6_grad/Shape"
  input: "gradients/add_6_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "add_6"
  op: "Add"
  input: "layer_0_type_1/Reshape"
  input: "layer_1_type_1/mul"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/add_7_grad/Shape"
  op: "Shape"
  input: "add_6"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "layer_2_type_1/MatMul"
  op: "MatMul"
  input: "add_6"
  input: "layer_2_type_1/matrix/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/layer_2_type_1/add_grad/Shape"
  op: "Shape"
  input: "layer_2_type_1/MatMul"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/layer_2_type_1/add_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/layer_2_type_1/add_grad/Shape"
  input: "gradients/layer_2_type_1/add_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "layer_2_type_1/add"
  op: "Add"
  input: "layer_2_type_1/MatMul"
  input: "layer_2_type_1/bias/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "layer_2_type_1/Tanh"
  op: "Tanh"
  input: "layer_2_type_1/add"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/layer_2_type_1/Reshape_grad/Shape"
  op: "Shape"
  input: "layer_2_type_1/Tanh"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "layer_2_type_1/Reshape"
  op: "Reshape"
  input: "layer_2_type_1/Tanh"
  input: "layer_2_type_1/Reshape/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/layer_2_type_1/mul_grad/Shape"
  op: "Shape"
  input: "layer_2_type_1/Reshape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/layer_2_type_1/mul_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/layer_2_type_1/mul_grad/Shape"
  input: "gradients/layer_2_type_1/mul_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "layer_2_type_1/mul"
  op: "Mul"
  input: "layer_2_type_1/Reshape"
  input: "layer_2_type_1/idt/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/add_7_grad/Shape_1"
  op: "Shape"
  input: "layer_2_type_1/mul"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/add_7_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/add_7_grad/Shape"
  input: "gradients/add_7_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "add_7"
  op: "Add"
  input: "add_6"
  input: "layer_2_type_1/mul"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "final_layer_type_1/MatMul"
  op: "MatMul"
  input: "add_7"
  input: "final_layer_type_1/matrix/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/final_layer_type_1/add_grad/Shape"
  op: "Shape"
  input: "final_layer_type_1/MatMul"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/final_layer_type_1/add_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/final_layer_type_1/add_grad/Shape"
  input: "gradients/final_layer_type_1/add_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "final_layer_type_1/add"
  op: "Add"
  input: "final_layer_type_1/MatMul"
  input: "final_layer_type_1/bias/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/Reshape_15_grad/Shape"
  op: "Shape"
  input: "final_layer_type_1/add"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "Reshape_15"
  op: "Reshape"
  input: "final_layer_type_1/add"
  input: "Reshape_15/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "Shape_2"
  op: "Shape"
  input: "Reshape_11"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "strided_slice_16"
  op: "StridedSlice"
  input: "Shape_2"
  input: "strided_slice_16/stack"
  input: "strided_slice_16/stack_1"
  input: "strided_slice_16/stack_2"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "begin_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "ellipsis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "end_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "new_axis_mask"
    value {
      i: 0
    }
  }
  attr {
    key: "shrink_axis_mask"
    value {
      i: 1
    }
  }
}
node {
  name: "Reshape_13/shape"
  op: "Pack"
  input: "strided_slice_16"
  input: "strided_slice_17"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "axis"
    value {
      i: 0
    }
  }
}
node {
  name: "Slice_2"
  op: "Slice"
  input: "Reshape_11"
  input: "Slice_2/begin"
  input: "Slice_2/size"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/Slice_2_grad/Shape"
  op: "Shape"
  input: "Slice_2"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/Slice_2_grad/sub"
  op: "Sub"
  input: "gradients/Slice_2_grad/Shape_1"
  input: "gradients/Slice_2_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/Slice_2_grad/sub_1"
  op: "Sub"
  input: "gradients/Slice_2_grad/sub"
  input: "Slice_2/begin"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/Slice_2_grad/Reshape_1"
  op: "Reshape"
  input: "gradients/Slice_2_grad/sub_1"
  input: "gradients/Slice_2_grad/stack"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/Slice_2_grad/concat"
  op: "ConcatV2"
  input: "gradients/Slice_2_grad/Reshape"
  input: "gradients/Slice_2_grad/Reshape_1"
  input: "gradients/Slice_2_grad/concat/axis"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/Reshape_12_grad/Shape"
  op: "Shape"
  input: "Slice_2"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "Reshape_12"
  op: "Reshape"
  input: "Slice_2"
  input: "Reshape_12/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "layer_0_type_0/MatMul"
  op: "MatMul"
  input: "Reshape_12"
  input: "layer_0_type_0/matrix/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/layer_0_type_0/add_grad/Shape"
  op: "Shape"
  input: "layer_0_type_0/MatMul"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/layer_0_type_0/add_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/layer_0_type_0/add_grad/Shape"
  input: "gradients/layer_0_type_0/add_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "layer_0_type_0/add"
  op: "Add"
  input: "layer_0_type_0/MatMul"
  input: "layer_0_type_0/bias/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "layer_0_type_0/Tanh"
  op: "Tanh"
  input: "layer_0_type_0/add"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/layer_0_type_0/Reshape_grad/Shape"
  op: "Shape"
  input: "layer_0_type_0/Tanh"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "layer_0_type_0/Reshape"
  op: "Reshape"
  input: "layer_0_type_0/Tanh"
  input: "layer_0_type_0/Reshape/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/add_3_grad/Shape"
  op: "Shape"
  input: "layer_0_type_0/Reshape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "layer_1_type_0/MatMul"
  op: "MatMul"
  input: "layer_0_type_0/Reshape"
  input: "layer_1_type_0/matrix/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/layer_1_type_0/add_grad/Shape"
  op: "Shape"
  input: "layer_1_type_0/MatMul"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/layer_1_type_0/add_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/layer_1_type_0/add_grad/Shape"
  input: "gradients/layer_1_type_0/add_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "layer_1_type_0/add"
  op: "Add"
  input: "layer_1_type_0/MatMul"
  input: "layer_1_type_0/bias/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "layer_1_type_0/Tanh"
  op: "Tanh"
  input: "layer_1_type_0/add"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/layer_1_type_0/Reshape_grad/Shape"
  op: "Shape"
  input: "layer_1_type_0/Tanh"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "layer_1_type_0/Reshape"
  op: "Reshape"
  input: "layer_1_type_0/Tanh"
  input: "layer_1_type_0/Reshape/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/layer_1_type_0/mul_grad/Shape"
  op: "Shape"
  input: "layer_1_type_0/Reshape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/layer_1_type_0/mul_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/layer_1_type_0/mul_grad/Shape"
  input: "gradients/layer_1_type_0/mul_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "layer_1_type_0/mul"
  op: "Mul"
  input: "layer_1_type_0/Reshape"
  input: "layer_1_type_0/idt/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/add_3_grad/Shape_1"
  op: "Shape"
  input: "layer_1_type_0/mul"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/add_3_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/add_3_grad/Shape"
  input: "gradients/add_3_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "add_3"
  op: "Add"
  input: "layer_0_type_0/Reshape"
  input: "layer_1_type_0/mul"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/add_4_grad/Shape"
  op: "Shape"
  input: "add_3"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "layer_2_type_0/MatMul"
  op: "MatMul"
  input: "add_3"
  input: "layer_2_type_0/matrix/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/layer_2_type_0/add_grad/Shape"
  op: "Shape"
  input: "layer_2_type_0/MatMul"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/layer_2_type_0/add_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/layer_2_type_0/add_grad/Shape"
  input: "gradients/layer_2_type_0/add_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "layer_2_type_0/add"
  op: "Add"
  input: "layer_2_type_0/MatMul"
  input: "layer_2_type_0/bias/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "layer_2_type_0/Tanh"
  op: "Tanh"
  input: "layer_2_type_0/add"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/layer_2_type_0/Reshape_grad/Shape"
  op: "Shape"
  input: "layer_2_type_0/Tanh"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "layer_2_type_0/Reshape"
  op: "Reshape"
  input: "layer_2_type_0/Tanh"
  input: "layer_2_type_0/Reshape/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/layer_2_type_0/mul_grad/Shape"
  op: "Shape"
  input: "layer_2_type_0/Reshape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/layer_2_type_0/mul_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/layer_2_type_0/mul_grad/Shape"
  input: "gradients/layer_2_type_0/mul_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "layer_2_type_0/mul"
  op: "Mul"
  input: "layer_2_type_0/Reshape"
  input: "layer_2_type_0/idt/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/add_4_grad/Shape_1"
  op: "Shape"
  input: "layer_2_type_0/mul"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/add_4_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/add_4_grad/Shape"
  input: "gradients/add_4_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "add_4"
  op: "Add"
  input: "add_3"
  input: "layer_2_type_0/mul"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "final_layer_type_0/MatMul"
  op: "MatMul"
  input: "add_4"
  input: "final_layer_type_0/matrix/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/final_layer_type_0/add_grad/Shape"
  op: "Shape"
  input: "final_layer_type_0/MatMul"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/final_layer_type_0/add_grad/BroadcastGradientArgs"
  op: "BroadcastGradientArgs"
  input: "gradients/final_layer_type_0/add_grad/Shape"
  input: "gradients/final_layer_type_0/add_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "final_layer_type_0/add"
  op: "Add"
  input: "final_layer_type_0/MatMul"
  input: "final_layer_type_0/bias/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/Reshape_13_grad/Shape"
  op: "Shape"
  input: "final_layer_type_0/add"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "Reshape_13"
  op: "Reshape"
  input: "final_layer_type_0/add"
  input: "Reshape_13/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/concat_1_grad/ShapeN"
  op: "ShapeN"
  input: "Reshape_13"
  input: "Reshape_15"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/concat_1_grad/ConcatOffset"
  op: "ConcatOffset"
  input: "gradients/concat_1_grad/mod"
  input: "gradients/concat_1_grad/ShapeN"
  input: "gradients/concat_1_grad/ShapeN:1"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
}
node {
  name: "concat_1"
  op: "ConcatV2"
  input: "Reshape_13"
  input: "Reshape_15"
  input: "concat_1/axis"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/Reshape_16_grad/Shape"
  op: "Shape"
  input: "concat_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "Reshape_16"
  op: "Reshape"
  input: "concat_1"
  input: "Reshape_16/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/Shape"
  op: "Shape"
  input: "Reshape_16"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "out_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/Fill"
  op: "Fill"
  input: "gradients/Shape"
  input: "gradients/grad_ys_0"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "index_type"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/Reshape_16_grad/Reshape"
  op: "Reshape"
  input: "gradients/Fill"
  input: "gradients/Reshape_16_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/concat_1_grad/Slice_1"
  op: "Slice"
  input: "gradients/Reshape_16_grad/Reshape"
  input: "gradients/concat_1_grad/ConcatOffset:1"
  input: "gradients/concat_1_grad/ShapeN:1"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/Reshape_15_grad/Reshape"
  op: "Reshape"
  input: "gradients/concat_1_grad/Slice_1"
  input: "gradients/Reshape_15_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/final_layer_type_1/add_grad/Sum"
  op: "Sum"
  input: "gradients/Reshape_15_grad/Reshape"
  input: "gradients/final_layer_type_1/add_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/final_layer_type_1/add_grad/Reshape"
  op: "Reshape"
  input: "gradients/final_layer_type_1/add_grad/Sum"
  input: "gradients/final_layer_type_1/add_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/final_layer_type_1/MatMul_grad/MatMul"
  op: "MatMul"
  input: "gradients/final_layer_type_1/add_grad/Reshape"
  input: "final_layer_type_1/matrix/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: true
    }
  }
}
node {
  name: "gradients/add_7_grad/Sum_1"
  op: "Sum"
  input: "gradients/final_layer_type_1/MatMul_grad/MatMul"
  input: "gradients/add_7_grad/BroadcastGradientArgs:1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/add_7_grad/Reshape_1"
  op: "Reshape"
  input: "gradients/add_7_grad/Sum_1"
  input: "gradients/add_7_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/layer_2_type_1/mul_grad/Mul"
  op: "Mul"
  input: "gradients/add_7_grad/Reshape_1"
  input: "layer_2_type_1/idt/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/layer_2_type_1/mul_grad/Sum"
  op: "Sum"
  input: "gradients/layer_2_type_1/mul_grad/Mul"
  input: "gradients/layer_2_type_1/mul_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/layer_2_type_1/mul_grad/Reshape"
  op: "Reshape"
  input: "gradients/layer_2_type_1/mul_grad/Sum"
  input: "gradients/layer_2_type_1/mul_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/layer_2_type_1/Reshape_grad/Reshape"
  op: "Reshape"
  input: "gradients/layer_2_type_1/mul_grad/Reshape"
  input: "gradients/layer_2_type_1/Reshape_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/layer_2_type_1/Tanh_grad/TanhGrad"
  op: "TanhGrad"
  input: "layer_2_type_1/Tanh"
  input: "gradients/layer_2_type_1/Reshape_grad/Reshape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/layer_2_type_1/add_grad/Sum"
  op: "Sum"
  input: "gradients/layer_2_type_1/Tanh_grad/TanhGrad"
  input: "gradients/layer_2_type_1/add_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/layer_2_type_1/add_grad/Reshape"
  op: "Reshape"
  input: "gradients/layer_2_type_1/add_grad/Sum"
  input: "gradients/layer_2_type_1/add_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/layer_2_type_1/MatMul_grad/MatMul"
  op: "MatMul"
  input: "gradients/layer_2_type_1/add_grad/Reshape"
  input: "layer_2_type_1/matrix/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: true
    }
  }
}
node {
  name: "gradients/add_7_grad/Sum"
  op: "Sum"
  input: "gradients/final_layer_type_1/MatMul_grad/MatMul"
  input: "gradients/add_7_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/add_7_grad/Reshape"
  op: "Reshape"
  input: "gradients/add_7_grad/Sum"
  input: "gradients/add_7_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/AddN_1"
  op: "AddN"
  input: "gradients/add_7_grad/Reshape"
  input: "gradients/layer_2_type_1/MatMul_grad/MatMul"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/add_7_grad/Reshape"
      }
    }
  }
}
node {
  name: "gradients/add_6_grad/Sum_1"
  op: "Sum"
  input: "gradients/AddN_1"
  input: "gradients/add_6_grad/BroadcastGradientArgs:1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/add_6_grad/Reshape_1"
  op: "Reshape"
  input: "gradients/add_6_grad/Sum_1"
  input: "gradients/add_6_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/layer_1_type_1/mul_grad/Mul"
  op: "Mul"
  input: "gradients/add_6_grad/Reshape_1"
  input: "layer_1_type_1/idt/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/layer_1_type_1/mul_grad/Sum"
  op: "Sum"
  input: "gradients/layer_1_type_1/mul_grad/Mul"
  input: "gradients/layer_1_type_1/mul_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/layer_1_type_1/mul_grad/Reshape"
  op: "Reshape"
  input: "gradients/layer_1_type_1/mul_grad/Sum"
  input: "gradients/layer_1_type_1/mul_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/layer_1_type_1/Reshape_grad/Reshape"
  op: "Reshape"
  input: "gradients/layer_1_type_1/mul_grad/Reshape"
  input: "gradients/layer_1_type_1/Reshape_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/layer_1_type_1/Tanh_grad/TanhGrad"
  op: "TanhGrad"
  input: "layer_1_type_1/Tanh"
  input: "gradients/layer_1_type_1/Reshape_grad/Reshape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/layer_1_type_1/add_grad/Sum"
  op: "Sum"
  input: "gradients/layer_1_type_1/Tanh_grad/TanhGrad"
  input: "gradients/layer_1_type_1/add_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/layer_1_type_1/add_grad/Reshape"
  op: "Reshape"
  input: "gradients/layer_1_type_1/add_grad/Sum"
  input: "gradients/layer_1_type_1/add_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/layer_1_type_1/MatMul_grad/MatMul"
  op: "MatMul"
  input: "gradients/layer_1_type_1/add_grad/Reshape"
  input: "layer_1_type_1/matrix/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: true
    }
  }
}
node {
  name: "gradients/add_6_grad/Sum"
  op: "Sum"
  input: "gradients/AddN_1"
  input: "gradients/add_6_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/add_6_grad/Reshape"
  op: "Reshape"
  input: "gradients/add_6_grad/Sum"
  input: "gradients/add_6_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/AddN_3"
  op: "AddN"
  input: "gradients/add_6_grad/Reshape"
  input: "gradients/layer_1_type_1/MatMul_grad/MatMul"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/add_6_grad/Reshape"
      }
    }
  }
}
node {
  name: "gradients/layer_0_type_1/Reshape_grad/Reshape"
  op: "Reshape"
  input: "gradients/AddN_3"
  input: "gradients/layer_0_type_1/Reshape_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/layer_0_type_1/Tanh_grad/TanhGrad"
  op: "TanhGrad"
  input: "layer_0_type_1/Tanh"
  input: "gradients/layer_0_type_1/Reshape_grad/Reshape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/layer_0_type_1/add_grad/Sum"
  op: "Sum"
  input: "gradients/layer_0_type_1/Tanh_grad/TanhGrad"
  input: "gradients/layer_0_type_1/add_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/layer_0_type_1/add_grad/Reshape"
  op: "Reshape"
  input: "gradients/layer_0_type_1/add_grad/Sum"
  input: "gradients/layer_0_type_1/add_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/layer_0_type_1/MatMul_grad/MatMul"
  op: "MatMul"
  input: "gradients/layer_0_type_1/add_grad/Reshape"
  input: "layer_0_type_1/matrix/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: true
    }
  }
}
node {
  name: "gradients/Reshape_14_grad/Reshape"
  op: "Reshape"
  input: "gradients/layer_0_type_1/MatMul_grad/MatMul"
  input: "gradients/Reshape_14_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/Slice_3_grad/Pad"
  op: "Pad"
  input: "gradients/Reshape_14_grad/Reshape"
  input: "gradients/Slice_3_grad/concat"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tpaddings"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/concat_1_grad/Slice"
  op: "Slice"
  input: "gradients/Reshape_16_grad/Reshape"
  input: "gradients/concat_1_grad/ConcatOffset"
  input: "gradients/concat_1_grad/ShapeN"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/Reshape_13_grad/Reshape"
  op: "Reshape"
  input: "gradients/concat_1_grad/Slice"
  input: "gradients/Reshape_13_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/final_layer_type_0/add_grad/Sum"
  op: "Sum"
  input: "gradients/Reshape_13_grad/Reshape"
  input: "gradients/final_layer_type_0/add_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/final_layer_type_0/add_grad/Reshape"
  op: "Reshape"
  input: "gradients/final_layer_type_0/add_grad/Sum"
  input: "gradients/final_layer_type_0/add_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/final_layer_type_0/MatMul_grad/MatMul"
  op: "MatMul"
  input: "gradients/final_layer_type_0/add_grad/Reshape"
  input: "final_layer_type_0/matrix/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: true
    }
  }
}
node {
  name: "gradients/add_4_grad/Sum_1"
  op: "Sum"
  input: "gradients/final_layer_type_0/MatMul_grad/MatMul"
  input: "gradients/add_4_grad/BroadcastGradientArgs:1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/add_4_grad/Reshape_1"
  op: "Reshape"
  input: "gradients/add_4_grad/Sum_1"
  input: "gradients/add_4_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/layer_2_type_0/mul_grad/Mul"
  op: "Mul"
  input: "gradients/add_4_grad/Reshape_1"
  input: "layer_2_type_0/idt/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/layer_2_type_0/mul_grad/Sum"
  op: "Sum"
  input: "gradients/layer_2_type_0/mul_grad/Mul"
  input: "gradients/layer_2_type_0/mul_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/layer_2_type_0/mul_grad/Reshape"
  op: "Reshape"
  input: "gradients/layer_2_type_0/mul_grad/Sum"
  input: "gradients/layer_2_type_0/mul_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/layer_2_type_0/Reshape_grad/Reshape"
  op: "Reshape"
  input: "gradients/layer_2_type_0/mul_grad/Reshape"
  input: "gradients/layer_2_type_0/Reshape_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/layer_2_type_0/Tanh_grad/TanhGrad"
  op: "TanhGrad"
  input: "layer_2_type_0/Tanh"
  input: "gradients/layer_2_type_0/Reshape_grad/Reshape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/layer_2_type_0/add_grad/Sum"
  op: "Sum"
  input: "gradients/layer_2_type_0/Tanh_grad/TanhGrad"
  input: "gradients/layer_2_type_0/add_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/layer_2_type_0/add_grad/Reshape"
  op: "Reshape"
  input: "gradients/layer_2_type_0/add_grad/Sum"
  input: "gradients/layer_2_type_0/add_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/layer_2_type_0/MatMul_grad/MatMul"
  op: "MatMul"
  input: "gradients/layer_2_type_0/add_grad/Reshape"
  input: "layer_2_type_0/matrix/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: true
    }
  }
}
node {
  name: "gradients/add_4_grad/Sum"
  op: "Sum"
  input: "gradients/final_layer_type_0/MatMul_grad/MatMul"
  input: "gradients/add_4_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/add_4_grad/Reshape"
  op: "Reshape"
  input: "gradients/add_4_grad/Sum"
  input: "gradients/add_4_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/AddN"
  op: "AddN"
  input: "gradients/add_4_grad/Reshape"
  input: "gradients/layer_2_type_0/MatMul_grad/MatMul"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/add_4_grad/Reshape"
      }
    }
  }
}
node {
  name: "gradients/add_3_grad/Sum_1"
  op: "Sum"
  input: "gradients/AddN"
  input: "gradients/add_3_grad/BroadcastGradientArgs:1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/add_3_grad/Reshape_1"
  op: "Reshape"
  input: "gradients/add_3_grad/Sum_1"
  input: "gradients/add_3_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/layer_1_type_0/mul_grad/Mul"
  op: "Mul"
  input: "gradients/add_3_grad/Reshape_1"
  input: "layer_1_type_0/idt/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/layer_1_type_0/mul_grad/Sum"
  op: "Sum"
  input: "gradients/layer_1_type_0/mul_grad/Mul"
  input: "gradients/layer_1_type_0/mul_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/layer_1_type_0/mul_grad/Reshape"
  op: "Reshape"
  input: "gradients/layer_1_type_0/mul_grad/Sum"
  input: "gradients/layer_1_type_0/mul_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/layer_1_type_0/Reshape_grad/Reshape"
  op: "Reshape"
  input: "gradients/layer_1_type_0/mul_grad/Reshape"
  input: "gradients/layer_1_type_0/Reshape_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/layer_1_type_0/Tanh_grad/TanhGrad"
  op: "TanhGrad"
  input: "layer_1_type_0/Tanh"
  input: "gradients/layer_1_type_0/Reshape_grad/Reshape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/layer_1_type_0/add_grad/Sum"
  op: "Sum"
  input: "gradients/layer_1_type_0/Tanh_grad/TanhGrad"
  input: "gradients/layer_1_type_0/add_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/layer_1_type_0/add_grad/Reshape"
  op: "Reshape"
  input: "gradients/layer_1_type_0/add_grad/Sum"
  input: "gradients/layer_1_type_0/add_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/layer_1_type_0/MatMul_grad/MatMul"
  op: "MatMul"
  input: "gradients/layer_1_type_0/add_grad/Reshape"
  input: "layer_1_type_0/matrix/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: true
    }
  }
}
node {
  name: "gradients/add_3_grad/Sum"
  op: "Sum"
  input: "gradients/AddN"
  input: "gradients/add_3_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/add_3_grad/Reshape"
  op: "Reshape"
  input: "gradients/add_3_grad/Sum"
  input: "gradients/add_3_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/AddN_2"
  op: "AddN"
  input: "gradients/add_3_grad/Reshape"
  input: "gradients/layer_1_type_0/MatMul_grad/MatMul"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/add_3_grad/Reshape"
      }
    }
  }
}
node {
  name: "gradients/layer_0_type_0/Reshape_grad/Reshape"
  op: "Reshape"
  input: "gradients/AddN_2"
  input: "gradients/layer_0_type_0/Reshape_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/layer_0_type_0/Tanh_grad/TanhGrad"
  op: "TanhGrad"
  input: "layer_0_type_0/Tanh"
  input: "gradients/layer_0_type_0/Reshape_grad/Reshape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/layer_0_type_0/add_grad/Sum"
  op: "Sum"
  input: "gradients/layer_0_type_0/Tanh_grad/TanhGrad"
  input: "gradients/layer_0_type_0/add_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/layer_0_type_0/add_grad/Reshape"
  op: "Reshape"
  input: "gradients/layer_0_type_0/add_grad/Sum"
  input: "gradients/layer_0_type_0/add_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/layer_0_type_0/MatMul_grad/MatMul"
  op: "MatMul"
  input: "gradients/layer_0_type_0/add_grad/Reshape"
  input: "layer_0_type_0/matrix/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: true
    }
  }
}
node {
  name: "gradients/Reshape_12_grad/Reshape"
  op: "Reshape"
  input: "gradients/layer_0_type_0/MatMul_grad/MatMul"
  input: "gradients/Reshape_12_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/Slice_2_grad/Pad"
  op: "Pad"
  input: "gradients/Reshape_12_grad/Reshape"
  input: "gradients/Slice_2_grad/concat"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tpaddings"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/AddN_4"
  op: "AddN"
  input: "gradients/Slice_2_grad/Pad"
  input: "gradients/Slice_3_grad/Pad"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/Slice_2_grad/Pad"
      }
    }
  }
}
node {
  name: "gradients/Reshape_11_grad/Reshape"
  op: "Reshape"
  input: "gradients/AddN_4"
  input: "gradients/Reshape_11_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/concat_grad/Slice_1"
  op: "Slice"
  input: "gradients/Reshape_11_grad/Reshape"
  input: "gradients/concat_grad/ConcatOffset:1"
  input: "gradients/concat_grad/ShapeN:1"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/Reshape_10_grad/Reshape"
  op: "Reshape"
  input: "gradients/concat_grad/Slice_1"
  input: "gradients/Reshape_10_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/mul_grad/Mul"
  op: "Mul"
  input: "gradients/Reshape_10_grad/Reshape"
  input: "filter_type_1/mul/y"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_1/mul_grad/Sum"
  op: "Sum"
  input: "gradients/filter_type_1/mul_grad/Mul"
  input: "gradients/filter_type_1/mul_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_1/mul_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_1/mul_grad/Sum"
  input: "gradients/filter_type_1/mul_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/Mean_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_1/mul_grad/Reshape"
  input: "gradients/filter_type_1/Mean_grad/DynamicStitch"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/Mean_grad/Tile"
  op: "Tile"
  input: "gradients/filter_type_1/Mean_grad/Reshape"
  input: "gradients/filter_type_1/Mean_grad/floordiv"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tmultiples"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/Mean_grad/truediv"
  op: "RealDiv"
  input: "gradients/filter_type_1/Mean_grad/Tile"
  input: "gradients/filter_type_1/Mean_grad/Cast"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_6_grad/Slice_1"
  op: "Slice"
  input: "gradients/filter_type_1/Mean_grad/truediv"
  input: "gradients/filter_type_1/concat_6_grad/ConcatOffset:1"
  input: "gradients/filter_type_1/concat_6_grad/ShapeN:1"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_1/Reshape_9_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_1/concat_6_grad/Slice_1"
  input: "gradients/filter_type_1/Reshape_9_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/add_11_grad/Sum_1"
  op: "Sum"
  input: "gradients/filter_type_1/Reshape_9_grad/Reshape"
  input: "gradients/filter_type_1/add_11_grad/BroadcastGradientArgs:1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_1/add_11_grad/Reshape_1"
  op: "Reshape"
  input: "gradients/filter_type_1/add_11_grad/Sum_1"
  input: "gradients/filter_type_1/add_11_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/Reshape_8_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_1/add_11_grad/Reshape_1"
  input: "gradients/filter_type_1/Reshape_8_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/Tanh_5_grad/TanhGrad"
  op: "TanhGrad"
  input: "filter_type_1/Tanh_5"
  input: "gradients/filter_type_1/Reshape_8_grad/Reshape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_1/add_10_grad/Sum"
  op: "Sum"
  input: "gradients/filter_type_1/Tanh_5_grad/TanhGrad"
  input: "gradients/filter_type_1/add_10_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_1/add_10_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_1/add_10_grad/Sum"
  input: "gradients/filter_type_1/add_10_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/MatMul_5_grad/MatMul"
  op: "MatMul"
  input: "gradients/filter_type_1/add_10_grad/Reshape"
  input: "filter_type_1/matrix_3_1/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: true
    }
  }
}
node {
  name: "gradients/filter_type_1/add_11_grad/Sum"
  op: "Sum"
  input: "gradients/filter_type_1/Reshape_9_grad/Reshape"
  input: "gradients/filter_type_1/add_11_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_1/add_11_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_1/add_11_grad/Sum"
  input: "gradients/filter_type_1/add_11_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_5_grad/Slice_1"
  op: "Slice"
  input: "gradients/filter_type_1/add_11_grad/Reshape"
  input: "gradients/filter_type_1/concat_5_grad/ConcatOffset:1"
  input: "gradients/filter_type_1/concat_5_grad/ShapeN:1"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_5_grad/Slice"
  op: "Slice"
  input: "gradients/filter_type_1/add_11_grad/Reshape"
  input: "gradients/filter_type_1/concat_5_grad/ConcatOffset"
  input: "gradients/filter_type_1/concat_5_grad/ShapeN"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/AddN_8"
  op: "AddN"
  input: "gradients/filter_type_1/concat_5_grad/Slice"
  input: "gradients/filter_type_1/concat_5_grad/Slice_1"
  input: "gradients/filter_type_1/MatMul_5_grad/MatMul"
  attr {
    key: "N"
    value {
      i: 3
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_1/concat_5_grad/Slice"
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/add_9_grad/Sum_1"
  op: "Sum"
  input: "gradients/AddN_8"
  input: "gradients/filter_type_1/add_9_grad/BroadcastGradientArgs:1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_1/add_9_grad/Reshape_1"
  op: "Reshape"
  input: "gradients/filter_type_1/add_9_grad/Sum_1"
  input: "gradients/filter_type_1/add_9_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/Reshape_7_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_1/add_9_grad/Reshape_1"
  input: "gradients/filter_type_1/Reshape_7_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/Tanh_4_grad/TanhGrad"
  op: "TanhGrad"
  input: "filter_type_1/Tanh_4"
  input: "gradients/filter_type_1/Reshape_7_grad/Reshape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_1/add_8_grad/Sum"
  op: "Sum"
  input: "gradients/filter_type_1/Tanh_4_grad/TanhGrad"
  input: "gradients/filter_type_1/add_8_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_1/add_8_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_1/add_8_grad/Sum"
  input: "gradients/filter_type_1/add_8_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/MatMul_4_grad/MatMul"
  op: "MatMul"
  input: "gradients/filter_type_1/add_8_grad/Reshape"
  input: "filter_type_1/matrix_2_1/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: true
    }
  }
}
node {
  name: "gradients/filter_type_1/add_9_grad/Sum"
  op: "Sum"
  input: "gradients/AddN_8"
  input: "gradients/filter_type_1/add_9_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_1/add_9_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_1/add_9_grad/Sum"
  input: "gradients/filter_type_1/add_9_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_4_grad/Slice_1"
  op: "Slice"
  input: "gradients/filter_type_1/add_9_grad/Reshape"
  input: "gradients/filter_type_1/concat_4_grad/ConcatOffset:1"
  input: "gradients/filter_type_1/concat_4_grad/ShapeN:1"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_4_grad/Slice"
  op: "Slice"
  input: "gradients/filter_type_1/add_9_grad/Reshape"
  input: "gradients/filter_type_1/concat_4_grad/ConcatOffset"
  input: "gradients/filter_type_1/concat_4_grad/ShapeN"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/AddN_12"
  op: "AddN"
  input: "gradients/filter_type_1/concat_4_grad/Slice"
  input: "gradients/filter_type_1/concat_4_grad/Slice_1"
  input: "gradients/filter_type_1/MatMul_4_grad/MatMul"
  attr {
    key: "N"
    value {
      i: 3
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_1/concat_4_grad/Slice"
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/add_7_grad/Sum_1"
  op: "Sum"
  input: "gradients/AddN_12"
  input: "gradients/filter_type_1/add_7_grad/BroadcastGradientArgs:1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_1/add_7_grad/Reshape_1"
  op: "Reshape"
  input: "gradients/filter_type_1/add_7_grad/Sum_1"
  input: "gradients/filter_type_1/add_7_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/Reshape_6_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_1/add_7_grad/Reshape_1"
  input: "gradients/filter_type_1/Reshape_6_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/Tanh_3_grad/TanhGrad"
  op: "TanhGrad"
  input: "filter_type_1/Tanh_3"
  input: "gradients/filter_type_1/Reshape_6_grad/Reshape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_1/add_6_grad/Sum"
  op: "Sum"
  input: "gradients/filter_type_1/Tanh_3_grad/TanhGrad"
  input: "gradients/filter_type_1/add_6_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_1/add_6_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_1/add_6_grad/Sum"
  input: "gradients/filter_type_1/add_6_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/MatMul_3_grad/MatMul"
  op: "MatMul"
  input: "gradients/filter_type_1/add_6_grad/Reshape"
  input: "filter_type_1/matrix_1_1/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: true
    }
  }
}
node {
  name: "gradients/filter_type_1/add_7_grad/Sum"
  op: "Sum"
  input: "gradients/AddN_12"
  input: "gradients/filter_type_1/add_7_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_1/add_7_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_1/add_7_grad/Sum"
  input: "gradients/filter_type_1/add_7_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_3_grad/Slice_1"
  op: "Slice"
  input: "gradients/filter_type_1/add_7_grad/Reshape"
  input: "gradients/filter_type_1/concat_3_grad/ConcatOffset:1"
  input: "gradients/filter_type_1/concat_3_grad/ShapeN:1"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_3_grad/Slice"
  op: "Slice"
  input: "gradients/filter_type_1/add_7_grad/Reshape"
  input: "gradients/filter_type_1/concat_3_grad/ConcatOffset"
  input: "gradients/filter_type_1/concat_3_grad/ShapeN"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/AddN_16"
  op: "AddN"
  input: "gradients/filter_type_1/concat_3_grad/Slice"
  input: "gradients/filter_type_1/concat_3_grad/Slice_1"
  input: "gradients/filter_type_1/MatMul_3_grad/MatMul"
  attr {
    key: "N"
    value {
      i: 3
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_1/concat_3_grad/Slice"
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/Reshape_5_grad/Reshape"
  op: "Reshape"
  input: "gradients/AddN_16"
  input: "gradients/filter_type_1/Reshape_5_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/Slice_1_grad/Pad"
  op: "Pad"
  input: "gradients/filter_type_1/Reshape_5_grad/Reshape"
  input: "gradients/filter_type_1/Slice_1_grad/concat"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tpaddings"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_6_grad/Slice"
  op: "Slice"
  input: "gradients/filter_type_1/Mean_grad/truediv"
  input: "gradients/filter_type_1/concat_6_grad/ConcatOffset"
  input: "gradients/filter_type_1/concat_6_grad/ShapeN"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_1/Reshape_4_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_1/concat_6_grad/Slice"
  input: "gradients/filter_type_1/Reshape_4_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/add_5_grad/Sum_1"
  op: "Sum"
  input: "gradients/filter_type_1/Reshape_4_grad/Reshape"
  input: "gradients/filter_type_1/add_5_grad/BroadcastGradientArgs:1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_1/add_5_grad/Reshape_1"
  op: "Reshape"
  input: "gradients/filter_type_1/add_5_grad/Sum_1"
  input: "gradients/filter_type_1/add_5_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/Reshape_3_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_1/add_5_grad/Reshape_1"
  input: "gradients/filter_type_1/Reshape_3_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/Tanh_2_grad/TanhGrad"
  op: "TanhGrad"
  input: "filter_type_1/Tanh_2"
  input: "gradients/filter_type_1/Reshape_3_grad/Reshape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_1/add_4_grad/Sum"
  op: "Sum"
  input: "gradients/filter_type_1/Tanh_2_grad/TanhGrad"
  input: "gradients/filter_type_1/add_4_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_1/add_4_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_1/add_4_grad/Sum"
  input: "gradients/filter_type_1/add_4_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/MatMul_2_grad/MatMul"
  op: "MatMul"
  input: "gradients/filter_type_1/add_4_grad/Reshape"
  input: "filter_type_1/matrix_3_0/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: true
    }
  }
}
node {
  name: "gradients/filter_type_1/add_5_grad/Sum"
  op: "Sum"
  input: "gradients/filter_type_1/Reshape_4_grad/Reshape"
  input: "gradients/filter_type_1/add_5_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_1/add_5_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_1/add_5_grad/Sum"
  input: "gradients/filter_type_1/add_5_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_2_grad/Slice_1"
  op: "Slice"
  input: "gradients/filter_type_1/add_5_grad/Reshape"
  input: "gradients/filter_type_1/concat_2_grad/ConcatOffset:1"
  input: "gradients/filter_type_1/concat_2_grad/ShapeN:1"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_2_grad/Slice"
  op: "Slice"
  input: "gradients/filter_type_1/add_5_grad/Reshape"
  input: "gradients/filter_type_1/concat_2_grad/ConcatOffset"
  input: "gradients/filter_type_1/concat_2_grad/ShapeN"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/AddN_7"
  op: "AddN"
  input: "gradients/filter_type_1/concat_2_grad/Slice"
  input: "gradients/filter_type_1/concat_2_grad/Slice_1"
  input: "gradients/filter_type_1/MatMul_2_grad/MatMul"
  attr {
    key: "N"
    value {
      i: 3
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_1/concat_2_grad/Slice"
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/add_3_grad/Sum_1"
  op: "Sum"
  input: "gradients/AddN_7"
  input: "gradients/filter_type_1/add_3_grad/BroadcastGradientArgs:1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_1/add_3_grad/Reshape_1"
  op: "Reshape"
  input: "gradients/filter_type_1/add_3_grad/Sum_1"
  input: "gradients/filter_type_1/add_3_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/Reshape_2_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_1/add_3_grad/Reshape_1"
  input: "gradients/filter_type_1/Reshape_2_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/Tanh_1_grad/TanhGrad"
  op: "TanhGrad"
  input: "filter_type_1/Tanh_1"
  input: "gradients/filter_type_1/Reshape_2_grad/Reshape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_1/add_2_grad/Sum"
  op: "Sum"
  input: "gradients/filter_type_1/Tanh_1_grad/TanhGrad"
  input: "gradients/filter_type_1/add_2_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_1/add_2_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_1/add_2_grad/Sum"
  input: "gradients/filter_type_1/add_2_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/MatMul_1_grad/MatMul"
  op: "MatMul"
  input: "gradients/filter_type_1/add_2_grad/Reshape"
  input: "filter_type_1/matrix_2_0/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: true
    }
  }
}
node {
  name: "gradients/filter_type_1/add_3_grad/Sum"
  op: "Sum"
  input: "gradients/AddN_7"
  input: "gradients/filter_type_1/add_3_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_1/add_3_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_1/add_3_grad/Sum"
  input: "gradients/filter_type_1/add_3_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_1_grad/Slice_1"
  op: "Slice"
  input: "gradients/filter_type_1/add_3_grad/Reshape"
  input: "gradients/filter_type_1/concat_1_grad/ConcatOffset:1"
  input: "gradients/filter_type_1/concat_1_grad/ShapeN:1"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_1_grad/Slice"
  op: "Slice"
  input: "gradients/filter_type_1/add_3_grad/Reshape"
  input: "gradients/filter_type_1/concat_1_grad/ConcatOffset"
  input: "gradients/filter_type_1/concat_1_grad/ShapeN"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/AddN_11"
  op: "AddN"
  input: "gradients/filter_type_1/concat_1_grad/Slice"
  input: "gradients/filter_type_1/concat_1_grad/Slice_1"
  input: "gradients/filter_type_1/MatMul_1_grad/MatMul"
  attr {
    key: "N"
    value {
      i: 3
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_1/concat_1_grad/Slice"
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/add_1_grad/Sum_1"
  op: "Sum"
  input: "gradients/AddN_11"
  input: "gradients/filter_type_1/add_1_grad/BroadcastGradientArgs:1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_1/add_1_grad/Reshape_1"
  op: "Reshape"
  input: "gradients/filter_type_1/add_1_grad/Sum_1"
  input: "gradients/filter_type_1/add_1_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/Reshape_1_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_1/add_1_grad/Reshape_1"
  input: "gradients/filter_type_1/Reshape_1_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/Tanh_grad/TanhGrad"
  op: "TanhGrad"
  input: "filter_type_1/Tanh"
  input: "gradients/filter_type_1/Reshape_1_grad/Reshape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_1/add_grad/Sum"
  op: "Sum"
  input: "gradients/filter_type_1/Tanh_grad/TanhGrad"
  input: "gradients/filter_type_1/add_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_1/add_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_1/add_grad/Sum"
  input: "gradients/filter_type_1/add_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/MatMul_grad/MatMul"
  op: "MatMul"
  input: "gradients/filter_type_1/add_grad/Reshape"
  input: "filter_type_1/matrix_1_0/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: true
    }
  }
}
node {
  name: "gradients/filter_type_1/add_1_grad/Sum"
  op: "Sum"
  input: "gradients/AddN_11"
  input: "gradients/filter_type_1/add_1_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_1/add_1_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_1/add_1_grad/Sum"
  input: "gradients/filter_type_1/add_1_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_grad/Slice_1"
  op: "Slice"
  input: "gradients/filter_type_1/add_1_grad/Reshape"
  input: "gradients/filter_type_1/concat_grad/ConcatOffset:1"
  input: "gradients/filter_type_1/concat_grad/ShapeN:1"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_1/concat_grad/Slice"
  op: "Slice"
  input: "gradients/filter_type_1/add_1_grad/Reshape"
  input: "gradients/filter_type_1/concat_grad/ConcatOffset"
  input: "gradients/filter_type_1/concat_grad/ShapeN"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/AddN_15"
  op: "AddN"
  input: "gradients/filter_type_1/concat_grad/Slice"
  input: "gradients/filter_type_1/concat_grad/Slice_1"
  input: "gradients/filter_type_1/MatMul_grad/MatMul"
  attr {
    key: "N"
    value {
      i: 3
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_1/concat_grad/Slice"
      }
    }
  }
}
node {
  name: "gradients/filter_type_1/Reshape_grad/Reshape"
  op: "Reshape"
  input: "gradients/AddN_15"
  input: "gradients/filter_type_1/Reshape_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_1/Slice_grad/Pad"
  op: "Pad"
  input: "gradients/filter_type_1/Reshape_grad/Reshape"
  input: "gradients/filter_type_1/Slice_grad/concat"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tpaddings"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/AddN_18"
  op: "AddN"
  input: "gradients/filter_type_1/Slice_grad/Pad"
  input: "gradients/filter_type_1/Slice_1_grad/Pad"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_1/Slice_grad/Pad"
      }
    }
  }
}
node {
  name: "gradients/Reshape_9_grad/Reshape"
  op: "Reshape"
  input: "gradients/AddN_18"
  input: "gradients/Reshape_9_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/Slice_1_grad/Pad"
  op: "Pad"
  input: "gradients/Reshape_9_grad/Reshape"
  input: "gradients/Slice_1_grad/concat"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tpaddings"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/concat_grad/Slice"
  op: "Slice"
  input: "gradients/Reshape_11_grad/Reshape"
  input: "gradients/concat_grad/ConcatOffset"
  input: "gradients/concat_grad/ShapeN"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/Reshape_8_grad/Reshape"
  op: "Reshape"
  input: "gradients/concat_grad/Slice"
  input: "gradients/Reshape_8_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/mul_grad/Mul"
  op: "Mul"
  input: "gradients/Reshape_8_grad/Reshape"
  input: "filter_type_0/mul/y"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_0/mul_grad/Sum"
  op: "Sum"
  input: "gradients/filter_type_0/mul_grad/Mul"
  input: "gradients/filter_type_0/mul_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_0/mul_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_0/mul_grad/Sum"
  input: "gradients/filter_type_0/mul_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/Mean_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_0/mul_grad/Reshape"
  input: "gradients/filter_type_0/Mean_grad/DynamicStitch"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/Mean_grad/Tile"
  op: "Tile"
  input: "gradients/filter_type_0/Mean_grad/Reshape"
  input: "gradients/filter_type_0/Mean_grad/floordiv"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tmultiples"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/Mean_grad/truediv"
  op: "RealDiv"
  input: "gradients/filter_type_0/Mean_grad/Tile"
  input: "gradients/filter_type_0/Mean_grad/Cast"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_6_grad/Slice_1"
  op: "Slice"
  input: "gradients/filter_type_0/Mean_grad/truediv"
  input: "gradients/filter_type_0/concat_6_grad/ConcatOffset:1"
  input: "gradients/filter_type_0/concat_6_grad/ShapeN:1"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_0/Reshape_9_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_0/concat_6_grad/Slice_1"
  input: "gradients/filter_type_0/Reshape_9_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/add_11_grad/Sum_1"
  op: "Sum"
  input: "gradients/filter_type_0/Reshape_9_grad/Reshape"
  input: "gradients/filter_type_0/add_11_grad/BroadcastGradientArgs:1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_0/add_11_grad/Reshape_1"
  op: "Reshape"
  input: "gradients/filter_type_0/add_11_grad/Sum_1"
  input: "gradients/filter_type_0/add_11_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/Reshape_8_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_0/add_11_grad/Reshape_1"
  input: "gradients/filter_type_0/Reshape_8_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/Tanh_5_grad/TanhGrad"
  op: "TanhGrad"
  input: "filter_type_0/Tanh_5"
  input: "gradients/filter_type_0/Reshape_8_grad/Reshape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_0/add_10_grad/Sum"
  op: "Sum"
  input: "gradients/filter_type_0/Tanh_5_grad/TanhGrad"
  input: "gradients/filter_type_0/add_10_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_0/add_10_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_0/add_10_grad/Sum"
  input: "gradients/filter_type_0/add_10_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/MatMul_5_grad/MatMul"
  op: "MatMul"
  input: "gradients/filter_type_0/add_10_grad/Reshape"
  input: "filter_type_0/matrix_3_1/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: true
    }
  }
}
node {
  name: "gradients/filter_type_0/add_11_grad/Sum"
  op: "Sum"
  input: "gradients/filter_type_0/Reshape_9_grad/Reshape"
  input: "gradients/filter_type_0/add_11_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_0/add_11_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_0/add_11_grad/Sum"
  input: "gradients/filter_type_0/add_11_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_5_grad/Slice_1"
  op: "Slice"
  input: "gradients/filter_type_0/add_11_grad/Reshape"
  input: "gradients/filter_type_0/concat_5_grad/ConcatOffset:1"
  input: "gradients/filter_type_0/concat_5_grad/ShapeN:1"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_5_grad/Slice"
  op: "Slice"
  input: "gradients/filter_type_0/add_11_grad/Reshape"
  input: "gradients/filter_type_0/concat_5_grad/ConcatOffset"
  input: "gradients/filter_type_0/concat_5_grad/ShapeN"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/AddN_6"
  op: "AddN"
  input: "gradients/filter_type_0/concat_5_grad/Slice"
  input: "gradients/filter_type_0/concat_5_grad/Slice_1"
  input: "gradients/filter_type_0/MatMul_5_grad/MatMul"
  attr {
    key: "N"
    value {
      i: 3
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_0/concat_5_grad/Slice"
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/add_9_grad/Sum_1"
  op: "Sum"
  input: "gradients/AddN_6"
  input: "gradients/filter_type_0/add_9_grad/BroadcastGradientArgs:1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_0/add_9_grad/Reshape_1"
  op: "Reshape"
  input: "gradients/filter_type_0/add_9_grad/Sum_1"
  input: "gradients/filter_type_0/add_9_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/Reshape_7_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_0/add_9_grad/Reshape_1"
  input: "gradients/filter_type_0/Reshape_7_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/Tanh_4_grad/TanhGrad"
  op: "TanhGrad"
  input: "filter_type_0/Tanh_4"
  input: "gradients/filter_type_0/Reshape_7_grad/Reshape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_0/add_8_grad/Sum"
  op: "Sum"
  input: "gradients/filter_type_0/Tanh_4_grad/TanhGrad"
  input: "gradients/filter_type_0/add_8_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_0/add_8_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_0/add_8_grad/Sum"
  input: "gradients/filter_type_0/add_8_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/MatMul_4_grad/MatMul"
  op: "MatMul"
  input: "gradients/filter_type_0/add_8_grad/Reshape"
  input: "filter_type_0/matrix_2_1/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: true
    }
  }
}
node {
  name: "gradients/filter_type_0/add_9_grad/Sum"
  op: "Sum"
  input: "gradients/AddN_6"
  input: "gradients/filter_type_0/add_9_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_0/add_9_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_0/add_9_grad/Sum"
  input: "gradients/filter_type_0/add_9_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_4_grad/Slice_1"
  op: "Slice"
  input: "gradients/filter_type_0/add_9_grad/Reshape"
  input: "gradients/filter_type_0/concat_4_grad/ConcatOffset:1"
  input: "gradients/filter_type_0/concat_4_grad/ShapeN:1"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_4_grad/Slice"
  op: "Slice"
  input: "gradients/filter_type_0/add_9_grad/Reshape"
  input: "gradients/filter_type_0/concat_4_grad/ConcatOffset"
  input: "gradients/filter_type_0/concat_4_grad/ShapeN"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/AddN_10"
  op: "AddN"
  input: "gradients/filter_type_0/concat_4_grad/Slice"
  input: "gradients/filter_type_0/concat_4_grad/Slice_1"
  input: "gradients/filter_type_0/MatMul_4_grad/MatMul"
  attr {
    key: "N"
    value {
      i: 3
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_0/concat_4_grad/Slice"
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/add_7_grad/Sum_1"
  op: "Sum"
  input: "gradients/AddN_10"
  input: "gradients/filter_type_0/add_7_grad/BroadcastGradientArgs:1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_0/add_7_grad/Reshape_1"
  op: "Reshape"
  input: "gradients/filter_type_0/add_7_grad/Sum_1"
  input: "gradients/filter_type_0/add_7_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/Reshape_6_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_0/add_7_grad/Reshape_1"
  input: "gradients/filter_type_0/Reshape_6_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/Tanh_3_grad/TanhGrad"
  op: "TanhGrad"
  input: "filter_type_0/Tanh_3"
  input: "gradients/filter_type_0/Reshape_6_grad/Reshape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_0/add_6_grad/Sum"
  op: "Sum"
  input: "gradients/filter_type_0/Tanh_3_grad/TanhGrad"
  input: "gradients/filter_type_0/add_6_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_0/add_6_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_0/add_6_grad/Sum"
  input: "gradients/filter_type_0/add_6_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/MatMul_3_grad/MatMul"
  op: "MatMul"
  input: "gradients/filter_type_0/add_6_grad/Reshape"
  input: "filter_type_0/matrix_1_1/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: true
    }
  }
}
node {
  name: "gradients/filter_type_0/add_7_grad/Sum"
  op: "Sum"
  input: "gradients/AddN_10"
  input: "gradients/filter_type_0/add_7_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_0/add_7_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_0/add_7_grad/Sum"
  input: "gradients/filter_type_0/add_7_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_3_grad/Slice_1"
  op: "Slice"
  input: "gradients/filter_type_0/add_7_grad/Reshape"
  input: "gradients/filter_type_0/concat_3_grad/ConcatOffset:1"
  input: "gradients/filter_type_0/concat_3_grad/ShapeN:1"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_3_grad/Slice"
  op: "Slice"
  input: "gradients/filter_type_0/add_7_grad/Reshape"
  input: "gradients/filter_type_0/concat_3_grad/ConcatOffset"
  input: "gradients/filter_type_0/concat_3_grad/ShapeN"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/AddN_14"
  op: "AddN"
  input: "gradients/filter_type_0/concat_3_grad/Slice"
  input: "gradients/filter_type_0/concat_3_grad/Slice_1"
  input: "gradients/filter_type_0/MatMul_3_grad/MatMul"
  attr {
    key: "N"
    value {
      i: 3
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_0/concat_3_grad/Slice"
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/Reshape_5_grad/Reshape"
  op: "Reshape"
  input: "gradients/AddN_14"
  input: "gradients/filter_type_0/Reshape_5_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/Slice_1_grad/Pad"
  op: "Pad"
  input: "gradients/filter_type_0/Reshape_5_grad/Reshape"
  input: "gradients/filter_type_0/Slice_1_grad/concat"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tpaddings"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_6_grad/Slice"
  op: "Slice"
  input: "gradients/filter_type_0/Mean_grad/truediv"
  input: "gradients/filter_type_0/concat_6_grad/ConcatOffset"
  input: "gradients/filter_type_0/concat_6_grad/ShapeN"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_0/Reshape_4_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_0/concat_6_grad/Slice"
  input: "gradients/filter_type_0/Reshape_4_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/add_5_grad/Sum_1"
  op: "Sum"
  input: "gradients/filter_type_0/Reshape_4_grad/Reshape"
  input: "gradients/filter_type_0/add_5_grad/BroadcastGradientArgs:1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_0/add_5_grad/Reshape_1"
  op: "Reshape"
  input: "gradients/filter_type_0/add_5_grad/Sum_1"
  input: "gradients/filter_type_0/add_5_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/Reshape_3_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_0/add_5_grad/Reshape_1"
  input: "gradients/filter_type_0/Reshape_3_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/Tanh_2_grad/TanhGrad"
  op: "TanhGrad"
  input: "filter_type_0/Tanh_2"
  input: "gradients/filter_type_0/Reshape_3_grad/Reshape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_0/add_4_grad/Sum"
  op: "Sum"
  input: "gradients/filter_type_0/Tanh_2_grad/TanhGrad"
  input: "gradients/filter_type_0/add_4_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_0/add_4_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_0/add_4_grad/Sum"
  input: "gradients/filter_type_0/add_4_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/MatMul_2_grad/MatMul"
  op: "MatMul"
  input: "gradients/filter_type_0/add_4_grad/Reshape"
  input: "filter_type_0/matrix_3_0/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: true
    }
  }
}
node {
  name: "gradients/filter_type_0/add_5_grad/Sum"
  op: "Sum"
  input: "gradients/filter_type_0/Reshape_4_grad/Reshape"
  input: "gradients/filter_type_0/add_5_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_0/add_5_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_0/add_5_grad/Sum"
  input: "gradients/filter_type_0/add_5_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_2_grad/Slice_1"
  op: "Slice"
  input: "gradients/filter_type_0/add_5_grad/Reshape"
  input: "gradients/filter_type_0/concat_2_grad/ConcatOffset:1"
  input: "gradients/filter_type_0/concat_2_grad/ShapeN:1"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_2_grad/Slice"
  op: "Slice"
  input: "gradients/filter_type_0/add_5_grad/Reshape"
  input: "gradients/filter_type_0/concat_2_grad/ConcatOffset"
  input: "gradients/filter_type_0/concat_2_grad/ShapeN"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/AddN_5"
  op: "AddN"
  input: "gradients/filter_type_0/concat_2_grad/Slice"
  input: "gradients/filter_type_0/concat_2_grad/Slice_1"
  input: "gradients/filter_type_0/MatMul_2_grad/MatMul"
  attr {
    key: "N"
    value {
      i: 3
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_0/concat_2_grad/Slice"
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/add_3_grad/Sum_1"
  op: "Sum"
  input: "gradients/AddN_5"
  input: "gradients/filter_type_0/add_3_grad/BroadcastGradientArgs:1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_0/add_3_grad/Reshape_1"
  op: "Reshape"
  input: "gradients/filter_type_0/add_3_grad/Sum_1"
  input: "gradients/filter_type_0/add_3_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/Reshape_2_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_0/add_3_grad/Reshape_1"
  input: "gradients/filter_type_0/Reshape_2_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/Tanh_1_grad/TanhGrad"
  op: "TanhGrad"
  input: "filter_type_0/Tanh_1"
  input: "gradients/filter_type_0/Reshape_2_grad/Reshape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_0/add_2_grad/Sum"
  op: "Sum"
  input: "gradients/filter_type_0/Tanh_1_grad/TanhGrad"
  input: "gradients/filter_type_0/add_2_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_0/add_2_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_0/add_2_grad/Sum"
  input: "gradients/filter_type_0/add_2_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/MatMul_1_grad/MatMul"
  op: "MatMul"
  input: "gradients/filter_type_0/add_2_grad/Reshape"
  input: "filter_type_0/matrix_2_0/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: true
    }
  }
}
node {
  name: "gradients/filter_type_0/add_3_grad/Sum"
  op: "Sum"
  input: "gradients/AddN_5"
  input: "gradients/filter_type_0/add_3_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_0/add_3_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_0/add_3_grad/Sum"
  input: "gradients/filter_type_0/add_3_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_1_grad/Slice_1"
  op: "Slice"
  input: "gradients/filter_type_0/add_3_grad/Reshape"
  input: "gradients/filter_type_0/concat_1_grad/ConcatOffset:1"
  input: "gradients/filter_type_0/concat_1_grad/ShapeN:1"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_1_grad/Slice"
  op: "Slice"
  input: "gradients/filter_type_0/add_3_grad/Reshape"
  input: "gradients/filter_type_0/concat_1_grad/ConcatOffset"
  input: "gradients/filter_type_0/concat_1_grad/ShapeN"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/AddN_9"
  op: "AddN"
  input: "gradients/filter_type_0/concat_1_grad/Slice"
  input: "gradients/filter_type_0/concat_1_grad/Slice_1"
  input: "gradients/filter_type_0/MatMul_1_grad/MatMul"
  attr {
    key: "N"
    value {
      i: 3
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_0/concat_1_grad/Slice"
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/add_1_grad/Sum_1"
  op: "Sum"
  input: "gradients/AddN_9"
  input: "gradients/filter_type_0/add_1_grad/BroadcastGradientArgs:1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_0/add_1_grad/Reshape_1"
  op: "Reshape"
  input: "gradients/filter_type_0/add_1_grad/Sum_1"
  input: "gradients/filter_type_0/add_1_grad/Shape_1"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/Reshape_1_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_0/add_1_grad/Reshape_1"
  input: "gradients/filter_type_0/Reshape_1_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/Tanh_grad/TanhGrad"
  op: "TanhGrad"
  input: "filter_type_0/Tanh"
  input: "gradients/filter_type_0/Reshape_1_grad/Reshape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_0/add_grad/Sum"
  op: "Sum"
  input: "gradients/filter_type_0/Tanh_grad/TanhGrad"
  input: "gradients/filter_type_0/add_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_0/add_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_0/add_grad/Sum"
  input: "gradients/filter_type_0/add_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/MatMul_grad/MatMul"
  op: "MatMul"
  input: "gradients/filter_type_0/add_grad/Reshape"
  input: "filter_type_0/matrix_1_0/read"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "transpose_a"
    value {
      b: false
    }
  }
  attr {
    key: "transpose_b"
    value {
      b: true
    }
  }
}
node {
  name: "gradients/filter_type_0/add_1_grad/Sum"
  op: "Sum"
  input: "gradients/AddN_9"
  input: "gradients/filter_type_0/add_1_grad/BroadcastGradientArgs"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
node {
  name: "gradients/filter_type_0/add_1_grad/Reshape"
  op: "Reshape"
  input: "gradients/filter_type_0/add_1_grad/Sum"
  input: "gradients/filter_type_0/add_1_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_grad/Slice_1"
  op: "Slice"
  input: "gradients/filter_type_0/add_1_grad/Reshape"
  input: "gradients/filter_type_0/concat_grad/ConcatOffset:1"
  input: "gradients/filter_type_0/concat_grad/ShapeN:1"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/filter_type_0/concat_grad/Slice"
  op: "Slice"
  input: "gradients/filter_type_0/add_1_grad/Reshape"
  input: "gradients/filter_type_0/concat_grad/ConcatOffset"
  input: "gradients/filter_type_0/concat_grad/ShapeN"
  attr {
    key: "Index"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "gradients/AddN_13"
  op: "AddN"
  input: "gradients/filter_type_0/concat_grad/Slice"
  input: "gradients/filter_type_0/concat_grad/Slice_1"
  input: "gradients/filter_type_0/MatMul_grad/MatMul"
  attr {
    key: "N"
    value {
      i: 3
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_0/concat_grad/Slice"
      }
    }
  }
}
node {
  name: "gradients/filter_type_0/Reshape_grad/Reshape"
  op: "Reshape"
  input: "gradients/AddN_13"
  input: "gradients/filter_type_0/Reshape_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/filter_type_0/Slice_grad/Pad"
  op: "Pad"
  input: "gradients/filter_type_0/Reshape_grad/Reshape"
  input: "gradients/filter_type_0/Slice_grad/concat"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tpaddings"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/AddN_17"
  op: "AddN"
  input: "gradients/filter_type_0/Slice_grad/Pad"
  input: "gradients/filter_type_0/Slice_1_grad/Pad"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/filter_type_0/Slice_grad/Pad"
      }
    }
  }
}
node {
  name: "gradients/Reshape_7_grad/Reshape"
  op: "Reshape"
  input: "gradients/AddN_17"
  input: "gradients/Reshape_7_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/Slice_grad/Pad"
  op: "Pad"
  input: "gradients/Reshape_7_grad/Reshape"
  input: "gradients/Slice_grad/concat"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tpaddings"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "gradients/AddN_19"
  op: "AddN"
  input: "gradients/Slice_grad/Pad"
  input: "gradients/Slice_1_grad/Pad"
  attr {
    key: "N"
    value {
      i: 2
    }
  }
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "_class"
    value {
      list {
        s: "loc:@gradients/Slice_grad/Pad"
      }
    }
  }
}
node {
  name: "gradients/Reshape_6_grad/Reshape"
  op: "Reshape"
  input: "gradients/AddN_19"
  input: "gradients/Reshape_6_grad/Shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "Reshape_17"
  op: "Reshape"
  input: "gradients/Reshape_6_grad/Reshape"
  input: "Reshape_17/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "ProdVirialSeR"
  op: "ProdVirialSeR"
  input: "Reshape_17"
  input: "o_rmat_deriv"
  input: "o_rij"
  input: "o_nlist"
  input: "t_natoms"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "o_atom_virial"
  op: "Reshape"
  input: "ProdVirialSeR:1"
  input: "o_atom_virial/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "o_virial"
  op: "Reshape"
  input: "ProdVirialSeR"
  input: "o_virial/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "ProdForceSeR"
  op: "ProdForceSeR"
  input: "Reshape_17"
  input: "o_rmat_deriv"
  input: "o_nlist"
  input: "t_natoms"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
}
node {
  name: "o_force"
  op: "Reshape"
  input: "ProdForceSeR"
  input: "o_force/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "o_atom_energy"
  op: "Reshape"
  input: "Reshape_16"
  input: "o_atom_energy/shape"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tshape"
    value {
      type: DT_INT32
    }
  }
}
node {
  name: "o_energy"
  op: "Sum"
  input: "o_atom_energy"
  input: "o_energy/reduction_indices"
  attr {
    key: "T"
    value {
      type: DT_DOUBLE
    }
  }
  attr {
    key: "Tidx"
    value {
      type: DT_INT32
    }
  }
  attr {
    key: "keep_dims"
    value {
      b: false
    }
  }
}
library {
}
