deeplearning4j/deeplearning4j

View on GitHub
codegen/libnd4j-gen/op-ir.proto

Summary

Maintainability
Test Coverage
opList {
  name: "Assert"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: OP_IMPL
}
opList {
  name: "BinaryMinimalRelativeError"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "thresholdRelative"
    argType: DOUBLE
  }
  argDescriptor {
    name: "thresholdAbsolute"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "BinaryRelativeError"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "threshold"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "ClipByValue"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "clipValueMin"
    argType: DOUBLE
  }
  argDescriptor {
    name: "clipValueMax"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "Conditional"
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LOGIC_OP_IMPL
}
opList {
  name: "ExternalErrorsFn"
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "Floor"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: OP_IMPL
}
opList {
  name: "Log1p"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: OP_IMPL
}
opList {
  name: "ParallelConcat"
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "Pow"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BROADCASTABLE_OP_IMPL
}
opList {
  name: "Pow_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "dLdz"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "dLdx"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "dLdy"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "dLdx"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "dLdy"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "Reciprocal"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "RelativeError"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "Return"
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LOGIC_OP_IMPL
}
opList {
  name: "Scope"
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LOGIC_OP_IMPL
}
opList {
  name: "Switch"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "condition"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "out0"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "out1"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  opDeclarationType: DIVERGENT_OP_IMPL
}
opList {
  name: "Where"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "condition"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "While"
  argDescriptor {
    name: "condition"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "frameName"
    argType: STRING
  }
  argDescriptor {
    name: "isConstant"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LOGIC_OP_IMPL
}
opList {
  name: "_geluderivative"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "_mishderivative"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "_powderivative"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "pow"
    argType: DOUBLE
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "_precise_geluderivative"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "precise"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "_sigmoidderivative"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "_swishderivative"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "_tanhderivative"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "abs"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "absolute_difference_loss"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "lossReduce"
    argType: INT64
  }
  argDescriptor {
    name: "predictions"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "labels"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "absolute_difference_loss_grad"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "lossReduce"
    argType: INT64
  }
  argDescriptor {
    name: "predictions"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "labels"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "dLdp"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "dLdw"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "dLdl"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
}
opList {
  name: "acos"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "acosh"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "ada_delta_updater"
  argDescriptor {
    name: "gradient"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "initStateMsg"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "initStateMsdx"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "rho"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "epsilon"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "updatedStateMsdx"
    argType: INPUT_TENSOR
    argIndex: 5
  }
  argDescriptor {
    name: "dRho"
    argType: DOUBLE
  }
  argDescriptor {
    name: "dEpsilon"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "update"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "stateMsg"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "stateMsdx"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "ada_grad_updater"
  argDescriptor {
    name: "gradient"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "initState"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "lr"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "epsilon"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "dLr"
    argType: DOUBLE
  }
  argDescriptor {
    name: "dEpsilon"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "update"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "stateH"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "ada_max_updater"
  argDescriptor {
    name: "iteration"
    argType: INT64
  }
  argDescriptor {
    name: "gradient"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "initStateU"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "initStateM"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "lr"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "beta1"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "beta2"
    argType: INPUT_TENSOR
    argIndex: 5
  }
  argDescriptor {
    name: "epsilon"
    argType: INPUT_TENSOR
    argIndex: 6
  }
  argDescriptor {
    name: "dLr"
    argType: DOUBLE
  }
  argDescriptor {
    name: "dBeta1"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "dBeta2"
    argType: DOUBLE
    argIndex: 2
  }
  argDescriptor {
    name: "dEpsilon"
    argType: DOUBLE
    argIndex: 3
  }
  argDescriptor {
    name: "update"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "stateU"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "stateM"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "adabelief_updater"
  argDescriptor {
    name: "iteration"
    argType: INT64
  }
  argDescriptor {
    name: "gradient"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "initStateU"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "initStateM"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "lr"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "beta1"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "beta2"
    argType: INPUT_TENSOR
    argIndex: 5
  }
  argDescriptor {
    name: "epsilon"
    argType: INPUT_TENSOR
    argIndex: 6
  }
  argDescriptor {
    name: "dLr"
    argType: DOUBLE
  }
  argDescriptor {
    name: "dBeta1"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "dBeta2"
    argType: DOUBLE
    argIndex: 2
  }
  argDescriptor {
    name: "dEpsilon"
    argType: DOUBLE
    argIndex: 3
  }
  argDescriptor {
    name: "update"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "stateU"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "stateM"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "adam_updater"
  argDescriptor {
    name: "iteration"
    argType: INT64
  }
  argDescriptor {
    name: "gradient"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "initStateU"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "initStateM"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "lr"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "beta1"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "beta2"
    argType: INPUT_TENSOR
    argIndex: 5
  }
  argDescriptor {
    name: "epsilon"
    argType: INPUT_TENSOR
    argIndex: 6
  }
  argDescriptor {
    name: "dLr"
    argType: DOUBLE
  }
  argDescriptor {
    name: "dBeta1"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "dBeta2"
    argType: DOUBLE
    argIndex: 2
  }
  argDescriptor {
    name: "dEpsilon"
    argType: DOUBLE
    argIndex: 3
  }
  argDescriptor {
    name: "update"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "stateU"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "stateM"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "add"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BROADCASTABLE_OP_IMPL
}
opList {
  name: "add_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "epsNext"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "gradX"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "gradY"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "add_scalar"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "adjust_contrast"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "factor"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "adjust_contrast_v2"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "factor"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "factor"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "adjust_hue"
  argDescriptor {
    name: "dimC"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "delta"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "adjust_saturation"
  argDescriptor {
    name: "dimC"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "factor"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "factor"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "all"
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "alpha_dropout"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "a"
    argType: DOUBLE
  }
  argDescriptor {
    name: "alpha"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "alphaPrime"
    argType: DOUBLE
    argIndex: 2
  }
  argDescriptor {
    name: "beta"
    argType: DOUBLE
    argIndex: 3
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "alpha_dropout_bp"
  argDescriptor {
    name: "seed"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "gradOut"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "reduceShape"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "probValue"
    argType: DOUBLE
  }
  argDescriptor {
    name: "alphaValue"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "alpha1Value"
    argType: DOUBLE
    argIndex: 2
  }
  argDescriptor {
    name: "betaValue"
    argType: DOUBLE
    argIndex: 3
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "amax"
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "amax_pairwise"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "amean"
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "amin"
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "amin_pairwise"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "ams_grad_updater"
  argDescriptor {
    name: "iteration"
    argType: INT64
  }
  argDescriptor {
    name: "gradient"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "initStateV"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "initStateM"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "initStateH"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "lr"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "beta1"
    argType: INPUT_TENSOR
    argIndex: 5
  }
  argDescriptor {
    name: "beta2"
    argType: INPUT_TENSOR
    argIndex: 6
  }
  argDescriptor {
    name: "epsilon"
    argType: INPUT_TENSOR
    argIndex: 7
  }
  argDescriptor {
    name: "dLr"
    argType: DOUBLE
  }
  argDescriptor {
    name: "dBeta1"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "dBeta2"
    argType: DOUBLE
    argIndex: 2
  }
  argDescriptor {
    name: "dEpsilon"
    argType: DOUBLE
    argIndex: 3
  }
  argDescriptor {
    name: "update"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "stateV"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "stateM"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "stateH"
    argType: OUTPUT_TENSOR
    argIndex: 3
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "and"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "comparable"
    argType: DOUBLE
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "and_scalar"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "any"
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "apply_sgd"
  argDescriptor {
    name: "parameters"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "gradients"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "tarr"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "lr"
    argType: DOUBLE
  }
  argDescriptor {
    name: "Z"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "applygradientdescent"
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "argamax"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "argamin"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "argmax"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "isComplex"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "isEmptyReduce"
    argType: BOOL
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "argmin"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "isComplex"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "isEmptyReduce"
    argType: BOOL
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "asin"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "asinh"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "assign"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BROADCASTABLE_OP_IMPL
}
opList {
  name: "assign_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "epsNext"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "gradX"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "gradY"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "asum"
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "atan"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "atanh"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "avgpool2d"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "kH"
    argType: INT64
  }
  argDescriptor {
    name: "kW"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "sH"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "sW"
    argType: INT64
    argIndex: 3
  }
  argDescriptor {
    name: "pH"
    argType: INT64
    argIndex: 4
  }
  argDescriptor {
    name: "pW"
    argType: INT64
    argIndex: 5
  }
  argDescriptor {
    name: "dH"
    argType: INT64
    argIndex: 6
  }
  argDescriptor {
    name: "dW"
    argType: INT64
    argIndex: 7
  }
  argDescriptor {
    name: "isSameMode"
    argType: INT64
    argIndex: 8
  }
  argDescriptor {
    name: "extraParam0"
    argType: INT64
    argIndex: 9
  }
  argDescriptor {
    name: "isNCHW"
    argType: INT64
    argIndex: 10
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "avgpool2d_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "kH"
    argType: INT64
  }
  argDescriptor {
    name: "kW"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "sH"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "sW"
    argType: INT64
    argIndex: 3
  }
  argDescriptor {
    name: "pH"
    argType: INT64
    argIndex: 4
  }
  argDescriptor {
    name: "pW"
    argType: INT64
    argIndex: 5
  }
  argDescriptor {
    name: "dH"
    argType: INT64
    argIndex: 6
  }
  argDescriptor {
    name: "dW"
    argType: INT64
    argIndex: 7
  }
  argDescriptor {
    name: "isSameMode"
    argType: INT64
    argIndex: 8
  }
  argDescriptor {
    name: "extraParam0"
    argType: INT64
    argIndex: 9
  }
  argDescriptor {
    name: "isNCHW"
    argType: INT64
    argIndex: 10
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "gradO"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "gradI"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "avgpool3dnew"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "kD"
    argType: INT64
  }
  argDescriptor {
    name: "kH"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "kW"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "sD"
    argType: INT64
    argIndex: 3
  }
  argDescriptor {
    name: "sH"
    argType: INT64
    argIndex: 4
  }
  argDescriptor {
    name: "sW"
    argType: INT64
    argIndex: 5
  }
  argDescriptor {
    name: "pD"
    argType: INT64
    argIndex: 6
  }
  argDescriptor {
    name: "pH"
    argType: INT64
    argIndex: 7
  }
  argDescriptor {
    name: "pW"
    argType: INT64
    argIndex: 8
  }
  argDescriptor {
    name: "dD"
    argType: INT64
    argIndex: 9
  }
  argDescriptor {
    name: "dH"
    argType: INT64
    argIndex: 10
  }
  argDescriptor {
    name: "dW"
    argType: INT64
    argIndex: 11
  }
  argDescriptor {
    name: "isSameMode"
    argType: INT64
    argIndex: 12
  }
  argDescriptor {
    name: "extraParam0"
    argType: INT64
    argIndex: 13
  }
  argDescriptor {
    name: "isNCDHW"
    argType: INT64
    argIndex: 14
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "avgpool3dnew_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "kD"
    argType: INT64
  }
  argDescriptor {
    name: "kH"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "kW"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "sD"
    argType: INT64
    argIndex: 3
  }
  argDescriptor {
    name: "sH"
    argType: INT64
    argIndex: 4
  }
  argDescriptor {
    name: "sW"
    argType: INT64
    argIndex: 5
  }
  argDescriptor {
    name: "pD"
    argType: INT64
    argIndex: 6
  }
  argDescriptor {
    name: "pH"
    argType: INT64
    argIndex: 7
  }
  argDescriptor {
    name: "pW"
    argType: INT64
    argIndex: 8
  }
  argDescriptor {
    name: "dD"
    argType: INT64
    argIndex: 9
  }
  argDescriptor {
    name: "dH"
    argType: INT64
    argIndex: 10
  }
  argDescriptor {
    name: "dW"
    argType: INT64
    argIndex: 11
  }
  argDescriptor {
    name: "isSameMode"
    argType: INT64
    argIndex: 12
  }
  argDescriptor {
    name: "extraParam0"
    argType: INT64
    argIndex: 13
  }
  argDescriptor {
    name: "isNCDHW"
    argType: INT64
    argIndex: 14
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "gradO"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "gradI"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "axpy"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "alpha"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "a"
    argType: DOUBLE
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "barnes_edge_forces"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "N"
    argType: INT64
  }
  argDescriptor {
    name: "rowP"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "colP"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "valP"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "dataP"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "barnes_gains"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "gradX"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "epsilon"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: OP_IMPL
}
opList {
  name: "barnes_symmetrized"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "N"
    argType: INT64
  }
  argDescriptor {
    name: "rowP"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "colP"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "valP"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outRows"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "outputRows"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "outputCols"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputVals"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
}
opList {
  name: "batch_to_space"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "blockSize"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "crop"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "batch_to_space_nd"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "blocks"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "blockShape"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "crop"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "batched_gemm"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "transA"
    argType: INT64
  }
  argDescriptor {
    name: "transB"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "M"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "N"
    argType: INT64
    argIndex: 3
  }
  argDescriptor {
    name: "K"
    argType: INT64
    argIndex: 4
  }
  argDescriptor {
    name: "ldA"
    argType: INT64
    argIndex: 5
  }
  argDescriptor {
    name: "ldB"
    argType: INT64
    argIndex: 6
  }
  argDescriptor {
    name: "ldC"
    argType: INT64
    argIndex: 7
  }
  argDescriptor {
    name: "batchSize"
    argType: INT64
    argIndex: 8
  }
  argDescriptor {
    name: "alpha"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "beta"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "transposeA"
    argType: BOOL
  }
  argDescriptor {
    name: "transposeB"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "vC"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "batchnorm"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "applyScale"
    argType: INT64
  }
  argDescriptor {
    name: "applyOffset"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "mean"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "variance"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "gamma"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "epsilon"
    argType: DOUBLE
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "applyGamma"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "applyBeta"
    argType: BOOL
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "batchnorm_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "applyScale"
    argType: INT64
  }
  argDescriptor {
    name: "applyOffset"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "i"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "mean"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "variance"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "gamma"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "epsilon"
    argType: DOUBLE
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "applyGamma"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "applyBeta"
    argType: BOOL
    argIndex: 2
  }
  argDescriptor {
    name: "dLdI"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "dLdM"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "dLdV"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "dLdG"
    argType: OUTPUT_TENSOR
    argIndex: 3
  }
}
opList {
  name: "betainc"
  argDescriptor {
    name: "a"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "b"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "biasadd"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "bias"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "nchw"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "biasadd_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "bias"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "gradO"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "nchw"
    argType: BOOL
  }
  argDescriptor {
    name: "gradI"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "gradB"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "bincount"
  argDescriptor {
    name: "outputType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "minLength"
    argType: INT64
  }
  argDescriptor {
    name: "values"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "min"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "max"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "bitcast"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "newType"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "bits_hamming_distance"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "bitwise_and"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BROADCASTABLE_OP_IMPL
}
opList {
  name: "bitwise_or"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BROADCASTABLE_OP_IMPL
}
opList {
  name: "bitwise_xor"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BROADCASTABLE_OP_IMPL
}
opList {
  name: "bool_not"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "boolean_and"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BROADCASTABLE_OP_IMPL
}
opList {
  name: "boolean_not"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: OP_IMPL
}
opList {
  name: "boolean_or"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BROADCASTABLE_OP_IMPL
}
opList {
  name: "boolean_xor"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BROADCASTABLE_OP_IMPL
}
opList {
  name: "broadcast_amax"
  argDescriptor {
    name: "shape"
    argType: INT64
  }
  argDescriptor {
    name: "dimension"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "broadcast_amin"
  argDescriptor {
    name: "shape"
    argType: INT64
  }
  argDescriptor {
    name: "dimension"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "broadcast_dynamic_shape"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "broadcast_equalto"
  argDescriptor {
    name: "dimension"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "broadcast_greaterthan"
  argDescriptor {
    name: "shape"
    argType: INT64
  }
  argDescriptor {
    name: "dimension"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "broadcast_greaterthanorequal"
  argDescriptor {
    name: "shape"
    argType: INT64
  }
  argDescriptor {
    name: "dimension"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "broadcast_lessthan"
  argDescriptor {
    name: "shape"
    argType: INT64
  }
  argDescriptor {
    name: "dimension"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "broadcast_lessthanorequal"
  argDescriptor {
    name: "shape"
    argType: INT64
  }
  argDescriptor {
    name: "dimension"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "broadcast_max"
  argDescriptor {
    name: "shape"
    argType: INT64
  }
  argDescriptor {
    name: "dimension"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "broadcast_min"
  argDescriptor {
    name: "shape"
    argType: INT64
  }
  argDescriptor {
    name: "dimension"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "broadcast_notequal"
  argDescriptor {
    name: "shape"
    argType: INT64
  }
  argDescriptor {
    name: "dimension"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "broadcast_to"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "shape"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "broadcastadd"
  argDescriptor {
    name: "dimension"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "broadcastcopy"
  argDescriptor {
    name: "shape"
    argType: INT64
  }
  argDescriptor {
    name: "dimension"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "broadcastdiv"
  argDescriptor {
    name: "shape"
    argType: INT64
  }
  argDescriptor {
    name: "dimension"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "broadcastgradientargs"
  argDescriptor {
    name: "dimension"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: OP_IMPL
}
opList {
  name: "broadcastmul"
  argDescriptor {
    name: "shape"
    argType: INT64
  }
  argDescriptor {
    name: "dimension"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "broadcastrdiv"
  argDescriptor {
    name: "shape"
    argType: INT64
  }
  argDescriptor {
    name: "dimension"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "broadcastrsub"
  argDescriptor {
    name: "shape"
    argType: INT64
  }
  argDescriptor {
    name: "dimension"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "broadcastsub"
  argDescriptor {
    name: "shape"
    argType: INT64
  }
  argDescriptor {
    name: "dimension"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "car"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "to"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "from"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "compare"
    argType: DOUBLE
  }
  argDescriptor {
    name: "set"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "eps"
    argType: DOUBLE
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "cas"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "compare"
    argType: DOUBLE
  }
  argDescriptor {
    name: "set"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "eps"
    argType: DOUBLE
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "cast"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "cbow"
  argDescriptor {
    name: "numWorkers"
    argType: INT64
  }
  argDescriptor {
    name: "nsRounds"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "target"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "ngStarter"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "context"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "indices"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "codes"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "syn0"
    argType: INPUT_TENSOR
    argIndex: 5
  }
  argDescriptor {
    name: "syn1"
    argType: INPUT_TENSOR
    argIndex: 6
  }
  argDescriptor {
    name: "syn1neg"
    argType: INPUT_TENSOR
    argIndex: 7
  }
  argDescriptor {
    name: "expTable"
    argType: INPUT_TENSOR
    argIndex: 8
  }
  argDescriptor {
    name: "negTable"
    argType: INPUT_TENSOR
    argIndex: 9
  }
  argDescriptor {
    name: "alpha"
    argType: INPUT_TENSOR
    argIndex: 10
  }
  argDescriptor {
    name: "randomValue"
    argType: INPUT_TENSOR
    argIndex: 11
  }
  argDescriptor {
    name: "numLabels"
    argType: INPUT_TENSOR
    argIndex: 12
  }
  argDescriptor {
    name: "lockedWords"
    argType: INPUT_TENSOR
    argIndex: 13
  }
  argDescriptor {
    name: "inferenceVector"
    argType: INPUT_TENSOR
    argIndex: 14
  }
  argDescriptor {
    name: "trainWords"
    argType: BOOL
  }
  argDescriptor {
    name: "isInference"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "ceil"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "cell_contains"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimension"
    argType: INT64
  }
  argDescriptor {
    name: "corner"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "width"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "point"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "contains"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "check_numerics"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "message"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "choice"
  argDescriptor {
    name: "source"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "probabilities"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "cholesky"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: OP_IMPL
}
opList {
  name: "choose"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "mode"
    argType: INT64
  }
  argDescriptor {
    name: "arg"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "comp"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "scalar"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "numResults"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "clip_by_global_norm"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "clipNorm"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "clipbyavgnorm"
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "clipNorm"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "clipValue"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "clipbyavgnorm_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "gradO"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "clipNorm"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "gradI"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "clipbynorm"
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "clipValue"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "clipbynorm_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "gradO"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "clipValue"
    argType: DOUBLE
  }
  argDescriptor {
    name: "gradI"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "clipbyvalue"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "left"
    argType: DOUBLE
  }
  argDescriptor {
    name: "right"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "clone_list"
  argDescriptor {
    name: "list"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LIST_OP_IMPL
}
opList {
  name: "col2im"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "strideY"
    argType: INT64
  }
  argDescriptor {
    name: "strideX"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "padHeight"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "padWidth"
    argType: INT64
    argIndex: 3
  }
  argDescriptor {
    name: "imgHeight"
    argType: INT64
    argIndex: 4
  }
  argDescriptor {
    name: "imgWidth"
    argType: INT64
    argIndex: 5
  }
  argDescriptor {
    name: "dY"
    argType: INT64
    argIndex: 6
  }
  argDescriptor {
    name: "dX"
    argType: INT64
    argIndex: 7
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inputArrays"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "compare_and_bitpack"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "threshold"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "compat_sparse_to_dense"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "indices"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "shape"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "values"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "def"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "compat_string_split"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "delim"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "indices"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "values"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "indices"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "values"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "concat"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "concatDimension"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "concatDimension"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "isDynamicAxis"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "concat_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "concatDimension"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "originalChunk"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "dynamicAxis"
    argType: BOOL
  }
  argDescriptor {
    name: "epsilonChunk"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "confusion_matrix"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "numClasses"
    argType: INT64
  }
  argDescriptor {
    name: "labels"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "predictions"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "conv1d"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "kW"
    argType: INT64
  }
  argDescriptor {
    name: "sW"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "pW"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "dW"
    argType: INT64
    argIndex: 3
  }
  argDescriptor {
    name: "paddingMode"
    argType: INT64
    argIndex: 4
  }
  argDescriptor {
    name: "isNCW"
    argType: INT64
    argIndex: 5
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "bias"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "conv1d_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "kW"
    argType: INT64
  }
  argDescriptor {
    name: "sW"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "pW"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "dW"
    argType: INT64
    argIndex: 3
  }
  argDescriptor {
    name: "paddingMode"
    argType: INT64
    argIndex: 4
  }
  argDescriptor {
    name: "isNCW"
    argType: INT64
    argIndex: 5
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "bias"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "gradO"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "gradI"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "gradW"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "gradB"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
}
opList {
  name: "conv2d"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "kH"
    argType: INT64
  }
  argDescriptor {
    name: "kW"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "sH"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "sW"
    argType: INT64
    argIndex: 3
  }
  argDescriptor {
    name: "pH"
    argType: INT64
    argIndex: 4
  }
  argDescriptor {
    name: "pW"
    argType: INT64
    argIndex: 5
  }
  argDescriptor {
    name: "dH"
    argType: INT64
    argIndex: 6
  }
  argDescriptor {
    name: "dW"
    argType: INT64
    argIndex: 7
  }
  argDescriptor {
    name: "isSameMode"
    argType: INT64
    argIndex: 8
  }
  argDescriptor {
    name: "isNCHW"
    argType: INT64
    argIndex: 9
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "bias"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "conv2d_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "kH"
    argType: INT64
  }
  argDescriptor {
    name: "kW"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "sH"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "sW"
    argType: INT64
    argIndex: 3
  }
  argDescriptor {
    name: "pH"
    argType: INT64
    argIndex: 4
  }
  argDescriptor {
    name: "pW"
    argType: INT64
    argIndex: 5
  }
  argDescriptor {
    name: "dH"
    argType: INT64
    argIndex: 6
  }
  argDescriptor {
    name: "dW"
    argType: INT64
    argIndex: 7
  }
  argDescriptor {
    name: "isSameMode"
    argType: INT64
    argIndex: 8
  }
  argDescriptor {
    name: "isNCHW"
    argType: INT64
    argIndex: 9
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "bias"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "gradI"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "gradW"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "gradB"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
}
opList {
  name: "conv2d_input_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "kH"
    argType: INT64
  }
  argDescriptor {
    name: "kW"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "sH"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "sW"
    argType: INT64
    argIndex: 3
  }
  argDescriptor {
    name: "pH"
    argType: INT64
    argIndex: 4
  }
  argDescriptor {
    name: "pW"
    argType: INT64
    argIndex: 5
  }
  argDescriptor {
    name: "dH"
    argType: INT64
    argIndex: 6
  }
  argDescriptor {
    name: "dW"
    argType: INT64
    argIndex: 7
  }
  argDescriptor {
    name: "isSameMode"
    argType: INT64
    argIndex: 8
  }
  argDescriptor {
    name: "isNCHW"
    argType: INT64
    argIndex: 9
  }
  argDescriptor {
    name: "gradIShape"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "gradO"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "gradI"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "conv3dnew"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "kD"
    argType: INT64
  }
  argDescriptor {
    name: "kH"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "kW"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "sD"
    argType: INT64
    argIndex: 3
  }
  argDescriptor {
    name: "sH"
    argType: INT64
    argIndex: 4
  }
  argDescriptor {
    name: "sW"
    argType: INT64
    argIndex: 5
  }
  argDescriptor {
    name: "pD"
    argType: INT64
    argIndex: 6
  }
  argDescriptor {
    name: "pH"
    argType: INT64
    argIndex: 7
  }
  argDescriptor {
    name: "pW"
    argType: INT64
    argIndex: 8
  }
  argDescriptor {
    name: "dD"
    argType: INT64
    argIndex: 9
  }
  argDescriptor {
    name: "dH"
    argType: INT64
    argIndex: 10
  }
  argDescriptor {
    name: "dW"
    argType: INT64
    argIndex: 11
  }
  argDescriptor {
    name: "paddingMode"
    argType: INT64
    argIndex: 12
  }
  argDescriptor {
    name: "isNCDHW"
    argType: INT64
    argIndex: 13
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "bias"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "conv3dnew_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "kD"
    argType: INT64
  }
  argDescriptor {
    name: "kH"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "kW"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "sD"
    argType: INT64
    argIndex: 3
  }
  argDescriptor {
    name: "sH"
    argType: INT64
    argIndex: 4
  }
  argDescriptor {
    name: "sW"
    argType: INT64
    argIndex: 5
  }
  argDescriptor {
    name: "pD"
    argType: INT64
    argIndex: 6
  }
  argDescriptor {
    name: "pH"
    argType: INT64
    argIndex: 7
  }
  argDescriptor {
    name: "pW"
    argType: INT64
    argIndex: 8
  }
  argDescriptor {
    name: "dD"
    argType: INT64
    argIndex: 9
  }
  argDescriptor {
    name: "dH"
    argType: INT64
    argIndex: 10
  }
  argDescriptor {
    name: "dW"
    argType: INT64
    argIndex: 11
  }
  argDescriptor {
    name: "paddingMode"
    argType: INT64
    argIndex: 12
  }
  argDescriptor {
    name: "isNCDHW"
    argType: INT64
    argIndex: 13
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "bias"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "gradI"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "gradW"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "gradB"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
}
opList {
  name: "copy"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "cos"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "cosh"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "cosine_distance_loss"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimension"
    argType: INT64
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "predictions"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "labels"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "cosine_distance_loss_grad"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimension"
    argType: INT64
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "predictions"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "labels"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "dLdp"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "dLdw"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "dLdl"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
}
opList {
  name: "cosinedistance"
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "isComplex"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "cosinesimilarity"
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "allDistances"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "countNonZero"
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "countZero"
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "create"
  argDescriptor {
    name: "outputType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "order"
    argType: INT64
  }
  argDescriptor {
    name: "outputType"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "init"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "create_list"
  argDescriptor {
    name: "importDataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "height"
    argType: INT64
  }
  argDescriptor {
    name: "expandable"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LIST_OP_IMPL
}
opList {
  name: "create_view"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "inputBase"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "crelu"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "crelu_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "epsilonNext"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "epsilon"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "crop_and_resize"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "method"
    argType: INT64
  }
  argDescriptor {
    name: "image"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "boxes"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "boxIndexes"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "newImageSize"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "extrapolationVal"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "cross"
  argDescriptor {
    name: "a"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "b"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "o"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: OP_IMPL
}
opList {
  name: "ctc_beam"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "blank_index"
    argType: INT64
  }
  argDescriptor {
    name: "beam_width"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "nbest_len"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "logit"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "sequence_length"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "normalize_logits"
    argType: BOOL
  }
  argDescriptor {
    name: "result_sequences"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "result_probs"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "result_sequences_length"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
}
opList {
  name: "ctc_loss"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "blankIndex"
    argType: INT64
  }
  argDescriptor {
    name: "targetLabels"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "logitInput"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "targetLabelLengths"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "logitInputLengths"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "outputLosses"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "ctc_loss_grad"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "blankIndex"
    argType: INT64
  }
  argDescriptor {
    name: "targetLabels"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "logitInput"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "targetLabelLengths"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "logitInputLengths"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "outputGradients"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "cube"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "cube_bp"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "epsilon"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "cubederivative"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "cumprod"
  argDescriptor {
    name: "exclusive"
    argType: INT64
  }
  argDescriptor {
    name: "reverse"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "exclusive"
    argType: BOOL
  }
  argDescriptor {
    name: "reverse"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "cumprod_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "exclusive"
    argType: INT64
  }
  argDescriptor {
    name: "reverse"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "gradOut"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "output1"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "output2"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "exclusive"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "reverse"
    argType: BOOL
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "cumsum"
  argDescriptor {
    name: "exclusive"
    argType: INT64
  }
  argDescriptor {
    name: "reverse"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "exclusive"
    argType: BOOL
  }
  argDescriptor {
    name: "reverse"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "cumsum_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "exclusive"
    argType: INT64
  }
  argDescriptor {
    name: "reverse"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "gradOut"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "output1"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "output2"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "exclusive"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "reverse"
    argType: BOOL
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "cyclic_rshift_bits"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BROADCASTABLE_OP_IMPL
}
opList {
  name: "cyclic_shift_bits"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BROADCASTABLE_OP_IMPL
}
opList {
  name: "decode_bitmap"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "start"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "encoded"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "updates"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "decode_threshold"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "encoded"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "updates"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "deconv2d"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "kH"
    argType: INT64
  }
  argDescriptor {
    name: "kW"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "sH"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "sW"
    argType: INT64
    argIndex: 3
  }
  argDescriptor {
    name: "pH"
    argType: INT64
    argIndex: 4
  }
  argDescriptor {
    name: "pW"
    argType: INT64
    argIndex: 5
  }
  argDescriptor {
    name: "dH"
    argType: INT64
    argIndex: 6
  }
  argDescriptor {
    name: "dW"
    argType: INT64
    argIndex: 7
  }
  argDescriptor {
    name: "isSameMode"
    argType: INT64
    argIndex: 8
  }
  argDescriptor {
    name: "isNCHW"
    argType: INT64
    argIndex: 9
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "bias"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "deconv2d_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "kH"
    argType: INT64
  }
  argDescriptor {
    name: "kW"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "sH"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "sW"
    argType: INT64
    argIndex: 3
  }
  argDescriptor {
    name: "pH"
    argType: INT64
    argIndex: 4
  }
  argDescriptor {
    name: "pW"
    argType: INT64
    argIndex: 5
  }
  argDescriptor {
    name: "dH"
    argType: INT64
    argIndex: 6
  }
  argDescriptor {
    name: "dW"
    argType: INT64
    argIndex: 7
  }
  argDescriptor {
    name: "isSameMode"
    argType: INT64
    argIndex: 8
  }
  argDescriptor {
    name: "isNCHW"
    argType: INT64
    argIndex: 9
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "bias"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "gradI"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "gradW"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "gradB"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
}
opList {
  name: "deconv2d_tf"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "kH"
    argType: INT64
  }
  argDescriptor {
    name: "kW"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "sH"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "sW"
    argType: INT64
    argIndex: 3
  }
  argDescriptor {
    name: "pH"
    argType: INT64
    argIndex: 4
  }
  argDescriptor {
    name: "pW"
    argType: INT64
    argIndex: 5
  }
  argDescriptor {
    name: "dH"
    argType: INT64
    argIndex: 6
  }
  argDescriptor {
    name: "dW"
    argType: INT64
    argIndex: 7
  }
  argDescriptor {
    name: "isSameMode"
    argType: INT64
    argIndex: 8
  }
  argDescriptor {
    name: "isNCHW"
    argType: INT64
    argIndex: 9
  }
  argDescriptor {
    name: "gradIShape"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "gradO"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "gradI"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "deconv3d"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "kD"
    argType: INT64
  }
  argDescriptor {
    name: "kH"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "kW"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "sD"
    argType: INT64
    argIndex: 3
  }
  argDescriptor {
    name: "sH"
    argType: INT64
    argIndex: 4
  }
  argDescriptor {
    name: "sW"
    argType: INT64
    argIndex: 5
  }
  argDescriptor {
    name: "pD"
    argType: INT64
    argIndex: 6
  }
  argDescriptor {
    name: "pH"
    argType: INT64
    argIndex: 7
  }
  argDescriptor {
    name: "pW"
    argType: INT64
    argIndex: 8
  }
  argDescriptor {
    name: "dD"
    argType: INT64
    argIndex: 9
  }
  argDescriptor {
    name: "dH"
    argType: INT64
    argIndex: 10
  }
  argDescriptor {
    name: "dW"
    argType: INT64
    argIndex: 11
  }
  argDescriptor {
    name: "isSameMode"
    argType: INT64
    argIndex: 12
  }
  argDescriptor {
    name: "isNCDHW"
    argType: INT64
    argIndex: 13
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "bias"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "deconv3d_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "kD"
    argType: INT64
  }
  argDescriptor {
    name: "kH"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "kW"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "sD"
    argType: INT64
    argIndex: 3
  }
  argDescriptor {
    name: "sH"
    argType: INT64
    argIndex: 4
  }
  argDescriptor {
    name: "sW"
    argType: INT64
    argIndex: 5
  }
  argDescriptor {
    name: "pD"
    argType: INT64
    argIndex: 6
  }
  argDescriptor {
    name: "pH"
    argType: INT64
    argIndex: 7
  }
  argDescriptor {
    name: "pW"
    argType: INT64
    argIndex: 8
  }
  argDescriptor {
    name: "dD"
    argType: INT64
    argIndex: 9
  }
  argDescriptor {
    name: "dH"
    argType: INT64
    argIndex: 10
  }
  argDescriptor {
    name: "dW"
    argType: INT64
    argIndex: 11
  }
  argDescriptor {
    name: "isSameMode"
    argType: INT64
    argIndex: 12
  }
  argDescriptor {
    name: "isNCDHW"
    argType: INT64
    argIndex: 13
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "bias"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "grad"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "gradI"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "gradW"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "gradB"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
}
opList {
  name: "deconv3d_tf"
  argDescriptor {
    name: "shape"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "delete_list"
  argDescriptor {
    name: "list"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "idx"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LIST_OP_IMPL
}
opList {
  name: "depth_to_space"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "block_size"
    argType: INT64
  }
  argDescriptor {
    name: "isNHWC"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "depthwise_conv2d"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "kH"
    argType: INT64
  }
  argDescriptor {
    name: "kW"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "sH"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "sW"
    argType: INT64
    argIndex: 3
  }
  argDescriptor {
    name: "pH"
    argType: INT64
    argIndex: 4
  }
  argDescriptor {
    name: "pW"
    argType: INT64
    argIndex: 5
  }
  argDescriptor {
    name: "dH"
    argType: INT64
    argIndex: 6
  }
  argDescriptor {
    name: "dW"
    argType: INT64
    argIndex: 7
  }
  argDescriptor {
    name: "isSameMode"
    argType: INT64
    argIndex: 8
  }
  argDescriptor {
    name: "isNCHW"
    argType: INT64
    argIndex: 9
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "bias"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "depthwise_conv2d_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "kH"
    argType: INT64
  }
  argDescriptor {
    name: "kW"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "sH"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "sW"
    argType: INT64
    argIndex: 3
  }
  argDescriptor {
    name: "pH"
    argType: INT64
    argIndex: 4
  }
  argDescriptor {
    name: "pW"
    argType: INT64
    argIndex: 5
  }
  argDescriptor {
    name: "dH"
    argType: INT64
    argIndex: 6
  }
  argDescriptor {
    name: "dW"
    argType: INT64
    argIndex: 7
  }
  argDescriptor {
    name: "isSameMode"
    argType: INT64
    argIndex: 8
  }
  argDescriptor {
    name: "isNCHW"
    argType: INT64
    argIndex: 9
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "bias"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "gradO"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "gradI"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "gradW"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "gradB"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
}
opList {
  name: "diag"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "diag_part"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "digamma"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "dilation2d"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "isSameMode"
    argType: INT64
  }
  argDescriptor {
    name: "rates"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "strides"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "r"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "s"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "isSameMode"
    argType: BOOL
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "distribution_bernoulli"
  argDescriptor {
    name: "shape"
    argType: INT64
  }
  argDescriptor {
    name: "prob"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "distribution_binomial"
  argDescriptor {
    name: "trials"
    argType: INT64
  }
  argDescriptor {
    name: "shape"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "probability"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "distribution_binomial_ex"
  argDescriptor {
    name: "trials"
    argType: INT64
  }
  argDescriptor {
    name: "probabilities"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "probability"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "distribution_gaussian"
  argDescriptor {
    name: "shape"
    argType: INT64
  }
  argDescriptor {
    name: "mean"
    argType: DOUBLE
  }
  argDescriptor {
    name: "stddev"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "distribution_lognormal"
  argDescriptor {
    name: "shape"
    argType: INT64
  }
  argDescriptor {
    name: "stddev"
    argType: DOUBLE
  }
  argDescriptor {
    name: "stdev"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "distribution_truncated"
  argDescriptor {
    name: "shape"
    argType: INT64
  }
  argDescriptor {
    name: "mean"
    argType: DOUBLE
  }
  argDescriptor {
    name: "stddev"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "distribution_uniform"
  argDescriptor {
    name: "shape"
    argType: INT64
  }
  argDescriptor {
    name: "from"
    argType: DOUBLE
  }
  argDescriptor {
    name: "to"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "div_scalar"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "divide"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BROADCASTABLE_OP_IMPL
}
opList {
  name: "divide_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "epsNext"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "gradX"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "gradY"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "divide_no_nan"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BROADCASTABLE_OP_IMPL
}
opList {
  name: "dot"
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "newFormat"
    argType: BOOL
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "dot_product_attention"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "normalization"
    argType: INT64
  }
  argDescriptor {
    name: "outputWeights"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "queries"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "keys"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "values"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "mask"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "scaled"
    argType: BOOL
  }
  argDescriptor {
    name: "withWeights"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "dot_product_attention_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "normalization"
    argType: INT64
  }
  argDescriptor {
    name: "queries"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "keys"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "values"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "eps"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "mask"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "scaled"
    argType: BOOL
  }
  argDescriptor {
    name: "dLdq"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "dLdk"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "dLdv"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
}
opList {
  name: "draw_bounding_boxes"
  argDescriptor {
    name: "images"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "boxes"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "colors"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: OP_IMPL
}
opList {
  name: "dropout"
  argDescriptor {
    name: "seed"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "reduceShape"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "probValue"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "dropout_bp"
  argDescriptor {
    name: "seed"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "gradOut"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "reduceShape"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "probValue"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "dropout_inverted"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "p"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "dynamic_bidirectional_rnn"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "WxFW"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "WhFW"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "bFW"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "WxBW"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "WhBW"
    argType: INPUT_TENSOR
    argIndex: 5
  }
  argDescriptor {
    name: "bBW"
    argType: INPUT_TENSOR
    argIndex: 6
  }
  argDescriptor {
    name: "maxTimeStep"
    argType: INPUT_TENSOR
    argIndex: 7
  }
  argDescriptor {
    name: "h0BW"
    argType: INPUT_TENSOR
    argIndex: 8
  }
  argDescriptor {
    name: "hFW"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "hBW"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "hFWFinal"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "hBWFinal"
    argType: OUTPUT_TENSOR
    argIndex: 3
  }
}
opList {
  name: "dynamic_partition"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "numPartitions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "indices"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputList"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "dynamic_partition_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "numPartition"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "indices"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "gradsAtOutput"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputList"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "dynamic_rnn"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "Wx"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "Wh"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "b"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "h0"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "h"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "hFinal"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "dynamic_stitch"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "numPartitions"
    argType: INT64
  }
  argDescriptor {
    name: "index"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "eig"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "eig_vals"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "eig_vectors"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "elu"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "alpha"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "elu_bp"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "epsilon"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "alpha"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "embedding_lookup"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "partition_mode"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "indices"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "encode_bitmap"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "encoded"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "counter"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "threshold"
    argType: DOUBLE
  }
  argDescriptor {
    name: "encoded"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "counter"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "encode_threshold"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "boundary"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "encoded"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "threshold"
    argType: DOUBLE
  }
  argDescriptor {
    name: "updated"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "encoded"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "enter"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "frameName"
    argType: STRING
  }
  argDescriptor {
    name: "isConstant"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "entropy"
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "eps"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "eps_scalar"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "equals"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BROADCASTABLE_BOOL_OP_IMPL
}
opList {
  name: "equals_scalar"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "equals_with_eps"
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "eps"
    argType: DOUBLE
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "allDistances"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "erf"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "erfc"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "euclidean"
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "allDistances"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "evaluate_reduction_shape"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "inputShape"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "oldFormat"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "exit"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "frameName"
    argType: STRING
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "exp"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "expand_dims"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "expm1"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "expose"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "extract_image_patches"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "ksizeRows"
    argType: INT64
  }
  argDescriptor {
    name: "ksizeCols"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "kstrideRows"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "kstrideCols"
    argType: INT64
    argIndex: 3
  }
  argDescriptor {
    name: "krateRows"
    argType: INT64
    argIndex: 4
  }
  argDescriptor {
    name: "krateCols"
    argType: INT64
    argIndex: 5
  }
  argDescriptor {
    name: "isSameMode"
    argType: INT64
    argIndex: 6
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "isSameMode"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "eye"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "numRows"
    argType: INT64
  }
  argDescriptor {
    name: "numCols"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "batchDimension"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "dataType"
    argType: INT64
    argIndex: 3
  }
  argDescriptor {
    name: "dataType"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "fake_quant_with_min_max_args"
  argDescriptor {
    name: "numBits"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "min"
    argType: DOUBLE
  }
  argDescriptor {
    name: "max"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "narrowRange"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "fake_quant_with_min_max_vars"
  argDescriptor {
    name: "numBits"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "min"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "max"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "m"
    argType: DOUBLE
  }
  argDescriptor {
    name: "m2"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "narrowed"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "fake_quant_with_min_max_vars_per_channel"
  argDescriptor {
    name: "num_bits"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "min"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "max"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "narrowed"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "fill"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "shape"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "value"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "fill_as"
  argDescriptor {
    name: "s"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "firas_sparse"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "first_index"
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "compare"
    argType: DOUBLE
  }
  argDescriptor {
    name: "eps"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "flatten"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "order"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "flatten_2d"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "floor"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "floordiv"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BROADCASTABLE_OP_IMPL
}
opList {
  name: "floordiv_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "epsNext"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "gradX"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "gradY"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "floormod"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BROADCASTABLE_OP_IMPL
}
opList {
  name: "floormod_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "epsNext"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "gradX"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "gradY"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "fmod"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "fmod_scalar"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "fused_batch_norm"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dataFormat"
    argType: INT64
  }
  argDescriptor {
    name: "isTraining"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "scale"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "offset"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "mean"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "variance"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "batchMeanVar"
    argType: INPUT_TENSOR
    argIndex: 5
  }
  argDescriptor {
    name: "epsilon"
    argType: DOUBLE
  }
  argDescriptor {
    name: "y"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "batchMean"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "batchVar"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
}
opList {
  name: "gather"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "indices"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "intArgs"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "gather_list"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "list"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "indices"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LIST_OP_IMPL
}
opList {
  name: "gather_nd"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "indices"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "checkIndices"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "gelu"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "precise"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "get_seed"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "gradientbackwards"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "greater"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BROADCASTABLE_BOOL_OP_IMPL
}
opList {
  name: "greater_equal"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BROADCASTABLE_BOOL_OP_IMPL
}
opList {
  name: "greaterthan_scalar"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "greaterthanorequal_scalar"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "grid_free"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "gru"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "hI"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "Wx"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "Wh"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "b"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "h"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "gruCell"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "hLast"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "Wru"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "Wc"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "bru"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "bc"
    argType: INPUT_TENSOR
    argIndex: 5
  }
  argDescriptor {
    name: "r"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "u"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "c"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "h"
    argType: OUTPUT_TENSOR
    argIndex: 3
  }
}
opList {
  name: "gruCell_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "hi"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "W"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "Wc"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "b"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "bc"
    argType: INPUT_TENSOR
    argIndex: 5
  }
  argDescriptor {
    name: "dLdr"
    argType: INPUT_TENSOR
    argIndex: 6
  }
  argDescriptor {
    name: "dLdu"
    argType: INPUT_TENSOR
    argIndex: 7
  }
  argDescriptor {
    name: "dLdc"
    argType: INPUT_TENSOR
    argIndex: 8
  }
  argDescriptor {
    name: "dLdh"
    argType: INPUT_TENSOR
    argIndex: 9
  }
  argDescriptor {
    name: "dLdx"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "dLdhi"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "dLdW"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "dLdWc"
    argType: OUTPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "dLdb"
    argType: OUTPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "dLdbc"
    argType: OUTPUT_TENSOR
    argIndex: 5
  }
}
opList {
  name: "gru_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "hI"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "Wx"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "Wh"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "b"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "dLdh"
    argType: INPUT_TENSOR
    argIndex: 5
  }
  argDescriptor {
    name: "dLdx"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "dLdhI"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "dLdWx"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "dLdWh"
    argType: OUTPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "dLdb"
    argType: OUTPUT_TENSOR
    argIndex: 4
  }
}
opList {
  name: "hammingdistance"
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "allDistances"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "hard_sigmoid"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "hard_sigmoidderivative"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "hardsigmoid"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "hardsigmoid_bp"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "epsilon"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "hardtanh"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "hardtanh_bp"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "epsilon"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "hardtanhderivative"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "hashcode"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "hasinf"
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "hasnan"
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "hinge_loss"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "lossReduce"
    argType: INT64
  }
  argDescriptor {
    name: "logits"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "labels"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "hinge_loss_grad"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "lossReduce"
    argType: INT64
  }
  argDescriptor {
    name: "logits"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "labels"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "dLdp"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "dLdw"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "dLdl"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
}
opList {
  name: "histogram"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "numBins"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "histogram_fixed_width"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "block.width()"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "range"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "numBins"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "hsv_to_rgb"
  argDescriptor {
    name: "dimC"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "huber_loss"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "lossReduce"
    argType: INT64
  }
  argDescriptor {
    name: "predictions"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "labels"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "delta"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "huber_loss_grad"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "lossReduce"
    argType: INT64
  }
  argDescriptor {
    name: "predictions"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "labels"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "delta"
    argType: DOUBLE
  }
  argDescriptor {
    name: "dLdp"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "dLdw"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "dLdl"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
}
opList {
  name: "identity"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: OP_IMPL
}
opList {
  name: "identity_bp"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "epsilon"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: OP_IMPL
}
opList {
  name: "identity_n"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "igamma"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BROADCASTABLE_OP_IMPL
}
opList {
  name: "igammac"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BROADCASTABLE_OP_IMPL
}
opList {
  name: "im2col"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "kernelHeight"
    argType: INT64
  }
  argDescriptor {
    name: "kernelWidth"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "strideY"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "strideX"
    argType: INT64
    argIndex: 3
  }
  argDescriptor {
    name: "padHeight"
    argType: INT64
    argIndex: 4
  }
  argDescriptor {
    name: "padWidth"
    argType: INT64
    argIndex: 5
  }
  argDescriptor {
    name: "dY"
    argType: INT64
    argIndex: 6
  }
  argDescriptor {
    name: "dX"
    argType: INT64
    argIndex: 7
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inputArrays"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "zeroPadVal"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "im2col_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "kernelHeight"
    argType: INT64
  }
  argDescriptor {
    name: "kernelWidth"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "strideY"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "strideX"
    argType: INT64
    argIndex: 3
  }
  argDescriptor {
    name: "pH"
    argType: INT64
    argIndex: 4
  }
  argDescriptor {
    name: "pW"
    argType: INT64
    argIndex: 5
  }
  argDescriptor {
    name: "dY"
    argType: INT64
    argIndex: 6
  }
  argDescriptor {
    name: "dX"
    argType: INT64
    argIndex: 7
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "gradAtOutput"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "zeroPadVal"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "image_resize"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "method"
    argType: INT64
  }
  argDescriptor {
    name: "coorMode"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "nearestMode"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "image"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "newImageSize"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "bicubicCoefficient"
    argType: DOUBLE
  }
  argDescriptor {
    name: "preserveAspectRatio"
    argType: BOOL
  }
  argDescriptor {
    name: "antialias"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "exclude_outside"
    argType: BOOL
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "in_top_k"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "k"
    argType: INT64
  }
  argDescriptor {
    name: "predictions"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "target"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "sorted"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "invert_permutation"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "invoke"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "is_non_decreasing"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BOOLEAN_OP_IMPL
}
opList {
  name: "is_numeric_tensor"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BOOLEAN_OP_IMPL
}
opList {
  name: "is_strictly_increasing"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BOOLEAN_OP_IMPL
}
opList {
  name: "isfinite"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "isinf"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "ismax"
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "isnan"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "jaccarddistance"
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "isComplex"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "knn_mindistance"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "lowest"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "highest"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "distance"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "l2_loss"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "last_index"
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "compare"
    argType: DOUBLE
  }
  argDescriptor {
    name: "eps"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "layer_norm"
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "gain"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "bias"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "noBias"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "layer_norm_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "gain"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "bias"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "eps"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "dLdx"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "dLdg"
    argType: INPUT_TENSOR
    argIndex: 5
  }
  argDescriptor {
    name: "dLdb"
    argType: INPUT_TENSOR
    argIndex: 6
  }
  argDescriptor {
    name: "noBias"
    argType: BOOL
  }
  argDescriptor {
    name: "dLdx"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "dLdg"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "dLdb"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
}
opList {
  name: "leakyrelu"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "alpha"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "leakyreluderivative"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "alpha"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "less"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BROADCASTABLE_BOOL_OP_IMPL
}
opList {
  name: "less_equal"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BROADCASTABLE_BOOL_OP_IMPL
}
opList {
  name: "lessthan_scalar"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "lessthanorequal_scalar"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "lgamma"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: OP_IMPL
}
opList {
  name: "lin_space"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "elements"
    argType: INT64
  }
  argDescriptor {
    name: "start"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "finish"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "numOfElements"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "start"
    argType: DOUBLE
  }
  argDescriptor {
    name: "stop"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "linspace_random"
  argDescriptor {
    name: "length"
    argType: INT64
  }
  argDescriptor {
    name: "from"
    argType: DOUBLE
  }
  argDescriptor {
    name: "step"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "listdiff"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "values"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "keep"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "output1"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "output2"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "log"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "log1p"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "log_loss"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "lossReduce"
    argType: INT64
  }
  argDescriptor {
    name: "predictions"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "labels"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "epsilon"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "log_loss_grad"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "lossReduce"
    argType: INT64
  }
  argDescriptor {
    name: "predictions"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "labels"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "epsilon"
    argType: DOUBLE
  }
  argDescriptor {
    name: "dLdp"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "dLdw"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "dLdl"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
}
opList {
  name: "log_matrix_determinant"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "log_poisson_loss"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "lossReduce"
    argType: INT64
  }
  argDescriptor {
    name: "log_predictions"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "labels"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "full"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "log_poisson_loss_grad"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "lossReduce"
    argType: INT64
  }
  argDescriptor {
    name: "log_predictions"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "labels"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "full"
    argType: BOOL
  }
  argDescriptor {
    name: "dLdp"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "dLdw"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "dLdl"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
}
opList {
  name: "log_softmax"
  argDescriptor {
    name: "dimension"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "log_softmax_bp"
  argDescriptor {
    name: "dimension"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "gradO"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "gradI"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "log_x"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "base"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "logdet"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "logentropy"
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "logsigmoid"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "loop_cond"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "frameName"
    argType: STRING
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "lrelu"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "alpha"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "lrelu_bp"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "epsilon"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "alpha"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "lrn"
  argDescriptor {
    name: "depth"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "bias"
    argType: DOUBLE
  }
  argDescriptor {
    name: "alpha"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "beta"
    argType: DOUBLE
    argIndex: 2
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "lrn_bp"
  argDescriptor {
    name: "depth"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "gradO"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "bias"
    argType: DOUBLE
  }
  argDescriptor {
    name: "alpha"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "beta"
    argType: DOUBLE
    argIndex: 2
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "gradI"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "lstm"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "peephole"
    argType: INT64
  }
  argDescriptor {
    name: "projection"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "h0"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "c0"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "Wx"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "Wh"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "Wc"
    argType: INPUT_TENSOR
    argIndex: 5
  }
  argDescriptor {
    name: "Wp"
    argType: INPUT_TENSOR
    argIndex: 6
  }
  argDescriptor {
    name: "b"
    argType: INPUT_TENSOR
    argIndex: 7
  }
  argDescriptor {
    name: "clippingCellValue"
    argType: DOUBLE
  }
  argDescriptor {
    name: "clippingProjValue"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "forgetBias"
    argType: DOUBLE
    argIndex: 2
  }
  argDescriptor {
    name: "h"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "c"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "lstmBlock"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "peephole"
    argType: INT64
  }
  argDescriptor {
    name: "dataFormat"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "maxTSLength"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "cLast"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "yLast"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "W"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "Wci"
    argType: INPUT_TENSOR
    argIndex: 5
  }
  argDescriptor {
    name: "Wcf"
    argType: INPUT_TENSOR
    argIndex: 6
  }
  argDescriptor {
    name: "Wco"
    argType: INPUT_TENSOR
    argIndex: 7
  }
  argDescriptor {
    name: "b"
    argType: INPUT_TENSOR
    argIndex: 8
  }
  argDescriptor {
    name: "forgetBias"
    argType: DOUBLE
  }
  argDescriptor {
    name: "clippingCellValue"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "i"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "c"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "f"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "o"
    argType: OUTPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "h"
    argType: OUTPUT_TENSOR
    argIndex: 5
  }
  argDescriptor {
    name: "y"
    argType: OUTPUT_TENSOR
    argIndex: 6
  }
}
opList {
  name: "lstmBlockCell"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "peephole"
    argType: INT64
  }
  argDescriptor {
    name: "xt"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "cLast"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "yLast"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "W"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "Wci"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "Wcf"
    argType: INPUT_TENSOR
    argIndex: 5
  }
  argDescriptor {
    name: "Wco"
    argType: INPUT_TENSOR
    argIndex: 6
  }
  argDescriptor {
    name: "b"
    argType: INPUT_TENSOR
    argIndex: 7
  }
  argDescriptor {
    name: "forgetBias"
    argType: DOUBLE
  }
  argDescriptor {
    name: "clippingCellValue"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "i"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "c"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "f"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "o"
    argType: OUTPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "h"
    argType: OUTPUT_TENSOR
    argIndex: 5
  }
  argDescriptor {
    name: "y"
    argType: OUTPUT_TENSOR
    argIndex: 6
  }
}
opList {
  name: "lstmCell"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "peephole"
    argType: INT64
  }
  argDescriptor {
    name: "projection"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "xt"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "ht_1"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "ct_1"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "Wx"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "Wh"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "Wc"
    argType: INPUT_TENSOR
    argIndex: 5
  }
  argDescriptor {
    name: "Wp"
    argType: INPUT_TENSOR
    argIndex: 6
  }
  argDescriptor {
    name: "b"
    argType: INPUT_TENSOR
    argIndex: 7
  }
  argDescriptor {
    name: "clippingCellValue"
    argType: DOUBLE
  }
  argDescriptor {
    name: "clippingProjValue"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "forgetBias"
    argType: DOUBLE
    argIndex: 2
  }
  argDescriptor {
    name: "ht"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "ct"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "lstmLayer"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dataFormat"
    argType: INT64
  }
  argDescriptor {
    name: "directionMode"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "gateAct"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "cellAct"
    argType: INT64
    argIndex: 3
  }
  argDescriptor {
    name: "outAct"
    argType: INT64
    argIndex: 4
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "Wx"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "Wr"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "b"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "seqLen"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "hI"
    argType: INPUT_TENSOR
    argIndex: 5
  }
  argDescriptor {
    name: "cI"
    argType: INPUT_TENSOR
    argIndex: 6
  }
  argDescriptor {
    name: "Wp"
    argType: INPUT_TENSOR
    argIndex: 7
  }
  argDescriptor {
    name: "cellClip"
    argType: DOUBLE
  }
  argDescriptor {
    name: "gateAlpha"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "gateBeta"
    argType: DOUBLE
    argIndex: 2
  }
  argDescriptor {
    name: "cellAlpha"
    argType: DOUBLE
    argIndex: 3
  }
  argDescriptor {
    name: "cellBeta"
    argType: DOUBLE
    argIndex: 4
  }
  argDescriptor {
    name: "outAlpha"
    argType: DOUBLE
    argIndex: 5
  }
  argDescriptor {
    name: "outBeta"
    argType: DOUBLE
    argIndex: 6
  }
  argDescriptor {
    name: "hasBiases"
    argType: BOOL
  }
  argDescriptor {
    name: "hasSeqLen"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "hasInitH"
    argType: BOOL
    argIndex: 2
  }
  argDescriptor {
    name: "hasInitC"
    argType: BOOL
    argIndex: 3
  }
  argDescriptor {
    name: "hasPH"
    argType: BOOL
    argIndex: 4
  }
  argDescriptor {
    name: "retFullSeq"
    argType: BOOL
    argIndex: 5
  }
  argDescriptor {
    name: "retLastH"
    argType: BOOL
    argIndex: 6
  }
  argDescriptor {
    name: "retLastC"
    argType: BOOL
    argIndex: 7
  }
  argDescriptor {
    name: "h"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "hL"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "cL"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
}
opList {
  name: "lstmLayerCell"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "gateAct"
    argType: INT64
  }
  argDescriptor {
    name: "cellAct"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "outAct"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "Wx"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "Wr"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "b"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "hI"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "cI"
    argType: INPUT_TENSOR
    argIndex: 5
  }
  argDescriptor {
    name: "Wp"
    argType: INPUT_TENSOR
    argIndex: 6
  }
  argDescriptor {
    name: "cellClip"
    argType: DOUBLE
  }
  argDescriptor {
    name: "gateAlpha"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "gateBeta"
    argType: DOUBLE
    argIndex: 2
  }
  argDescriptor {
    name: "cellAlpha"
    argType: DOUBLE
    argIndex: 3
  }
  argDescriptor {
    name: "cellBeta"
    argType: DOUBLE
    argIndex: 4
  }
  argDescriptor {
    name: "outAlpha"
    argType: DOUBLE
    argIndex: 5
  }
  argDescriptor {
    name: "outBeta"
    argType: DOUBLE
    argIndex: 6
  }
  argDescriptor {
    name: "hasBiases"
    argType: BOOL
  }
  argDescriptor {
    name: "hasPH"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "h"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "c"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "lstmLayerCellBp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "gateAct"
    argType: INT64
  }
  argDescriptor {
    name: "cellAct"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "outAct"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "Wx"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "Wr"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "b"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "hI"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "cI"
    argType: INPUT_TENSOR
    argIndex: 5
  }
  argDescriptor {
    name: "Wp"
    argType: INPUT_TENSOR
    argIndex: 6
  }
  argDescriptor {
    name: "dLdh"
    argType: INPUT_TENSOR
    argIndex: 7
  }
  argDescriptor {
    name: "cellClip"
    argType: DOUBLE
  }
  argDescriptor {
    name: "gateAlpha"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "gateBeta"
    argType: DOUBLE
    argIndex: 2
  }
  argDescriptor {
    name: "cellAlpha"
    argType: DOUBLE
    argIndex: 3
  }
  argDescriptor {
    name: "cellBeta"
    argType: DOUBLE
    argIndex: 4
  }
  argDescriptor {
    name: "outAlpha"
    argType: DOUBLE
    argIndex: 5
  }
  argDescriptor {
    name: "outBeta"
    argType: DOUBLE
    argIndex: 6
  }
  argDescriptor {
    name: "hasBiases"
    argType: BOOL
  }
  argDescriptor {
    name: "hasPH"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "dLdx"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "dLdWx"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "dLdWr"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "dLdb"
    argType: OUTPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "dLdhI"
    argType: OUTPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "dLdcI"
    argType: OUTPUT_TENSOR
    argIndex: 5
  }
  argDescriptor {
    name: "dLdWp"
    argType: OUTPUT_TENSOR
    argIndex: 6
  }
}
opList {
  name: "lstmLayer_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dataFormat"
    argType: INT64
  }
  argDescriptor {
    name: "directionMode"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "gateAct"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "cellAct"
    argType: INT64
    argIndex: 3
  }
  argDescriptor {
    name: "outAct"
    argType: INT64
    argIndex: 4
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "Wx"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "Wr"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "b"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "seqLen"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "hI"
    argType: INPUT_TENSOR
    argIndex: 5
  }
  argDescriptor {
    name: "cI"
    argType: INPUT_TENSOR
    argIndex: 6
  }
  argDescriptor {
    name: "Wp"
    argType: INPUT_TENSOR
    argIndex: 7
  }
  argDescriptor {
    name: "dLdh"
    argType: INPUT_TENSOR
    argIndex: 8
  }
  argDescriptor {
    name: "dLdhL"
    argType: INPUT_TENSOR
    argIndex: 9
  }
  argDescriptor {
    name: "dLdcL"
    argType: INPUT_TENSOR
    argIndex: 10
  }
  argDescriptor {
    name: "dLdsL"
    argType: INPUT_TENSOR
    argIndex: 11
  }
  argDescriptor {
    name: "cellClip"
    argType: DOUBLE
  }
  argDescriptor {
    name: "gateAlpha"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "gateBeta"
    argType: DOUBLE
    argIndex: 2
  }
  argDescriptor {
    name: "cellAlpha"
    argType: DOUBLE
    argIndex: 3
  }
  argDescriptor {
    name: "cellBeta"
    argType: DOUBLE
    argIndex: 4
  }
  argDescriptor {
    name: "outAlpha"
    argType: DOUBLE
    argIndex: 5
  }
  argDescriptor {
    name: "outBeta"
    argType: DOUBLE
    argIndex: 6
  }
  argDescriptor {
    name: "hasBiases"
    argType: BOOL
  }
  argDescriptor {
    name: "hasSeqLen"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "hasInitH"
    argType: BOOL
    argIndex: 2
  }
  argDescriptor {
    name: "hasInitC"
    argType: BOOL
    argIndex: 3
  }
  argDescriptor {
    name: "hasPH"
    argType: BOOL
    argIndex: 4
  }
  argDescriptor {
    name: "retFullSeq"
    argType: BOOL
    argIndex: 5
  }
  argDescriptor {
    name: "retLastH"
    argType: BOOL
    argIndex: 6
  }
  argDescriptor {
    name: "retLastC"
    argType: BOOL
    argIndex: 7
  }
  argDescriptor {
    name: "dLdx"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "dLdWx"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "dLdWr"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "dLdb"
    argType: OUTPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "dLdhI"
    argType: OUTPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "dLdcI"
    argType: OUTPUT_TENSOR
    argIndex: 5
  }
  argDescriptor {
    name: "dLdWp"
    argType: OUTPUT_TENSOR
    argIndex: 6
  }
}
opList {
  name: "lstsq"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "a"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "b"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "l2_factor"
    argType: DOUBLE
  }
  argDescriptor {
    name: "fastFlag"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "lu"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "p"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "manhattan"
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "isComplex"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "match_condition"
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "mode"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "compare"
    argType: DOUBLE
  }
  argDescriptor {
    name: "eps"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "match_condition_transform"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "compare"
    argType: DOUBLE
  }
  argDescriptor {
    name: "eps"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "matmul"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "transX"
    argType: INT64
  }
  argDescriptor {
    name: "transY"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "transZ"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "alpha"
    argType: DOUBLE
  }
  argDescriptor {
    name: "beta"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "transposeX"
    argType: BOOL
  }
  argDescriptor {
    name: "transposeY"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "transposeZ"
    argType: BOOL
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "matmul_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "transX"
    argType: INT64
  }
  argDescriptor {
    name: "transY"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "transZ"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "eps"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "dldx"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "dldy"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "alpha"
    argType: DOUBLE
  }
  argDescriptor {
    name: "beta"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "dldx"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "dldy"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "matrix_band_part"
  argDescriptor {
    name: "minLower"
    argType: INT64
  }
  argDescriptor {
    name: "maxUpper"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "minLowerT"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "maxUpperT"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "matrix_determinant"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "matrix_diag"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "diagonal"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "matrix_diag_part"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "matrix_inverse"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: OP_IMPL
}
opList {
  name: "matrix_set_diag"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "diagonal"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "max_pairwise"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "max_pool_with_argmax"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "kH"
    argType: INT64
  }
  argDescriptor {
    name: "kW"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "sH"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "sW"
    argType: INT64
    argIndex: 3
  }
  argDescriptor {
    name: "pH"
    argType: INT64
    argIndex: 4
  }
  argDescriptor {
    name: "pW"
    argType: INT64
    argIndex: 5
  }
  argDescriptor {
    name: "dH"
    argType: INT64
    argIndex: 6
  }
  argDescriptor {
    name: "dW"
    argType: INT64
    argIndex: 7
  }
  argDescriptor {
    name: "sameMode"
    argType: INT64
    argIndex: 8
  }
  argDescriptor {
    name: "extraParam0"
    argType: INT64
    argIndex: 9
  }
  argDescriptor {
    name: "isNHWC"
    argType: INT64
    argIndex: 10
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outArgMax"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "indices"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "max_scalar"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "maximum"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BROADCASTABLE_OP_IMPL
}
opList {
  name: "maximum_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "epsNext"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "gradX"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "gradY"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "maxout"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "maxpool2d"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "kH"
    argType: INT64
  }
  argDescriptor {
    name: "kW"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "sH"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "sW"
    argType: INT64
    argIndex: 3
  }
  argDescriptor {
    name: "pH"
    argType: INT64
    argIndex: 4
  }
  argDescriptor {
    name: "pW"
    argType: INT64
    argIndex: 5
  }
  argDescriptor {
    name: "dH"
    argType: INT64
    argIndex: 6
  }
  argDescriptor {
    name: "dW"
    argType: INT64
    argIndex: 7
  }
  argDescriptor {
    name: "isSameMode"
    argType: INT64
    argIndex: 8
  }
  argDescriptor {
    name: "extraParam0"
    argType: INT64
    argIndex: 9
  }
  argDescriptor {
    name: "isNCHW"
    argType: INT64
    argIndex: 10
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "maxpool2d_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "kH"
    argType: INT64
  }
  argDescriptor {
    name: "kW"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "sH"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "sW"
    argType: INT64
    argIndex: 3
  }
  argDescriptor {
    name: "pH"
    argType: INT64
    argIndex: 4
  }
  argDescriptor {
    name: "pW"
    argType: INT64
    argIndex: 5
  }
  argDescriptor {
    name: "dH"
    argType: INT64
    argIndex: 6
  }
  argDescriptor {
    name: "dW"
    argType: INT64
    argIndex: 7
  }
  argDescriptor {
    name: "isSameMode"
    argType: INT64
    argIndex: 8
  }
  argDescriptor {
    name: "extraParam0"
    argType: INT64
    argIndex: 9
  }
  argDescriptor {
    name: "isNCHW"
    argType: INT64
    argIndex: 10
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "gradO"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "gradI"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "maxpool3dnew"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "kD"
    argType: INT64
  }
  argDescriptor {
    name: "kH"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "kW"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "sD"
    argType: INT64
    argIndex: 3
  }
  argDescriptor {
    name: "sH"
    argType: INT64
    argIndex: 4
  }
  argDescriptor {
    name: "sW"
    argType: INT64
    argIndex: 5
  }
  argDescriptor {
    name: "pD"
    argType: INT64
    argIndex: 6
  }
  argDescriptor {
    name: "pH"
    argType: INT64
    argIndex: 7
  }
  argDescriptor {
    name: "pW"
    argType: INT64
    argIndex: 8
  }
  argDescriptor {
    name: "dD"
    argType: INT64
    argIndex: 9
  }
  argDescriptor {
    name: "dH"
    argType: INT64
    argIndex: 10
  }
  argDescriptor {
    name: "dW"
    argType: INT64
    argIndex: 11
  }
  argDescriptor {
    name: "isSameMode"
    argType: INT64
    argIndex: 12
  }
  argDescriptor {
    name: "extraParam0"
    argType: INT64
    argIndex: 13
  }
  argDescriptor {
    name: "isNCDHW"
    argType: INT64
    argIndex: 14
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "maxpool3dnew_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "kD"
    argType: INT64
  }
  argDescriptor {
    name: "kH"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "kW"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "sD"
    argType: INT64
    argIndex: 3
  }
  argDescriptor {
    name: "sH"
    argType: INT64
    argIndex: 4
  }
  argDescriptor {
    name: "sW"
    argType: INT64
    argIndex: 5
  }
  argDescriptor {
    name: "pD"
    argType: INT64
    argIndex: 6
  }
  argDescriptor {
    name: "pH"
    argType: INT64
    argIndex: 7
  }
  argDescriptor {
    name: "pW"
    argType: INT64
    argIndex: 8
  }
  argDescriptor {
    name: "dD"
    argType: INT64
    argIndex: 9
  }
  argDescriptor {
    name: "dH"
    argType: INT64
    argIndex: 10
  }
  argDescriptor {
    name: "dW"
    argType: INT64
    argIndex: 11
  }
  argDescriptor {
    name: "isSameMode"
    argType: INT64
    argIndex: 12
  }
  argDescriptor {
    name: "extraParam0"
    argType: INT64
    argIndex: 13
  }
  argDescriptor {
    name: "isNCDHW"
    argType: INT64
    argIndex: 14
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "gradO"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "gradI"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "mean_pairwssqerr_loss"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "lossReduce"
    argType: INT64
  }
  argDescriptor {
    name: "predictions"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "labels"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "mean_pairwssqerr_loss_grad"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "lossReduce"
    argType: INT64
  }
  argDescriptor {
    name: "predictions"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "labels"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "dLdp"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "dLdw"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "dLdl"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
}
opList {
  name: "mean_sqerr_loss"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "lossReduce"
    argType: INT64
  }
  argDescriptor {
    name: "predictions"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "labels"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "mean_sqerr_loss_grad"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "lossReduce"
    argType: INT64
  }
  argDescriptor {
    name: "predictions"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "labels"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "dLdp"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "dLdw"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "dLdl"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
}
opList {
  name: "merge"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "mergeadd"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "i"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: OP_IMPL
}
opList {
  name: "mergeadd_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "gradient"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "gradO"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outArrs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "mergeavg"
  argDescriptor {
    name: "i"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: OP_IMPL
}
opList {
  name: "mergeavg_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "gradient"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "gradO"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outArrs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "mergemax"
  argDescriptor {
    name: "i"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: OP_IMPL
}
opList {
  name: "mergemax_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "i"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "gradO"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outArrs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "mergemaxindex"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "i"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "mergesum"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "meshgrid"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "swapFirst2Dims"
    argType: INT64
  }
  argDescriptor {
    name: "inArrs"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "cartesian"
    argType: BOOL
  }
  argDescriptor {
    name: "outArrs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "meta_postulate"
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "meta_predicate"
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "meta_predicate_inverted"
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "meta_reduce"
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "min_max_datatype"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dataType"
    argType: INT64
  }
  argDescriptor {
    name: "minOrMax"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "min_pairwise"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "minimum"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BROADCASTABLE_OP_IMPL
}
opList {
  name: "minimum_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "epsNext"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "gradX"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "gradY"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "mirror_pad"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "mode"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "paddings"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "isSymmetric"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "mish"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "mod"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BROADCASTABLE_OP_IMPL
}
opList {
  name: "mod_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "epsNext"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "gradX"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "gradY"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "moments"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "means"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "variances"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "mul_scalar"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "multi_head_dot_product_attention"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "normalization"
    argType: INT64
  }
  argDescriptor {
    name: "weights"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "queries"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "keys"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "values"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "Wq"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "Wk"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "Wv"
    argType: INPUT_TENSOR
    argIndex: 5
  }
  argDescriptor {
    name: "Wo"
    argType: INPUT_TENSOR
    argIndex: 6
  }
  argDescriptor {
    name: "mask"
    argType: INPUT_TENSOR
    argIndex: 7
  }
  argDescriptor {
    name: "scaled"
    argType: BOOL
  }
  argDescriptor {
    name: "withWeights"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "multi_head_dot_product_attention_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "normalization"
    argType: INT64
  }
  argDescriptor {
    name: "queries"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "keys"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "values"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "Wq"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "Wk"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "Wv"
    argType: INPUT_TENSOR
    argIndex: 5
  }
  argDescriptor {
    name: "Wo"
    argType: INPUT_TENSOR
    argIndex: 6
  }
  argDescriptor {
    name: "eps"
    argType: INPUT_TENSOR
    argIndex: 7
  }
  argDescriptor {
    name: "mask"
    argType: INPUT_TENSOR
    argIndex: 8
  }
  argDescriptor {
    name: "scaled"
    argType: BOOL
  }
  argDescriptor {
    name: "dLdq"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "dLdk"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "dLdv"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "dLdWq"
    argType: OUTPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "dLdWk"
    argType: OUTPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "dLdWv"
    argType: OUTPUT_TENSOR
    argIndex: 5
  }
  argDescriptor {
    name: "dLdWo"
    argType: OUTPUT_TENSOR
    argIndex: 6
  }
}
opList {
  name: "multiply"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BROADCASTABLE_OP_IMPL
}
opList {
  name: "multiply_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "epsNext"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "gradX"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "gradY"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "nadam_updater"
  argDescriptor {
    name: "iteration"
    argType: INT64
  }
  argDescriptor {
    name: "gradient"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "initStateV"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "initStateM"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "lr"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "beta1"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "beta2"
    argType: INPUT_TENSOR
    argIndex: 5
  }
  argDescriptor {
    name: "epsilon"
    argType: INPUT_TENSOR
    argIndex: 6
  }
  argDescriptor {
    name: "dLr"
    argType: DOUBLE
  }
  argDescriptor {
    name: "dBeta1"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "dBeta2"
    argType: DOUBLE
    argIndex: 2
  }
  argDescriptor {
    name: "dEpsilon"
    argType: DOUBLE
    argIndex: 3
  }
  argDescriptor {
    name: "update"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "stateV"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "stateM"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "neg"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "nesterovs_updater"
  argDescriptor {
    name: "gradient"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "initState"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "lr"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "momentum"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "dLr"
    argType: DOUBLE
  }
  argDescriptor {
    name: "dMomentum"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "update"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "stateV"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "next_iteration"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "frameName"
    argType: STRING
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "non_max_suppression"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "maxOutputSize"
    argType: INT64
  }
  argDescriptor {
    name: "boxes"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "scales"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "maxOutputSize"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "overlayThreshold"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "scoreThreshold"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "iouThreshold"
    argType: DOUBLE
  }
  argDescriptor {
    name: "scoreThreshold"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "non_max_suppression_overlaps"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "maxOutputSize"
    argType: INT64
  }
  argDescriptor {
    name: "boxes"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "scales"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "maxOutSize"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "iouThreshold"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "scoreThreshold"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "overlapThreshold"
    argType: DOUBLE
  }
  argDescriptor {
    name: "scoreThreshold"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "non_max_suppression_v3"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "maxOutputSize"
    argType: INT64
  }
  argDescriptor {
    name: "boxes"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "scales"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "maxOutSize"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "iouThreshold"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "scoreThreshold"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "noop"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: OP_IMPL
}
opList {
  name: "norm"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "mode"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: REDUCTION_OP_IMPL
}
opList {
  name: "normalize_moments"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "counts"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "means"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "variances"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "shift"
    argType: DOUBLE
  }
  argDescriptor {
    name: "resMeans"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "resVariances"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "not"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "comparable"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "not_equals"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BROADCASTABLE_BOOL_OP_IMPL
}
opList {
  name: "not_scalar"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "notequals_scalar"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "nth_element"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "reverse"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "n"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "reverse"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "old_assign"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "onehot"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "depth"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "depth"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "on"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "off"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "on"
    argType: DOUBLE
  }
  argDescriptor {
    name: "off"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "oneminus"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "ones_as"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "or"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "comparable"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "or_scalar"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "order"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "pad"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "mode"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "paddings"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "padValue"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "parallel_stack"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "i"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "percentile"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "q"
    argType: DOUBLE
  }
  argDescriptor {
    name: "interpolation"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: DOUBLE
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "permute"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "reverseDims"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "permuteDims"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "pick_list"
  argDescriptor {
    name: "list"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "ia"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  opDeclarationType: LIST_OP_IMPL
}
opList {
  name: "pnormpool2d"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "kY"
    argType: INT64
  }
  argDescriptor {
    name: "kX"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "sY"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "sX"
    argType: INT64
    argIndex: 3
  }
  argDescriptor {
    name: "pY"
    argType: INT64
    argIndex: 4
  }
  argDescriptor {
    name: "pX"
    argType: INT64
    argIndex: 5
  }
  argDescriptor {
    name: "dY"
    argType: INT64
    argIndex: 6
  }
  argDescriptor {
    name: "dX"
    argType: INT64
    argIndex: 7
  }
  argDescriptor {
    name: "isSameMode"
    argType: INT64
    argIndex: 8
  }
  argDescriptor {
    name: "extraParam0"
    argType: INT64
    argIndex: 9
  }
  argDescriptor {
    name: "isNCHW"
    argType: INT64
    argIndex: 10
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "pnormpool2d_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "kH"
    argType: INT64
  }
  argDescriptor {
    name: "kW"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "sH"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "sW"
    argType: INT64
    argIndex: 3
  }
  argDescriptor {
    name: "pH"
    argType: INT64
    argIndex: 4
  }
  argDescriptor {
    name: "pW"
    argType: INT64
    argIndex: 5
  }
  argDescriptor {
    name: "dH"
    argType: INT64
    argIndex: 6
  }
  argDescriptor {
    name: "dW"
    argType: INT64
    argIndex: 7
  }
  argDescriptor {
    name: "isSameMode"
    argType: INT64
    argIndex: 8
  }
  argDescriptor {
    name: "pnorm"
    argType: INT64
    argIndex: 9
  }
  argDescriptor {
    name: "isNCHW"
    argType: INT64
    argIndex: 10
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "gradO"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "eps"
    argType: DOUBLE
  }
  argDescriptor {
    name: "gradI"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "pointwise_conv2d"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "isNCHW"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "bias"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "polygamma"
  argDescriptor {
    name: "n"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "pooling3dpool3dnew_bp"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inputArrays"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "pow"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "pow"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "pow"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "pow_pairwise"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "precise_gelu"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "precise"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "prelu"
  argDescriptor {
    name: "sharedAxes"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "alpha"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "prelu_bp"
  argDescriptor {
    name: "sharedAxes"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "alpha"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "dLdO"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "dLdI"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "dLdA"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "dLdI"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "dLdA"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "print_affinity"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "print_variable"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "message"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "printSpecial"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "probablistic_merge"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "probability"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "qr"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "fullMatrices"
    argType: BOOL
  }
  argDescriptor {
    name: "outputQ"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "outputR"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "random_bernoulli"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "f"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "random_crop"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "seed"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "shape"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "random_exponential"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "shape"
    argType: INT64
  }
  argDescriptor {
    name: "lambda"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "random_gamma"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "seed"
    argType: INT64
  }
  argDescriptor {
    name: "shape"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "alpha"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "beta"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "random_multinomial"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimC"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inputSamples"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "random_normal"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "random_poisson"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "seed"
    argType: INT64
  }
  argDescriptor {
    name: "shape"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "lambda"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "random_shuffle"
  argDescriptor {
    name: "seeds"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: OP_IMPL
}
opList {
  name: "randomnormal"
  argDescriptor {
    name: "shape"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "mean"
    argType: DOUBLE
  }
  argDescriptor {
    name: "stdev"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "randomuniform"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dtype"
    argType: INT64
  }
  argDescriptor {
    name: "seed"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "shape"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "min"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "max"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "min"
    argType: DOUBLE
  }
  argDescriptor {
    name: "max"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "range"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "from"
    argType: INT64
  }
  argDescriptor {
    name: "to"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "step"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "from"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "to"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "step"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "from"
    argType: DOUBLE
  }
  argDescriptor {
    name: "to"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "step"
    argType: DOUBLE
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "rank"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "rational_tanh"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "rational_tanh_derivative"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "rationaltanh"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "rationaltanh_bp"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "epsilon"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "rdiv_scalar"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "read_list"
  argDescriptor {
    name: "importDataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "index"
    argType: INT64
  }
  argDescriptor {
    name: "list"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "vec"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LIST_OP_IMPL
}
opList {
  name: "realdiv"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BROADCASTABLE_OP_IMPL
}
opList {
  name: "realdiv_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "epsNext"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "gradX"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "gradY"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "rectified_tanh"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "rectified_tanh_derivative"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "rectifiedtanh"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "rectifiedtanh_bp"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "epsilon"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "reduce_dot_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "gradO"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "outputY"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "gradX"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "gradY"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "reduce_logsumexp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: DOUBLE
  }
  argDescriptor {
    name: "keepDim"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "reduce_max"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "reduce_max_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "gradO"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "output1"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "output2"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "gradI"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "reduce_mean"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "reduce_mean_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "gradO"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "output1"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "output2"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "gradI"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "reduce_min"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "reduce_min_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "gradO"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "output1"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "output2"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "gradI"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "reduce_norm1"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "reduce_norm1_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "gradO"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "output1"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "output2"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "gradI"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "reduce_norm2"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "reduce_norm2_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "gradO"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "output1"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "output2"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "gradI"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "reduce_norm_max"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "reduce_norm_max_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "gradO"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "output1"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "output2"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "gradI"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "reduce_normmax"
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "reduce_prod"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "reduce_prod_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "gradO"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "output1"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "output2"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "gradI"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "reduce_sqnorm"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "gradI"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "reduce_sqnorm_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "gradO"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "output1"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "output2"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "gradI"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "reduce_stdev"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: DOUBLE
  }
  argDescriptor {
    name: "biasCorrected"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "reduce_stdev_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "gradO"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "output1"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "output2"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "keepDims"
    argType: DOUBLE
  }
  argDescriptor {
    name: "biasCorrected"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "biasCorrected"
    argType: BOOL
  }
  argDescriptor {
    name: "gradI"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "reduce_sum"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "reduce_sum_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "gradO"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "gradI"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "reduce_variance"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: DOUBLE
  }
  argDescriptor {
    name: "biasCorrected"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "reduce_variance_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "gradO"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "output1"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "output2"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "keepDims"
    argType: DOUBLE
  }
  argDescriptor {
    name: "biasCorrected"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "biasCorrected"
    argType: BOOL
  }
  argDescriptor {
    name: "gradI"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "relu"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "cutoff"
    argType: DOUBLE
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "relu6"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "cutoff"
    argType: DOUBLE
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "relu6_bp"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "gradO"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "cutoff"
    argType: DOUBLE
  }
  argDescriptor {
    name: "gradI"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "relu_bp"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "epsilon"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "scalar"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "relu_layer"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "w"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "b"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "remainder"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "remainder_scalar"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "repeat"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "replace_nans"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "set"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "reshape"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "shapeArr"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "shape"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "reshapeas"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "resize_area"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "height"
    argType: INT64
  }
  argDescriptor {
    name: "width"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "image"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "size"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "alignCorners"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "resize_bicubic"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "image"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "newImageSize"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "alignCorners"
    argType: BOOL
  }
  argDescriptor {
    name: "alignPixelCenters"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "resize_bilinear"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "height"
    argType: INT64
  }
  argDescriptor {
    name: "width"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "image"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "newImageSize"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "alignCorners"
    argType: BOOL
  }
  argDescriptor {
    name: "halfPixelCenters"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "resize_images"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "image"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "size"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "methodT"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "alignCorners"
    argType: BOOL
  }
  argDescriptor {
    name: "preserveAspectRatio"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "resize_nearest_neighbor"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "height"
    argType: INT64
  }
  argDescriptor {
    name: "width"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "image"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "newImageSize"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "alignCorners"
    argType: BOOL
  }
  argDescriptor {
    name: "halfPixelCenter"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "restorev2"
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "reverse"
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "reverse_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "grad"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "eps"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "reverse_sequence"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "seqDim"
    argType: INT64
  }
  argDescriptor {
    name: "batchDim"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "seqLengths"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "reverse_v2"
  argDescriptor {
    name: "isLegacy"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "reversedivide"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BROADCASTABLE_OP_IMPL
}
opList {
  name: "reversedivide_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "epsNext"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "gradX"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "gradY"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "reversemod"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BROADCASTABLE_OP_IMPL
}
opList {
  name: "reversemod_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "epsNext"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "gradX"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "gradY"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "reversesubtract"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BROADCASTABLE_OP_IMPL
}
opList {
  name: "reversesubtract_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "epsNext"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "gradX"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "gradY"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "rgb_to_grs"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimC"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "rgb_to_hsv"
  argDescriptor {
    name: "dimC"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "rgb_to_yiq"
  argDescriptor {
    name: "dimC"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "rgb_to_yuv"
  argDescriptor {
    name: "dimC"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "rint"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: OP_IMPL
}
opList {
  name: "rms_prop_updater"
  argDescriptor {
    name: "gradient"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "initState"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "lr"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "rmsDecay"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "epsilon"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "dLr"
    argType: DOUBLE
  }
  argDescriptor {
    name: "dRmsDecay"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "dEpsilon"
    argType: DOUBLE
    argIndex: 2
  }
  argDescriptor {
    name: "update"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "stateG"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "roll"
  argDescriptor {
    name: "shift"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "shiftsI"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "round"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "rshift_bits"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BROADCASTABLE_OP_IMPL
}
opList {
  name: "rsqrt"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "rsub_scalar"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "savev2"
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "scalar_min"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "scatter_add"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "indices"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "updates"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "lock"
    argType: BOOL
  }
  argDescriptor {
    name: "checkIndices"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: OP_IMPL
}
opList {
  name: "scatter_div"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "indices"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "updates"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "lock"
    argType: BOOL
  }
  argDescriptor {
    name: "checkIndices"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: OP_IMPL
}
opList {
  name: "scatter_list"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "list"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "array"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "sizes"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LIST_OP_IMPL
}
opList {
  name: "scatter_max"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "indices"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "updates"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "lock"
    argType: BOOL
  }
  argDescriptor {
    name: "checkIndices"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: OP_IMPL
}
opList {
  name: "scatter_min"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "indices"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "updates"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "lock"
    argType: BOOL
  }
  argDescriptor {
    name: "checkIndices"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: OP_IMPL
}
opList {
  name: "scatter_mul"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "indices"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "updates"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "lock"
    argType: BOOL
  }
  argDescriptor {
    name: "checkIndices"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: OP_IMPL
}
opList {
  name: "scatter_nd"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "indices"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "updates"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "shape"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "lock"
    argType: BOOL
  }
  argDescriptor {
    name: "checkIndices"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "scatter_nd_add"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "indices"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "updates"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "lock"
    argType: BOOL
  }
  argDescriptor {
    name: "checkIndices"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: OP_IMPL
}
opList {
  name: "scatter_nd_sub"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "indices"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "updates"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "lock"
    argType: BOOL
  }
  argDescriptor {
    name: "checkIndices"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: OP_IMPL
}
opList {
  name: "scatter_nd_update"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "indices"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "updates"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "lock"
    argType: BOOL
  }
  argDescriptor {
    name: "checkIndices"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: OP_IMPL
}
opList {
  name: "scatter_sub"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "indices"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "updates"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "lock"
    argType: BOOL
  }
  argDescriptor {
    name: "checkIndices"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: OP_IMPL
}
opList {
  name: "scatter_upd"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "indices"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "updates"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "lock"
    argType: BOOL
  }
  argDescriptor {
    name: "checkIndices"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: OP_IMPL
}
opList {
  name: "scatter_update"
  argDescriptor {
    name: "operand"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "updates"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "indices"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "sconv2d"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "kH"
    argType: INT64
  }
  argDescriptor {
    name: "kW"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "sH"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "sW"
    argType: INT64
    argIndex: 3
  }
  argDescriptor {
    name: "pH"
    argType: INT64
    argIndex: 4
  }
  argDescriptor {
    name: "pW"
    argType: INT64
    argIndex: 5
  }
  argDescriptor {
    name: "dH"
    argType: INT64
    argIndex: 6
  }
  argDescriptor {
    name: "dW"
    argType: INT64
    argIndex: 7
  }
  argDescriptor {
    name: "isSameMode"
    argType: INT64
    argIndex: 8
  }
  argDescriptor {
    name: "isNCHW"
    argType: INT64
    argIndex: 9
  }
  argDescriptor {
    name: "*input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "*weightsDepth"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "weightsPoint"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "bias"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "*output"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "sconv2d_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "kH"
    argType: INT64
  }
  argDescriptor {
    name: "kW"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "sH"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "sW"
    argType: INT64
    argIndex: 3
  }
  argDescriptor {
    name: "pH"
    argType: INT64
    argIndex: 4
  }
  argDescriptor {
    name: "pW"
    argType: INT64
    argIndex: 5
  }
  argDescriptor {
    name: "dH"
    argType: INT64
    argIndex: 6
  }
  argDescriptor {
    name: "dW"
    argType: INT64
    argIndex: 7
  }
  argDescriptor {
    name: "isSameMode"
    argType: INT64
    argIndex: 8
  }
  argDescriptor {
    name: "isNCHW"
    argType: INT64
    argIndex: 9
  }
  argDescriptor {
    name: "*input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "*gradO"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "*weightsDepth"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "bias"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "*gradI"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "*gradWD"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "gradWP"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "gradB"
    argType: OUTPUT_TENSOR
    argIndex: 3
  }
}
opList {
  name: "segment_max"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "idxSegments"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "segmentedOutput"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "segment_max_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "indices"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "gradOut"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "outIndices"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "segment_mean"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "idxSegments"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "segmentedOutput"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "segment_mean_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "indices"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "gradOut"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "outIndices"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "segment_min"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "idxSegments"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "segmentedOutput"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "segment_min_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "indices"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "gradOut"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "outIndices"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "segment_prod"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "idxSegments"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "segmentedOutput"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "segment_prod_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "indices"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "gradOut"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "outIndices"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "segment_sum"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "idxSegments"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "segmentedOutput"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "segment_sum_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "data"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "segmentIds"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "gradient"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "select"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "cond"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "selu"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "selu_bp"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "epsilon"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "seluderivative"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "sequence_mask"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "maxInd"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "maxlen"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "is_static_maxlen"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "set"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "set_scalar"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "set_seed"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "seed"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "set_shape"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "shape"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "setrange"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "min"
    argType: DOUBLE
  }
  argDescriptor {
    name: "max"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "setvalorless_scalar"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "sgd_updater"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "lr"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "lr"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "shannonentropy"
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "shape_of"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "shapes_of"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "shift_bits"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BROADCASTABLE_OP_IMPL
}
opList {
  name: "sigm_cross_entropy_loss"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "lossReduce"
    argType: INT64
  }
  argDescriptor {
    name: "logits"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "labels"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "labelsSmoothing"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "sigm_cross_entropy_loss_grad"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "lossReduce"
    argType: INT64
  }
  argDescriptor {
    name: "logits"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "labels"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "labelSmoothing"
    argType: DOUBLE
  }
  argDescriptor {
    name: "dLdp"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "dLdw"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "dLdl"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
}
opList {
  name: "sigmoid"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "sigmoid_bp"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "epsilon"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "sign"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "sin"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "sinh"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "size"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "size_at"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "size_list"
  argDescriptor {
    name: "list"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LIST_OP_IMPL
}
opList {
  name: "skipgram"
  argDescriptor {
    name: "numWorkers"
    argType: INT64
  }
  argDescriptor {
    name: "nsRounds"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "target"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "ngStarter"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "indices"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "codes"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "syn0"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "syn1"
    argType: INPUT_TENSOR
    argIndex: 5
  }
  argDescriptor {
    name: "syn1neg"
    argType: INPUT_TENSOR
    argIndex: 6
  }
  argDescriptor {
    name: "expTable"
    argType: INPUT_TENSOR
    argIndex: 7
  }
  argDescriptor {
    name: "negTable"
    argType: INPUT_TENSOR
    argIndex: 8
  }
  argDescriptor {
    name: "alpha"
    argType: INPUT_TENSOR
    argIndex: 9
  }
  argDescriptor {
    name: "randomValue"
    argType: INPUT_TENSOR
    argIndex: 10
  }
  argDescriptor {
    name: "inferenceVector"
    argType: INPUT_TENSOR
    argIndex: 11
  }
  argDescriptor {
    name: "isInference"
    argType: BOOL
  }
  argDescriptor {
    name: "isPreciseMode"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "slice"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "size"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "b"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "e"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "slice_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "size"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "b"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "e"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "epsNext"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "softmax"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimension"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "softmax_bp"
  argDescriptor {
    name: "dimension"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "gradO"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "gradI"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "softmax_cross_entropy_loss"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "lossReduce"
    argType: INT64
  }
  argDescriptor {
    name: "logits"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "labels"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "labelsSmoothing"
    argType: DOUBLE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "softmax_cross_entropy_loss_grad"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "lossReduce"
    argType: INT64
  }
  argDescriptor {
    name: "logits"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "labels"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "labelsSmoothing"
    argType: DOUBLE
  }
  argDescriptor {
    name: "dLdp"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "dLdw"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "dLdl"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
}
opList {
  name: "softmax_cross_entropy_loss_with_logits"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "classesDim"
    argType: INT64
  }
  argDescriptor {
    name: "logits"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "labels"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "softmax_cross_entropy_loss_with_logits_grad"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "classesDim"
    argType: INT64
  }
  argDescriptor {
    name: "logits"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "labels"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "dLdl"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "softplus"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "softplus_bp"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "epsilon"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "softsign"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "softsign_bp"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "epsilon"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "softsignderivative"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "solve"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "a"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "b"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "adjoint"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "useAdjoint"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "solve_ls"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "a"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "b"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "l2_factor"
    argType: DOUBLE
  }
  argDescriptor {
    name: "fastFlag"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "somepoolingpool2d"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "somepoolingpool2d_bp"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "grad"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "space_to_batch"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "blockSize"
    argType: INT64
  }
  argDescriptor {
    name: "paddingTop"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "paddingBottom"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "padding"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "space_to_batch_nd"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "blocks"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "blockShape"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "padding"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "space_to_depth"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "block_size"
    argType: INT64
  }
  argDescriptor {
    name: "isNHWC"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "sparse_softmax_cross_entropy_loss_with_logits"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "labels"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "logits"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "sparse_softmax_cross_entropy_loss_with_logits_grad"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "labels"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "logits"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "dLdp"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "split"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "numSplit"
    argType: INT64
  }
  argDescriptor {
    name: "(block.numI()"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "a"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "b"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outArrs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "split_list"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "list"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "array"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "sizes"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LIST_OP_IMPL
}
opList {
  name: "split_string"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "delim"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "split_v"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "numSplit"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "sizes"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "_a"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "sqrt"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "sqrtm"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "square"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: OP_IMPL
}
opList {
  name: "squaredsubtract"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BROADCASTABLE_OP_IMPL
}
opList {
  name: "squaredsubtract_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "epsNext"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "gradX"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "gradY"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "squeeze"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "_a"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "a"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "sru"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "w"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "b"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "c0"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "mask"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "h"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "c"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "sruCell"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "xt"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "ct_1"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "w"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "b"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "ht"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "ct"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "sru_bi"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "w"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "b"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "c0"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "ht"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "ct"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "sru_bi_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "w"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "b"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "c0"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "ct"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "inGradC0"
    argType: INPUT_TENSOR
    argIndex: 5
  }
  argDescriptor {
    name: "inGradHt"
    argType: INPUT_TENSOR
    argIndex: 6
  }
  argDescriptor {
    name: "gradI"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "gradW"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "gradB"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "gradC0"
    argType: OUTPUT_TENSOR
    argIndex: 3
  }
}
opList {
  name: "sru_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "w"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "b"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "c0"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "c"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "inGradCt"
    argType: INPUT_TENSOR
    argIndex: 5
  }
  argDescriptor {
    name: "inGradH"
    argType: INPUT_TENSOR
    argIndex: 6
  }
  argDescriptor {
    name: "mask"
    argType: INPUT_TENSOR
    argIndex: 7
  }
  argDescriptor {
    name: "gradX"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "gradW"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "gradB"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "gradInit"
    argType: OUTPUT_TENSOR
    argIndex: 3
  }
}
opList {
  name: "stabilize"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "realMin"
    argType: DOUBLE
  }
  argDescriptor {
    name: "cutOff"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "k"
    argType: DOUBLE
    argIndex: 2
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "stack"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "i"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "stack_list"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "list"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LIST_OP_IMPL
}
opList {
  name: "standardize"
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "standardize_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "eps"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "static_bidirectional_rnn"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "WxFW"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "WhFW"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "bFW"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "WxBW"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "WhBW"
    argType: INPUT_TENSOR
    argIndex: 5
  }
  argDescriptor {
    name: "bBW"
    argType: INPUT_TENSOR
    argIndex: 6
  }
  argDescriptor {
    name: "maxTimeStep"
    argType: INPUT_TENSOR
    argIndex: 7
  }
  argDescriptor {
    name: "h0BW"
    argType: INPUT_TENSOR
    argIndex: 8
  }
  argDescriptor {
    name: "h"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "hFWFinal"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "hBWFinal"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
}
opList {
  name: "static_rnn"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "Wx"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "Wh"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "b"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "h0"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "h"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "hFinal"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "std"
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "mean"
    argType: DOUBLE
  }
  argDescriptor {
    name: "bias"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "biasCorrected"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "step"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "cutoff"
    argType: DOUBLE
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "stop_gradient"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: OP_IMPL
}
opList {
  name: "strided_slice"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "begin_mask"
    argType: INT64
  }
  argDescriptor {
    name: "ellipsis_mask"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "end_mask"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "new_axis_mask"
    argType: INT64
    argIndex: 3
  }
  argDescriptor {
    name: "shrink_axis_mask"
    argType: INT64
    argIndex: 4
  }
  argDescriptor {
    name: "e"
    argType: INT64
    argIndex: 5
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "v_begin"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "v_end"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "v_stride"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "strided_slice_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "begin_mask"
    argType: INT64
  }
  argDescriptor {
    name: "ellipsis_mask"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "end_mask"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "new_axis_mask"
    argType: INT64
    argIndex: 3
  }
  argDescriptor {
    name: "shrink_axis_mask"
    argType: INT64
    argIndex: 4
  }
  argDescriptor {
    name: "e"
    argType: INT64
    argIndex: 5
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "epsNext"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "v_begin"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "v_end"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "v_stride"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "sub_scalar"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "subtract"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BROADCASTABLE_OP_IMPL
}
opList {
  name: "subtract_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "epsNext"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "gradX"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "gradY"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "sufficient_statistics"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "dimensions"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "shift"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "dataCount"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "sum"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "squares"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "shift"
    argType: OUTPUT_TENSOR
    argIndex: 3
  }
}
opList {
  name: "svd"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "fullUV"
    argType: INT64
  }
  argDescriptor {
    name: "calcUV"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "switchNum"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "fullUV"
    argType: BOOL
  }
  argDescriptor {
    name: "computeUv"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "swish"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "switch"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "predicate"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "frameName"
    argType: STRING
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "tan"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "tanderivative"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "tanh"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "tanh_bp"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "epsilon"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "tear"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outE"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "tensorarraywritev3"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "tensordot"
  argDescriptor {
    name: "dimensionsY"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "transposeX"
    argType: BOOL
  }
  argDescriptor {
    name: "transposeY"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "transposeZ"
    argType: BOOL
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "tensormmul"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "axe0_size"
    argType: INT64
  }
  argDescriptor {
    name: "a"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "b"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "c"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "tensormmul_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "axe0Size"
    argType: INT64
  }
  argDescriptor {
    name: "A"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "B"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "dLdC"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "dldx"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "dldy"
    argType: INPUT_TENSOR
    argIndex: 4
  }
  argDescriptor {
    name: "dLdA"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "dLdB"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "test_output_reshape"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: OP_IMPL
}
opList {
  name: "test_scalar"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "testcustom"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "testop2i2o"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "xO"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "yO"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  opDeclarationType: OP_IMPL
}
opList {
  name: "testreduction"
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: REDUCTION_OP_IMPL
}
opList {
  name: "tf_atan2"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BROADCASTABLE_OP_IMPL
}
opList {
  name: "thresholdedrelu"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "cutoff"
    argType: DOUBLE
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "thresholdedrelu_bp"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "dLdO"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "cutoff"
    argType: DOUBLE
  }
  argDescriptor {
    name: "dLdI"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "tile"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "reps_vector"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "is_static_reps"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "tile_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "reps_vector"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "grad"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "gradI"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "tile_to_shape"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "tile_to_shape_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "epsNext"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "gradX"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "timesoneminus"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "to_double"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "to_float16"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "to_float32"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "to_int32"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "to_int64"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "to_uint32"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "to_uint64"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "toggle_bits"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: OP_IMPL
}
opList {
  name: "top_k"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "k"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "k"
    argType: DOUBLE
  }
  argDescriptor {
    name: "needSort"
    argType: BOOL
  }
  argDescriptor {
    name: "values"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "indices"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "trace"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "transpose"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "permuteDims"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "permutationVector"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "tri"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "row"
    argType: INT64
  }
  argDescriptor {
    name: "column"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "diag"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "triangular_solve"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "a"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "b"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "lower"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "adjoint"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "isLower"
    argType: BOOL
  }
  argDescriptor {
    name: "useAdjoint"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "triu"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "diag"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "triu_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "diag"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "gradO"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "gradI"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "truncatediv"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: BROADCASTABLE_OP_IMPL
}
opList {
  name: "unique"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "values"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "indices"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
}
opList {
  name: "unique_with_counts"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "values"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "indices"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "counts"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
}
opList {
  name: "unsorted_segment_max"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "numOfClasses"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "idxSegments"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "numSegments"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "segmentedOutput"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "unsorted_segment_max_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "numSegments"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "idxSegments"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "numSegments"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "unsorted_segment_mean"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "numOfClasses"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "idxSegments"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "numSegments"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "segmentedOutput"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "unsorted_segment_mean_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "numSegments"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "idxSegments"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "numSegments"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "unsorted_segment_min"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "numSegments"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "idxSegments"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "numSegments"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "segmentedOutput"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "unsorted_segment_min_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "numSegments"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "idxSegments"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "numSegments"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "unsorted_segment_prod"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "numSegments"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "idxSegments"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "numSegments"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "segmentedOutput"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "unsorted_segment_prod_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "numSegments"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "idxSegments"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "numSegments"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "unsorted_segment_sqrt_n"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "numSegments"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "idxSegments"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "numSegments"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "segmentedOutput"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "unsorted_segment_sqrt_n_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "numSegments"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "idxSegments"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "numSegments"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "unsorted_segment_sum"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "numSegments"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "idxSegments"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "numSegments"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "segmentedOutput"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "unsorted_segment_sum_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "numSegments"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "idxSegments"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "numSegments"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "unstack"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "num"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "i"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "unstack_list"
  argDescriptor {
    name: "outputList"
    argType: INPUT_TENSOR
  }
  opDeclarationType: LIST_OP_IMPL
}
opList {
  name: "upsampling2d"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "factorH"
    argType: INT64
  }
  argDescriptor {
    name: "factorW"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "isNCHW"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "nchw"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "upsampling2d_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "scaleW"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "gradient"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "nchw"
    argType: BOOL
  }
  argDescriptor {
    name: "gradI"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "upsampling3d"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "factorD"
    argType: INT64
  }
  argDescriptor {
    name: "factorH"
    argType: INT64
    argIndex: 1
  }
  argDescriptor {
    name: "factorW"
    argType: INT64
    argIndex: 2
  }
  argDescriptor {
    name: "isNCDHW"
    argType: INT64
    argIndex: 3
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "ncdhw"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "upsampling3d_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "isNCDHW"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "gradO"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "ncdhw"
    argType: BOOL
  }
  argDescriptor {
    name: "gradI"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "var"
  argDescriptor {
    name: "dimensions"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "mean"
    argType: DOUBLE
  }
  argDescriptor {
    name: "bias"
    argType: DOUBLE
    argIndex: 1
  }
  argDescriptor {
    name: "keepDims"
    argType: BOOL
  }
  argDescriptor {
    name: "biasCorrected"
    argType: BOOL
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "weighted_cross_entropy_with_logits"
  argDescriptor {
    name: "lossReduce"
    argType: INT64
  }
  argDescriptor {
    name: "targets"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: OP_IMPL
}
opList {
  name: "where_np"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "condition"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "write_list"
  argDescriptor {
    name: "idx"
    argType: INT64
  }
  argDescriptor {
    name: "list"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LIST_OP_IMPL
}
opList {
  name: "xor"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "y"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "comparable"
    argType: DOUBLE
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "xor_scalar"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: LEGACY_XYZ
}
opList {
  name: "xw_plus_b"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "bTranspose"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "weights"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "b"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "xw_plus_b_bp"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "bTranspose"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "w"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "b"
    argType: INPUT_TENSOR
    argIndex: 2
  }
  argDescriptor {
    name: "dLdz"
    argType: INPUT_TENSOR
    argIndex: 3
  }
  argDescriptor {
    name: "dLdx"
    argType: OUTPUT_TENSOR
  }
  argDescriptor {
    name: "dLdw"
    argType: OUTPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "dLdb"
    argType: OUTPUT_TENSOR
    argIndex: 2
  }
}
opList {
  name: "yiq_to_rgb"
  argDescriptor {
    name: "dimC"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "yuv_to_rgb"
  argDescriptor {
    name: "dimC"
    argType: INT64
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "zero_fraction"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "zeros_as"
  argDescriptor {
    name: "dtype"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "zeros_like"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "zeroslike"
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
}
opList {
  name: "zeta"
  argDescriptor {
    name: "dataType"
    argType: DATA_TYPE
  }
  argDescriptor {
    name: "input"
    argType: INPUT_TENSOR
  }
  argDescriptor {
    name: "q"
    argType: INPUT_TENSOR
    argIndex: 1
  }
  argDescriptor {
    name: "inPlace"
    argType: BOOL
  }
  argDescriptor {
    name: "outputs"
    argType: OUTPUT_TENSOR
  }
  opDeclarationType: CONFIGURABLE_OP_IMPL
}
opList {
  name: "placeholder"
  opDeclarationType: LOGIC_OP_IMPL
}