backend_opset_version = { 'Abs': [1, 6], 'Acos': [7], 'Acosh': [9], 'Adagrad': [], 'Adam': [], 'Add': [1, 6, 7], 'And': [1, 7], 'ArgMax': [1, 11, 12], 'ArgMin': [1, 11, 12], 'ArrayFeatureExtractor': [], 'Asin': [7], 'Asinh': [9], 'Atan': [7], 'Atanh': [9], 'AveragePool': [1, 7, 10, 11], 'BatchNormalization': [1, 6, 7, 9], 'Binarizer': [], 'BitShift': [11], 'Cast': [1, 6, 9], 'CastMap': [], 'CategoryMapper': [], 'Ceil': [1, 6], 'Celu': [], 'Clip': [1, 6, 11, 12], 'Compress': [9, 11], 'Concat': [1, 4, 11], 'ConcatFromSequence': [], 'Constant': [1, 9, 11, 12], 'ConstantFill': [1], 'ConstantOfShape': [9], 'Conv': [1, 11], 'ConvInteger': [10], 'ConvTranspose': [1, 11], 'Cos': [7], 'Cosh': [9], 'CumSum': [11], 'DepthToSpace': [1, 11], 'DequantizeLinear': [10], 'Det': [11], 'DictVectorizer': [], 'Div': [1, 6, 7], 'Dropout': [1, 6, 7, 10], 'DynamicQuantizeLinear': [11], 'Einsum': [], 'Elu': [1, 6], 'Equal': [1, 7, 11], 'Erf': [9], 'Exp': [1, 6], 'Expand': [8], 'EyeLike': [9], 'FeatureVectorizer': [], 'Flatten': [1, 9, 11], 'Floor': [1, 6], 'GRU': [1, 3, 7], 'Gather': [1, 11], 'GatherElements': [11], 'GatherND': [11], 'Gemm': [1, 6, 7, 9, 11], 'GlobalAveragePool': [1], 'GlobalLpPool': [1, 2], 'GlobalMaxPool': [1], 'Gradient': [], 'GraphCall': [], 'Greater': [1, 7, 9], 'GreaterOrEqual': [], 'HardSigmoid': [1, 6], 'Hardmax': [1, 11], 'Identity': [1], 'If': [1, 11], 'ImageScaler': [1], 'Imputer': [], 'InstanceNormalization': [1, 6], 'IsInf': [10], 'IsNaN': [9], 'LRN': [1], 'LSTM': [1, 7], 'LabelEncoder': [], 'LeakyRelu': [1, 6], 'Less': [1, 7, 9], 'LessOrEqual': [], 'LinearClassifier': [], 'LinearRegressor': [], 'Log': [1, 6], 'LogSoftmax': [1, 11], 'Loop': [1, 11], 'LpNormalization': [1], 'LpPool': [1, 2, 11], 'MatMul': [1, 9], 'MatMulInteger': [10], 'Max': [1, 6, 8], 'MaxPool': [1, 8, 10, 11, 12], 'MaxRoiPool': [], 'MaxUnpool': [9, 11], 'Mean': [1, 6, 8], 'MeanVarianceNormalization': [1, 9], 'Min': [1, 6, 8], 'Mod': [10], 'Momentum': [], 'Mul': [1, 6, 7], 'Multinomial': [], 'Neg': [1, 6], 'NegativeLogLikelihoodLoss': [], 'NonMaxSuppression': [10, 11], 'NonZero': [9], 'Normalizer': [], 'Not': [1], 'OneHot': [9, 11], 'OneHotEncoder': [], 'Or': [1, 7], 'PRelu': [1, 6, 7, 9], 'Pad': [1, 2, 11], 'Pow': [1, 7], 'QLinearConv': [10], 'QLinearMatMul': [10], 'QuantizeLinear': [10], 'RNN': [1, 7], 'RandomNormal': [1], 'RandomNormalLike': [1], 'RandomUniform': [1], 'RandomUniformLike': [1], 'Range': [11], 'Reciprocal': [1, 6], 'ReduceL1': [1, 11], 'ReduceL2': [1, 11], 'ReduceLogSum': [1, 11], 'ReduceLogSumExp': [1, 11], 'ReduceMax': [1, 11, 12], 'ReduceMean': [1, 11], 'ReduceMin': [1, 11, 12], 'ReduceProd': [1, 11], 'ReduceSum': [1, 11], 'ReduceSumSquare': [1, 11], 'Relu': [1, 6], 'Reshape': [1, 5], 'Resize': [10, 11], 'ReverseSequence': [10], 'RoiAlign': [], 'Round': [11], 'SVMClassifier': [], 'SVMRegressor': [], 'Scaler': [], 'Scan': [8, 9, 11], 'Scatter': [9], 'ScatterElements': [11], 'ScatterND': [11], 'Selu': [1, 6], 'SequenceAt': [11], 'SequenceConstruct': [11], 'SequenceEmpty': [11], 'SequenceErase': [11], 'SequenceInsert': [11], 'SequenceLength': [11], 'Shape': [1], 'Shrink': [9], 'Sigmoid': [1, 6], 'Sign': [9], 'Sin': [7], 'Sinh': [9], 'Size': [1], 'Slice': [1, 10, 11], 'Softmax': [1, 11], 'SoftmaxCrossEntropyLoss': [], 'Softplus': [1], 'Softsign': [1], 'SpaceToDepth': [1], 'Split': [1, 2, 11], 'SplitToSequence': [], 'Sqrt': [1, 6], 'Squeeze': [1, 11], 'StringNormalizer': [], 'Sub': [1, 6, 7], 'Sum': [1, 6, 8], 'Tan': [7], 'Tanh': [1, 6], 'TfIdfVectorizer': [9], 'ThresholdedRelu': [1, 10], 'Tile': [1, 6], 'TopK': [1, 10, 11], 'Transpose': [1], 'TreeEnsembleClassifier': [], 'TreeEnsembleRegressor': [], 'Unique': [], 'Unsqueeze': [1, 11], 'Upsample': [7, 9], 'Where': [9], 'Xor': [1, 7], 'ZipMap': [] } backend_partial_support = { 'Cast': 'Cast string to float32/float64/int32/int64 are not supported in ' 'Tensorflow.', 'Clip': 'Clip input in uint64 is not supported in Tensorflow.', 'ConvTranspose': 'ConvTranspose with dilations != 1, or transposed ' 'convolution for 4D or higher are not supported in ' 'Tensorflow.', 'CumSum': 'CumSum inputs in uint32/uint64 are not supported in Tensorflow.', 'Equal': 'Equal inputs in uint16/uint32/uint64 are not supported in ' 'Tensorflow.', 'GRU': 'GRU with clip or GRU with linear_before_reset, or GRU not using ' 'sigmoid for z and r, or GRU using Elu as the activation function ' 'with alpha != 1, or GRU using HardSigmoid as the activation ' 'function with alpha != 0.2 or beta != 0.5 are not supported in ' 'TensorFlow.', 'LSTM': 'LSTM not using sigmoid for `f`, or LSTM not using the same ' 'activation for `g` and `h` are not supported in Tensorflow.', 'MaxPool': 'MaxPoolWithArgmax with pad is None or incompatible mode, or ' 'MaxPoolWithArgmax with 4D or higher input, orMaxPoolWithArgmax ' 'with column major are not supported in Tensorflow.', 'Mod': 'Mod Dividend or Divisor in int8/int16/uint8/uint16/uint32/uint64 ' 'are not supported in Tensorflow.', 'OneHot': 'OneHot indices in ' 'uint16/uint32/uint64/int8/int16/float16/float/double, or OneHot ' 'depth in ' 'uint8/uint16/uint32/uint64/int8/int16/int64/float16/float/double ' 'are not supported in Tensorflow.', 'RNN': 'RNN with clip is not supported in Tensorflow.', 'Resize': 'Resize required 4D input in Tensorflow. For opset 11, only the ' 'following attributes and inputs conbination are supported in ' 'Tensorflow:\n' '\t1. mode=nearest, ' 'coordinate_transformation_mode=align_corners, ' 'nearest_mode=round_prefer_ceil, can use scales(*) or sizes.\n' '\t2. mode=nearest, coordinate_transformation_mode=asymmetric, ' 'nearest_mode=floor, can use scales(*) or sizes.\n' '\t3. mode=nearest, ' 'coordinate_transformation_mode=tf_half_pixel_for_nn, ' 'nearest_mode=floor, can use scales(*) or sizes.\n' '\t4. mode=linear, coordinate_transformation_mode=align_corners, ' 'can use scales(*) or sizes.\n' '\t5. mode=linear, coordinate_transformation_mode=asymmetric, ' 'can use scales(*) or sizes.\n' '\t6. mode=linear, coordinate_transformation_mode=half_pixel, ' 'can use scales(*) or sizes.\n' '\t7. mode=cubic, coordinate_transformation_mode=align_corners, ' 'cubic_coeff_a=-0.5, exclude_outside=1, can use scales(*) or ' 'sizes.\n' '\t8. mode=cubic, coordinate_transformation_mode=asymmetric, ' 'cubic_coeff_a=-0.5, exclude_outside=1, can use scales(*) or ' 'sizes.\n' '\t9. mode=cubic, coordinate_transformation_mode=half_pixel, ' 'cubic_coeff_a=-0.5, exclude_outside=1, can use scales(*) or ' 'sizes.\n' '\t10. mode=nearest, ' 'coordinate_transformation_mode=tf_crop_and_resize, ' 'extrapolation_value=any_float_value, ' 'nearest_mode=round_prefer_ceil, can use scales or sizes.\n' '\t11. mode=linear, ' 'coordinate_transformation_mode=tf_crop_and_resize, ' 'extrapolation_value=any_float_value, can use scales or sizes.\n' '\t- Note (*): The accuracy of your model will go down, if the ' 'height and the width of the new sizes(scales * origial sizes) ' 'are not in whole numbers.', 'Upsample': 'Upsample required 4D input in Tensorflow.' }