diff --git a/mmdnn/conversion/common/IR/ops_extend.pbtxt b/mmdnn/conversion/common/IR/ops_extend.pbtxt new file mode 100644 index 00000000..2d712e32 --- /dev/null +++ b/mmdnn/conversion/common/IR/ops_extend.pbtxt @@ -0,0 +1,2756 @@ +op { + name: "Abs" + input_arg { + name: "X" + type_attr: "T" + description: "Input tensor" + } + output_arg { + name: "Y" + type_attr: "T" + description: "Output tensor" + } + summary: "Absolute takes one input data (Tensor) and produces one output data" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 6 of the default ONNX operator set." +} + + +op { + name: "Acos" + input_arg { + name: "input" + type_attr: "T" + description: "Input tensor" + } + output_arg { + name: "output" + type_attr: "T" + description: "The arccosine of the input tensor computed element-wise" + } + summary: "Calculates the arccosine (inverse of cosine) of the given input tensor, element-wise." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 7 of the default ONNX operator set." +} + + +op { + name: "Acosh" + input_arg { + name: "input" + type_attr: "T" + description: "Input tensor" + } + output_arg { + name: "output" + type_attr: "T" + description: "The hyperbolic arccosine values of the input tensor computed element-wise" + } + summary: "Calculates the hyperbolic arccosine of the given input tensor element-wise." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 9 of the default ONNX operator set." +} + + +op { + name: "And" + input_arg { + name: "A" + type_attr: "T" + description: "First input operand for the logical operator." + } + input_arg { + name: "B" + type_attr: "T" + description: "Second input operand for the logical operator." + } + output_arg { + name: "C" + type_attr: "T1" + description: "Result tensor." + } + summary: "Returns the tensor resulted from performing the `and` logical operation" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 7 of the default ONNX operator set." +} + + +op { + name: "ArgMax" + input_arg { + name: "data" + type_attr: "T" + description: "An input tensor." + } + output_arg { + name: "reduced" + type_attr: "tensor(int64)" + description: "Reduced output tensor with integer data type." + } + attr { + name: "axis" + type: "int" + description: "The axis in which to compute the arg indices." + } + attr { + name: "keepdims" + type: "int" + description: "Keep the reduced dimension or not, default 1 mean keep reduced dimension." + } + summary: "Computes the indices of the max elements of the input tensor's element along the " + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 1 of the default ONNX operator set." +} + + +op { + name: "ArgMin" + input_arg { + name: "data" + type_attr: "T" + description: "An input tensor." + } + output_arg { + name: "reduced" + type_attr: "tensor(int64)" + description: "Reduced output tensor with integer data type." + } + attr { + name: "axis" + type: "int" + description: "The axis in which to compute the arg indices." + } + attr { + name: "keepdims" + type: "int" + description: "Keep the reduced dimension or not, default 1 mean keep reduced dimension." + } + summary: "Computes the indices of the min elements of the input tensor's element along the " + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 1 of the default ONNX operator set." +} + + +op { + name: "Asin" + input_arg { + name: "input" + type_attr: "T" + description: "Input tensor" + } + output_arg { + name: "output" + type_attr: "T" + description: "The arcsine of the input tensor computed element-wise" + } + summary: "Calculates the arcsine (inverse of sine) of the given input tensor, element-wise." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 7 of the default ONNX operator set." +} + + +op { + name: "Asinh" + input_arg { + name: "input" + type_attr: "T" + description: "Input tensor" + } + output_arg { + name: "output" + type_attr: "T" + description: "The hyperbolic arcsine values of the input tensor computed element-wise" + } + summary: "Calculates the hyperbolic arcsine of the given input tensor element-wise." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 9 of the default ONNX operator set." +} + + +op { + name: "Atan" + input_arg { + name: "input" + type_attr: "T" + description: "Input tensor" + } + output_arg { + name: "output" + type_attr: "T" + description: "The arctangent of the input tensor computed element-wise" + } + summary: "Calculates the arctangent (inverse of tangent) of the given input tensor, element-wise." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 7 of the default ONNX operator set." +} + + +op { + name: "Atanh" + input_arg { + name: "input" + type_attr: "T" + description: "Input tensor" + } + output_arg { + name: "output" + type_attr: "T" + description: "The hyperbolic arctangent values of the input tensor computed element-wise" + } + summary: "Calculates the hyperbolic arctangent of the given input tensor element-wise." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 9 of the default ONNX operator set." +} + + +op { + name: "Cast" + input_arg { + name: "input" + type_attr: "T1" + description: "Input tensor to be cast." + } + output_arg { + name: "output" + type_attr: "T2" + description: "Output tensor with the same shape as input with type specified by the 'to' argument" + } + attr { + name: "to" + type: "int" + description: "The data type to which the elements of the input tensor are cast. Strictly must be one of the types from DataType enum in TensorProto" + } + summary: "The operator casts the elements of a given input tensor to a data type" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 9 of the default ONNX operator set." +} + + +op { + name: "Ceil" + input_arg { + name: "X" + type_attr: "T" + description: "Input tensor" + } + output_arg { + name: "Y" + type_attr: "T" + description: "Output tensor" + } + summary: "Ceil takes one input data (Tensor) and produces one output data" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 6 of the default ONNX operator set." +} + + +op { + name: "Clip" + input_arg { + name: "input" + type_attr: "T" + description: "Input tensor whose elements to be clipped" + } + output_arg { + name: "output" + type_attr: "T" + description: "Output tensor with clipped input elements" + } + attr { + name: "max" + type: "float" + description: "Maximum value, above which element is replaced by max" + } + attr { + name: "min" + type: "float" + description: "Minimum value, under which element is replaced by min" + } + summary: "Clip operator limits the given input within an interval. The interval is" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 6 of the default ONNX operator set." +} + + +op { + name: "Compress" + input_arg { + name: "input" + type_attr: "T" + description: "Tensor of rank r >= 1." + } + input_arg { + name: "condition" + type_attr: "T1" + description: "Rank 1 tensor of booleans to indicate which slices or data elements to be selected. Its length can be less than the input length alone the axis or the flattened input size if axis is not specified. In such cases data slices or elements exceeding the condition length are discarded." + } + output_arg { + name: "output" + type_attr: "T" + description: "Tensor of rank r if axis is specified. Otherwise output is a Tensor of rank 1." + } + attr { + name: "axis" + type: "int" + description: "(Optional) Axis along which to take slices. If not specified, input is flattened before elements being selected." + } + summary: "Selects slices from an input tensor along a given axis where condition evaluates to True for each axis index." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 9 of the default ONNX operator set." +} + + +op { + name: "Constant" + output_arg { + name: "output" + type_attr: "T" + description: "Output tensor containing the same value of the provided tensor." + } + attr { + name: "value" + type: "tensor" + description: "The value for the elements of the output tensor." + } + summary: "A constant tensor." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 9 of the default ONNX operator set." +} + + +op { + name: "ConstantOfShape" + input_arg { + name: "input" + type_attr: "T1" + description: "1D tensor. The shape of the expected output tensor. If empty tensor is given, the output would be a scalar." + } + output_arg { + name: "output" + type_attr: "T2" + description: "Output tensor of shape specified by 'input'.If attribute 'value' is specified, the value and datatype of the output tensor is taken from 'value'.If attribute 'value' is not specified, the value in the output defaults to 0, and the datatype defaults to float32." + } + attr { + name: "value" + type: "tensor" + description: "(Optional) The value of the output elements.Should be a one-element tensor. If not specified, it defaults to a tensor of value 0 and datatype float32" + } + summary: "Generate a tensor with given value and shape." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 9 of the default ONNX operator set." +} + + +op { + name: "ConvInteger" + input_arg { + name: "x" + type_attr: "T1" + description: "Input data tensor from previous layer; has size (N x C x H x W), where N is the batch size, C is the number of channels, and H and W are the height and width. Note that this is for the 2D image. Otherwise the size is (N x C x D1 x D2 ... x Dn). Optionally, if dimension denotation is in effect, the operation expects input data tensor to arrive with the dimension denotation of [DATA_BATCH, DATA_CHANNEL, DATA_FEATURE, DATA_FEATURE ...]." + } + input_arg { + name: "w" + type_attr: "T2" + description: "The weight tensor that will be used in the convolutions; has size (M x C/group x kH x kW), where C is the number of channels, and kH and kW are the height and width of the kernel, and M is the number of feature maps. For more than 2 dimensions, the kernel shape will be (M x C/group x k1 x k2 x ... x kn), where (k1 x k2 x ... kn) is the dimension of the kernel. Optionally, if dimension denotation is in effect, the operation expects the weight tensor to arrive with the dimension denotation of [FILTER_OUT_CHANNEL, FILTER_IN_CHANNEL, FILTER_SPATIAL, FILTER_SPATIAL ...]. X.shape[1] == (W.shape[1] * group) == C (assuming zero based indices for the shape array). Or in other words FILTER_IN_CHANNEL should be equal to DATA_CHANNEL. " + } + input_arg { + name: "x_zero_point" + type_attr: "T1" + description: "Zero point tensor for input 'x'. It's optional and default value is 0. It's a scalar, which means a per-tensor/layer quantization." + } + input_arg { + name: "w_zero_point" + type_attr: "T2" + description: "Scale tensor for input 'w'. It's optional and default value is 0. It could be a scalar or a 1-D tensor, which means a per-tensor/layer or per output channel quantization. If it's a 1-D tensor, its number of elements should be equal to the number of output channels (M)" + } + output_arg { + name: "y" + type_attr: "T3" + description: "Output data tensor that contains the result of the convolution. The output dimensions are functions of the kernel size, stride size, and pad lengths." + } + attr { + name: "auto_pad" + type: "string" + description: "auto_pad must be either NOTSET, SAME_UPPER, SAME_LOWER or VALID. Where default value is NOTSET, which means explicit padding is used. SAME_UPPER or SAME_LOWER mean pad the input so that the output size match the input.In case of odd number add the extra padding at the end for SAME_UPPER and at the beginning for SAME_LOWER. VALID mean no padding." + } + attr { + name: "dilations" + type: "list of ints" + description: "dilation value along each axis of the filter. If not present, the dilation defaults to 1 along each axis." + } + attr { + name: "group" + type: "int" + description: "number of groups input channels and output channels are divided into. default is 1." + } + attr { + name: "kernel_shape" + type: "list of ints" + description: "The shape of the convolution kernel. If not present, should be inferred from input 'w'." + } + attr { + name: "pads" + type: "list of ints" + description: "Padding for the beginning and ending along each axis, it can take any value greater than or equal to 0.The value represent the number of pixels added to the beginning and end part of the corresponding axis.`pads` format should be as follow [x1_begin, x2_begin...x1_end, x2_end,...], where xi_begin the number ofpixels added at the beginning of axis `i` and xi_end, the number of pixels added at the end of axis `i`.This attribute cannot be used simultaneously with auto_pad attribute. If not present, the padding defaultsto 0 along start and end of each axis." + } + attr { + name: "strides" + type: "list of ints" + description: "Stride along each axis. If not present, the stride defaults to 1 along each axis." + } + summary: "The integer convolution operator consumes an input tensor, its zero-point, a filter, and its zero-point," + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 10 of the default ONNX operator set." +} + + +op { + name: "Cos" + input_arg { + name: "input" + type_attr: "T" + description: "Input tensor" + } + output_arg { + name: "output" + type_attr: "T" + description: "The cosine of the input tensor computed element-wise" + } + summary: "Calculates the cosine of the given input tensor, element-wise." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 7 of the default ONNX operator set." +} + + +op { + name: "Cosh" + input_arg { + name: "input" + type_attr: "T" + description: "Input tensor" + } + output_arg { + name: "output" + type_attr: "T" + description: "The hyperbolic cosine values of the input tensor computed element-wise" + } + summary: "Calculates the hyperbolic cosine of the given input tensor element-wise." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 9 of the default ONNX operator set." +} + + +op { + name: "DepthToSpace" + input_arg { + name: "input" + type_attr: "T" + description: "Input tensor of [N,C,H,W], where N is the batch axis, C is the channel or depth, H is the height and W is the width." + } + output_arg { + name: "output" + type_attr: "T" + description: "Output tensor of [N, C/(blocksize * blocksize), H * blocksize, W * blocksize]." + } + attr { + name: "blocksize" + type: "int" + description: "Blocks of [blocksize, blocksize] are moved." + } + summary: "DepthToSpace rearranges (permutes) data from depth into blocks of spatial data." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 1 of the default ONNX operator set." +} + + +op { + name: "DequantizeLinear" + input_arg { + name: "x" + type_attr: "T" + description: "N-D quantized input tensor to be de-quantized." + } + input_arg { + name: "x_scale" + type_attr: "tensor(float)" + description: "Scale for input 'x'. It's a scalar, which means a per-tensor/layer quantization." + } + input_arg { + name: "x_zero_point" + type_attr: "T" + description: "Zero point for input 'x'. It's a scalar, which means a per-tensor/layer quantization. It's optional. 0 is the default value when it's not specified." + } + output_arg { + name: "y" + type_attr: "tensor(float)" + description: "N-D full precision output tensor. It has same shape as input 'x'." + } + summary: "The linear dequantization operator. It consumes a quantized tensor, a scale, a zero point to compute the full precision tensor." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 10 of the default ONNX operator set." +} + + +op { + name: "Equal" + input_arg { + name: "A" + type_attr: "T" + description: "First input operand for the logical operator." + } + input_arg { + name: "B" + type_attr: "T" + description: "Second input operand for the logical operator." + } + output_arg { + name: "C" + type_attr: "T1" + description: "Result tensor." + } + summary: "Returns the tensor resulted from performing the `equal` logical operation" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 7 of the default ONNX operator set." +} + + +op { + name: "Erf" + input_arg { + name: "input" + type_attr: "T" + description: "Input tensor" + } + output_arg { + name: "output" + type_attr: "T" + description: "The error function of the input tensor computed element-wise. It has the same shape and type of the input." + } + summary: "Computes the error function of the given input tensor element-wise." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 9 of the default ONNX operator set." +} + + +op { + name: "Expand" + input_arg { + name: "input" + type_attr: "T" + description: "Input tensor" + } + input_arg { + name: "shape" + type_attr: "tensor(int64)" + description: "A 1-D tensor indicates the shape you want to expand to, following the broadcast rule" + } + output_arg { + name: "output" + type_attr: "T" + description: "Output tensor" + } + summary: "Broadcast the input tensor following the given shape and the broadcast rule." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 8 of the default ONNX operator set." +} + + +op { + name: "EyeLike" + input_arg { + name: "input" + type_attr: "T1" + description: "2D input tensor to copy shape, and optionally, type information from." + } + output_arg { + name: "output" + type_attr: "T2" + description: "Output tensor, same shape as input tensor T1." + } + attr { + name: "dtype" + type: "int" + description: "(Optional) The data type for the elements of the output tensor. If not specified,the data type of the input tensor T1 is used. If input tensor T1 is also notspecified, then type defaults to 'float'." + } + attr { + name: "k" + type: "int" + description: "(Optional) Index of the diagonal to be populated with ones. Default is 0. If T2 is the output, this op sets T2[i, i+k] = 1. k = 0 populates the main diagonal, k > 0 populates an upper diagonal, and k < 0 populates a lower diagonal." + } + summary: "Generate a 2D tensor (matrix) with ones on the diagonal and zeros everywhere else. Only 2D" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 9 of the default ONNX operator set." +} + + +op { + name: "Floor" + input_arg { + name: "X" + type_attr: "T" + description: "Input tensor" + } + output_arg { + name: "Y" + type_attr: "T" + description: "Output tensor" + } + summary: "Floor takes one input data (Tensor) and produces one output data" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 6 of the default ONNX operator set." +} + + +op { + name: "GlobalLpPool" + input_arg { + name: "X" + type_attr: "T" + description: "Input data tensor from the previous operator; dimensions for image case are (N x C x H x W), where N is the batch size, C is the number of channels, and H and W are the height and the width of the data. For non image case, the dimensions are in the form of (N x C x D1 x D2 ... Dn), where N is the batch size." + } + output_arg { + name: "Y" + type_attr: "T" + description: "Output data tensor from pooling across the input tensor. Dimensions will be N x C x 1 x 1" + } + attr { + name: "p" + type: "int" + description: "p value of the Lp norm used to pool over the input data." + } + summary: "GlobalLpPool consumes an input tensor X and applies lp pool pooling across" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 2 of the default ONNX operator set." +} + + +op { + name: "Greater" + input_arg { + name: "A" + type_attr: "T" + description: "First input operand for the logical operator." + } + input_arg { + name: "B" + type_attr: "T" + description: "Second input operand for the logical operator." + } + output_arg { + name: "C" + type_attr: "T1" + description: "Result tensor." + } + summary: "Returns the tensor resulted from performing the `greater` logical operation" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 9 of the default ONNX operator set." +} + + +op { + name: "HardSigmoid" + input_arg { + name: "X" + type_attr: "T" + description: "Input tensor" + } + output_arg { + name: "Y" + type_attr: "T" + description: "Output tensor" + } + attr { + name: "alpha" + type: "float" + description: "Value of alpha." + } + attr { + name: "beta" + type: "float" + description: "Value of beta." + } + summary: "HardSigmoid takes one input data (Tensor) and produces one output data" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 6 of the default ONNX operator set." +} + + +op { + name: "Hardmax" + input_arg { + name: "input" + type_attr: "T" + description: "The input tensor that's coerced into a 2D matrix of size (NxD) as described above." + } + output_arg { + name: "output" + type_attr: "T" + description: "The output values with the same shape as input tensor (the original size without coercion)." + } + attr { + name: "axis" + type: "int" + description: "Describes the axis of the inputs when coerced to 2D; defaults to one because the 0th axis most likely describes the batch_size" + } + summary: "The operator computes the hardmax (1 for the first maximum value, and 0 for all others) values for each layer in the batch" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 1 of the default ONNX operator set." +} + + +op { + name: "Identity" + input_arg { + name: "input" + type_attr: "T" + description: "Input tensor" + } + output_arg { + name: "output" + type_attr: "T" + description: "Tensor to copy input into." + } + summary: "Identity operator" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 1 of the default ONNX operator set." +} + + +op { + name: "If" + input_arg { + name: "cond" + type_attr: "B" + description: "Condition for the if" + } + output_arg { + name: "outputs" + type_attr: "V" + description: "Values that are live-out to the enclosing scope. The return values in the `then_branch` and `else_branch` must be of the same shape and same data type." + } + attr { + name: "else_branch" + type: "graph" + description: "Graph to run if condition is false. Has N outputs: values you wish to be live-out to the enclosing scope. The number of outputs must match the number of outputs in the then_branch." + } + attr { + name: "then_branch" + type: "graph" + description: "Graph to run if condition is true. Has N outputs: values you wish to be live-out to the enclosing scope. The number of outputs must match the number of outputs in the else_branch." + } + summary: "If conditional" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 1 of the default ONNX operator set." +} + + +op { + name: "InstanceNormalization" + input_arg { + name: "input" + type_attr: "T" + description: "Input data tensor from the previous operator; dimensions for image case are (N x C x H x W), where N is the batch size, C is the number of channels, and H and W are the height and the width of the data. For non image case, the dimensions are in the form of (N x C x D1 x D2 ... Dn), where N is the batch size." + } + input_arg { + name: "scale" + type_attr: "T" + description: "The input 1-dimensional scale tensor of size C." + } + input_arg { + name: "B" + type_attr: "T" + description: "The input 1-dimensional bias tensor of size C." + } + output_arg { + name: "output" + type_attr: "T" + description: "The output tensor of the same shape as input." + } + attr { + name: "epsilon" + type: "float" + description: "The epsilon value to use to avoid division by zero." + } + summary: "Carries out instance normalization as described in the paper" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 6 of the default ONNX operator set." +} + + +op { + name: "IsInf" + input_arg { + name: "X" + type_attr: "T1" + description: "input" + } + output_arg { + name: "Y" + type_attr: "T2" + description: "output" + } + attr { + name: "detect_negative" + type: "int" + description: "(Optional) Whether map negative infinity to true. Default to 1 so that negative infinity induces true. Set this attribute to 0 if negative infinity should be mapped to false." + } + attr { + name: "detect_positive" + type: "int" + description: "(Optional) Whether map positive infinity to true. Default to 1 so that positive infinity induces true. Set this attribute to 0 if positive infinity should be mapped to false." + } + summary: "Map infinity to true and other values to false." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 10 of the default ONNX operator set." +} + + +op { + name: "IsNaN" + input_arg { + name: "X" + type_attr: "T1" + description: "input" + } + output_arg { + name: "Y" + type_attr: "T2" + description: "output" + } + summary: "Returns which elements of the input are NaN." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 9 of the default ONNX operator set." +} + + +op { + name: "Less" + input_arg { + name: "A" + type_attr: "T" + description: "First input operand for the logical operator." + } + input_arg { + name: "B" + type_attr: "T" + description: "Second input operand for the logical operator." + } + output_arg { + name: "C" + type_attr: "T1" + description: "Result tensor." + } + summary: "Returns the tensor resulted from performing the `less` logical operation" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 9 of the default ONNX operator set." +} + + +op { + name: "LogSoftmax" + input_arg { + name: "input" + type_attr: "T" + description: "The input tensor that's coerced into a 2D matrix of size (NxD) as described above." + } + output_arg { + name: "output" + type_attr: "T" + description: "The output values with the same shape as input tensor (the original size without coercion)." + } + attr { + name: "axis" + type: "int" + description: "Describes the axis of the inputs when coerced to 2D; defaults to one because the 0th axis most likely describes the batch_size" + } + summary: "The operator computes the logsoftmax (log of softmax) values for each layer in the batch" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 1 of the default ONNX operator set." +} + + +op { + name: "Loop" + input_arg { + name: "M" + type_attr: "I" + description: "A maximum trip-count for the loop specified at runtime. Optional. Pass empty string to skip." + } + input_arg { + name: "cond" + type_attr: "B" + description: "A boolean termination condition. Optional. Pass empty string to skip." + } + input_arg { + name: "v_initial" + type_attr: "V" + description: "The initial values of any loop-carried dependencies (values that change across loop iterations)" + } + output_arg { + name: "v_final_and_scan_outputs" + type_attr: "V" + description: "Final N loop carried dependency values then K scan_outputs" + } + attr { + name: "body" + type: "graph" + description: "The graph run each iteration. It has 2+N inputs: (iteration_num, condition, loop carried dependencies...). It has 1+N+K outputs: (condition, loop carried dependencies..., scan_outputs...). Each scan_output is created by concatenating the value of the specified output value at the end of each iteration of the loop. It is an error if the dimensions or data type of these scan_outputs change across loop iterations." + } + summary: "Generic Looping construct. This loop has multiple termination conditions:" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 1 of the default ONNX operator set." +} + + +op { + name: "LpNormalization" + input_arg { + name: "input" + type_attr: "T" + description: "Input matrix" + } + output_arg { + name: "output" + type_attr: "T" + description: "Matrix after normalization" + } + attr { + name: "axis" + type: "int" + description: "The axis on which to apply normalization, -1 mean last axis." + } + attr { + name: "p" + type: "int" + description: "The order of the normalization, only 1 or 2 are supported." + } + summary: "Given a matrix, apply Lp-normalization along the provided axis." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 1 of the default ONNX operator set." +} + + +op { + name: "LpPool" + input_arg { + name: "X" + type_attr: "T" + description: "Input data tensor from the previous operator; dimensions for image case are (N x C x H x W), where N is the batch size, C is the number of channels, and H and W are the height and the width of the data. For non image case, the dimensions are in the form of (N x C x D1 x D2 ... Dn), where N is the batch size." + } + output_arg { + name: "Y" + type_attr: "T" + description: "Output data tensor from Lp pooling across the input tensor. Dimensions will vary based on various kernel, stride, and pad sizes." + } + attr { + name: "auto_pad" + type: "string" + description: "auto_pad must be either NOTSET, SAME_UPPER, SAME_LOWER or VALID. Where default value is NOTSET, which means explicit padding is used. SAME_UPPER or SAME_LOWER mean pad the input so that the output size match the input.In case of odd number add the extra padding at the end for SAME_UPPER and at the beginning for SAME_LOWER. VALID mean no padding." + } + attr { + name: "kernel_shape" + type: "list of ints" + description: "The size of the kernel along each axis." + } + attr { + name: "p" + type: "int" + description: "p value of the Lp norm used to pool over the input data." + } + attr { + name: "pads" + type: "list of ints" + description: "Padding for the beginning and ending along each axis, it can take any value greater than or equal to 0. The value represent the number of pixels added to the beginning and end part of the corresponding axis. `pads` format should be as follow [x1_begin, x2_begin...x1_end, x2_end,...], where xi_begin the number of pixels added at the beginning of axis `i` and xi_end, the number of pixels added at the end of axis `i`. This attribute cannot be used simultaneously with auto_pad attribute. If not present, the padding defaults to 0 along start and end of each axis." + } + attr { + name: "strides" + type: "list of ints" + description: "Stride along each axis." + } + summary: "LpPool consumes an input tensor X and applies Lp pooling across" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 2 of the default ONNX operator set." +} + + +op { + name: "MatMulInteger" + input_arg { + name: "A" + type_attr: "T1" + description: "N-dimensional matrix A" + } + input_arg { + name: "B" + type_attr: "T2" + description: "N-dimensional matrix B" + } + input_arg { + name: "a_zero_point" + type_attr: "T1" + description: "Zero point tensor for input 'A'. It's optional and default value is 0. It could be a scalar or a 1-D tensor, which means a per-tensor or per-row quantization. If it's a 1-D tensor, its number of elements should be equal to the number of rows of input 'A'." + } + input_arg { + name: "b_zero_point" + type_attr: "T2" + description: "Scale tensor for input 'B'. It's optional and default value is 0. It could be a scalar or a 1-D tensor, which means a per-tensor or per-column quantization. If it's a 1-D tensor, its number of elements should be equal to the number of columns of input 'B'." + } + output_arg { + name: "Y" + type_attr: "T3" + description: "Matrix multiply results from A * B" + } + summary: "Matrix product that behaves like numpy.matmul: https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.matmul.html." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 10 of the default ONNX operator set." +} + + +op { + name: "Max" + input_arg { + name: "data_0" + type_attr: "T" + description: "List of tensors for max." + } + output_arg { + name: "max" + type_attr: "T" + description: "Output tensor." + } + summary: "Element-wise max of each of the input tensors (with Numpy-style broadcasting support)." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 8 of the default ONNX operator set." +} + + +op { + name: "MaxPool" + input_arg { + name: "X" + type_attr: "T" + description: "Input data tensor from the previous operator; dimensions for image case are (N x C x H x W), where N is the batch size, C is the number of channels, and H and W are the height and the width of the data. For non image case, the dimensions are in the form of (N x C x D1 x D2 ... Dn), where N is the batch size. Optionally, if dimension denotation is in effect, the operation expects the input data tensor to arrive with the dimension denotation of [DATA_BATCH, DATA_CHANNEL, DATA_FEATURE, DATA_FEATURE ...]." + } + output_arg { + name: "Y" + type_attr: "T" + description: "Output data tensor from average or max pooling across the input tensor. Dimensions will vary based on various kernel, stride, and pad sizes. Floor value of the dimension is used" + } + output_arg { + name: "Indices" + type_attr: "I" + description: "Indices tensor from max pooling across the input tensor. The dimensions of indices are the same as output tensor. The values in indices of are the indices of the selected values during pooling. The indices are computed as flatten 1-D tensor, and the indices do not consider padding. So the values in indices are in [0, N x C x D1 x ... x Dn)." + } + attr { + name: "auto_pad" + type: "string" + description: "auto_pad must be either NOTSET, SAME_UPPER, SAME_LOWER or VALID. Where default value is NOTSET, which means explicit padding is used. SAME_UPPER or SAME_LOWER mean pad the input so that the output size match the input.In case of odd number add the extra padding at the end for SAME_UPPER and at the beginning for SAME_LOWER. VALID mean no padding." + } + attr { + name: "ceil_mode" + type: "int" + description: "Wether to use ceil or floor (default) to compute the output shape." + } + attr { + name: "dilations" + type: "list of ints" + description: "Dilation value along each axis of filter." + } + attr { + name: "kernel_shape" + type: "list of ints" + description: "The size of the kernel along each axis." + } + attr { + name: "pads" + type: "list of ints" + description: "Padding for the beginning and ending along each axis, it can take any value greater than or equal to 0. The value represent the number of pixels added to the beginning and end part of the corresponding axis. `pads` format should be as follow [x1_begin, x2_begin...x1_end, x2_end,...], where xi_begin the number of pixels added at the beginning of axis `i` and xi_end, the number of pixels added at the end of axis `i`. This attribute cannot be used simultaneously with auto_pad attribute. If not present, the padding defaults to 0 along start and end of each axis." + } + attr { + name: "storage_order" + type: "int" + description: "The storage order of the tensor. 0 is row major, and 1 is column major." + } + attr { + name: "strides" + type: "list of ints" + description: "Stride along each axis." + } + summary: "MaxPool consumes an input tensor X and applies max pooling across" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 10 of the default ONNX operator set." +} + + +op { + name: "MaxRoiPool" + input_arg { + name: "X" + type_attr: "T" + description: "Input data tensor from the previous operator; dimensions for image case are (N x C x H x W), where N is the batch size, C is the number of channels, and H and W are the height and the width of the data." + } + input_arg { + name: "rois" + type_attr: "T" + description: "RoIs (Regions of Interest) to pool over. Should be a 2-D tensor of shape (num_rois, 5) given as [[batch_id, x1, y1, x2, y2], ...]." + } + output_arg { + name: "Y" + type_attr: "T" + description: "RoI pooled output 4-D tensor of shape (num_rois, channels, pooled_shape[0], pooled_shape[1])." + } + attr { + name: "pooled_shape" + type: "list of ints" + description: "ROI pool output shape (height, width)." + } + attr { + name: "spatial_scale" + type: "float" + description: "Multiplicative spatial scale factor to translate ROI coordinates from their input scale to the scale used when pooling." + } + summary: "ROI max pool consumes an input tensor X and region of interests (RoIs) to" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 1 of the default ONNX operator set." +} + + +op { + name: "MaxUnpool" + input_arg { + name: "X" + type_attr: "T1" + description: "Input data tensor that has to be unpooled. This tensor is typically the first output of the MaxPool op.Dimensions for image case are (N x C x H x W), where N is the batch size, C is the number of channels, and H and W are the height and the width of the data. For non-image case, the dimensions are in the form of (N x C x D1 x D2 ... Dn), where N is the batch size. Optionally, if dimension denotation is in effect, the operation expects the input data tensor to arrive with the dimension denotation of [DATA_BATCH, DATA_CHANNEL, DATA_FEATURE, DATA_FEATURE ...]." + } + input_arg { + name: "I" + type_attr: "T2" + description: "Input data tensor containing the indices corresponding to elements in the first input tensor X.This tensor is typically the second output of the MaxPool op.Dimensions must be the same as input tensor X. The indices are linear, i.e. computed considering the tensor as flattened 1-D tensor, assuming row-major storage. Also, the linear indices should not consider padding. So the values in indices are in the range [0, N x C x D1 x ... x Dn)." + } + input_arg { + name: "output_shape" + type_attr: "T2" + description: "The shape of the output can be explicitly set which will cause pads values to be auto generated. If 'output_shape' is specified, 'pads' values are ignored." + } + output_arg { + name: "output" + type_attr: "T1" + description: "Output data tensor that contains the result of the unpooling." + } + attr { + name: "kernel_shape" + type: "list of ints" + description: "The size of the kernel along each axis." + } + attr { + name: "pads" + type: "list of ints" + description: "Padding for the beginning and ending along each axis, it can take any value greater than or equal to 0. The value represent the number of pixels added to the beginning and end part of the corresponding axis. `pads` format should be as follow [x1_begin, x2_begin...x1_end, x2_end,...], where xi_begin the number of pixels added at the beginning of axis `i` and xi_end, the number of pixels added at the end of axis `i`. This attribute cannot be used simultaneously with auto_pad attribute. If not present, the padding defaults to 0 along start and end of each axis." + } + attr { + name: "strides" + type: "list of ints" + description: "Stride along each axis." + } + summary: "MaxUnpool essentially computes the partial inverse of the MaxPool op." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 9 of the default ONNX operator set." +} + + +op { + name: "Mean" + input_arg { + name: "data_0" + type_attr: "T" + description: "List of tensors for mean." + } + output_arg { + name: "mean" + type_attr: "T" + description: "Output tensor." + } + summary: "Element-wise mean of each of the input tensors (with Numpy-style broadcasting support)." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 8 of the default ONNX operator set." +} + + +op { + name: "MeanVarianceNormalization" + input_arg { + name: "X" + type_attr: "T" + description: "Input tensor" + } + output_arg { + name: "Y" + type_attr: "T" + description: "Output tensor" + } + attr { + name: "axes" + type: "list of ints" + description: "A list of integers, along which to reduce. The default is to caculate along axes [0,2,3] for calculating mean and variance along each channel. Two variables with the same C-coordinate are associated with the same mean and variance." + } + summary: "A MeanVarianceNormalization Function: Perform mean variance normalization" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 9 of the default ONNX operator set." +} + + +op { + name: "Min" + input_arg { + name: "data_0" + type_attr: "T" + description: "List of tensors for min." + } + output_arg { + name: "min" + type_attr: "T" + description: "Output tensor." + } + summary: "Element-wise min of each of the input tensors (with Numpy-style broadcasting support)." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 8 of the default ONNX operator set." +} + + +op { + name: "Mod" + input_arg { + name: "A" + type_attr: "T" + description: "Dividend tensor" + } + input_arg { + name: "B" + type_attr: "T" + description: "Divisor tensor" + } + output_arg { + name: "C" + type_attr: "T" + description: "Remainder tensor" + } + attr { + name: "fmod" + type: "int" + description: "Whether the operator should behave like fmod (default=0 meaning it will do integer mods); Set this to 1 to force fmod treatment" + } + summary: "Performs element-wise binary modulus (with Numpy-style broadcasting support). " + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 10 of the default ONNX operator set." +} + + +op { + name: "Multinomial" + input_arg { + name: "input" + type_attr: "T1" + description: "Input tensor with shape [batch_size, class_size], where class_size is the number of all possible outcomes. Each value along the axis zero represents the unnormalized log-probability of each corresponding outcome in a batch." + } + output_arg { + name: "output" + type_attr: "T2" + description: "Output tensor with shape [batch_size, sample_size], where sample_size is the number of times to sample. Each value along the axis zero represents the outcome of the corresponding sample in a batch." + } + attr { + name: "dtype" + type: "int" + description: "(Optional) The data type for the elements of the output tensor, if not specified, we will use int32." + } + attr { + name: "sample_size" + type: "int" + description: "Number of times to sample." + } + attr { + name: "seed" + type: "float" + description: "(Optional) Seed to the random generator, if not specified we will auto generate one." + } + summary: "Generate a tensor of samples from a multinomial distribution according to the probabilities" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 7 of the default ONNX operator set." +} + + +op { + name: "Neg" + input_arg { + name: "X" + type_attr: "T" + description: "Input tensor" + } + output_arg { + name: "Y" + type_attr: "T" + description: "Output tensor" + } + summary: "Neg takes one input data (Tensor) and produces one output data" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 6 of the default ONNX operator set." +} + + +op { + name: "NonMaxSuppression" + input_arg { + name: "boxes" + type_attr: "tensor(float)" + description: "An input tensor with shape [num_batches, spatial_dimension, 4]. The single box data format is indicated by center_point_box." + } + input_arg { + name: "scores" + type_attr: "tensor(float)" + description: "An input tensor with shape [num_batches, num_classes, spatial_dimension]" + } + input_arg { + name: "max_output_boxes_per_class" + type_attr: "tensor(int64)" + description: "Integer representing the maximum number of boxes to be selected per batch per class. It is a scalar." + } + input_arg { + name: "iou_threshold" + type_attr: "tensor(float)" + description: "Float representing the threshold for deciding whether boxes overlap too much with respect to IOU. It is scalar. Value range [0, 1]." + } + input_arg { + name: "score_threshold" + type_attr: "tensor(float)" + description: "Float representing the threshold for deciding when to remove boxes based on score. It is a scalar" + } + output_arg { + name: "selected_indices" + type_attr: "tensor(int64)" + description: "selected indices from the boxes tensor. [num_selected_indices, 3], the selected index format is [batch_index, class_index, box_index]." + } + attr { + name: "center_point_box" + type: "int" + description: "Integer indicate the format of the box data. The default is 0.0 - the box data is supplied as [y1, x1, y2, x2] where (y1, x1) and (y2, x2) are the coordinates of any diagonal pair of box cornersand the coordinates can be provided as normalized (i.e., lying in the interval [0, 1]) or absolute. Mostly used for TF models.1 - the box data is supplied as [x_center, y_center, width, height]. Mostly used for Pytoch models." + } + summary: "Filter out boxes that have high intersection-over-union (IOU) overlap with previously selected boxes." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 10 of the default ONNX operator set." +} + + +op { + name: "NonZero" + input_arg { + name: "X" + type_attr: "T" + description: "input" + } + output_arg { + name: "Y" + type_attr: "tensor(int64)" + description: "output (always 2D tensor)" + } + summary: "Returns the indices of the elements that are non-zero" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 9 of the default ONNX operator set." +} + + +op { + name: "Not" + input_arg { + name: "X" + type_attr: "T" + description: "Input tensor" + } + output_arg { + name: "Y" + type_attr: "T" + description: "Output tensor" + } + summary: "Returns the negation of the input tensor element-wise." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 1 of the default ONNX operator set." +} + + +op { + name: "OneHot" + input_arg { + name: "indices" + type_attr: "T1" + description: "Input tensor containing indices. The values must be non-negative integers. Any entries in the 'indices' input tensor with values outside the range [0, depth) will result in one-hot representation with all 'off_value' values in the output tensor.In case 'indices' is of non-integer type, the values will be casted to int64 before use." + } + input_arg { + name: "depth" + type_attr: "T2" + description: "Scalar specifying the number of classes in one-hot tensor. This is also the size of the one-hot dimension (specified by 'axis' attribute) added on in the output tensor and the values in the 'indices' input tensor are expected to be in the range [0, depth). TheIn case 'depth' is of non-integer type, it will be casted to int64 before use." + } + input_arg { + name: "values" + type_attr: "T3" + description: "Rank 1 tensor containing exactly two elements, in the format [off_value, on_value], where 'on_value' is the value used for filling locations specified in 'indices' input tensor, and 'off_value' is the value used for filling locations other than those specified in 'indices' input tensor. " + } + output_arg { + name: "output" + type_attr: "T3" + description: "Tensor of rank one greater than input tensor 'indices', i.e. rank(output) = rank(indices) + 1. The data type for the elements of the output tensor is the same as the type of input 'values' is used." + } + attr { + name: "axis" + type: "int" + description: "(Optional) Axis along which one-hot representation in added. Default: axis=-1. axis=-1 means that the additional dimension will be inserted as the innermost/last dimension in the output tensor." + } + summary: "Produces a one-hot tensor based on inputs." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 9 of the default ONNX operator set." +} + + +op { + name: "Or" + input_arg { + name: "A" + type_attr: "T" + description: "First input operand for the logical operator." + } + input_arg { + name: "B" + type_attr: "T" + description: "Second input operand for the logical operator." + } + output_arg { + name: "C" + type_attr: "T1" + description: "Result tensor." + } + summary: "Returns the tensor resulted from performing the `or` logical operation" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 7 of the default ONNX operator set." +} + + +op { + name: "PRelu" + input_arg { + name: "X" + type_attr: "T" + description: "Input tensor" + } + input_arg { + name: "slope" + type_attr: "T" + description: "Slope tensor. The shape of slope can be smaller then first input X; if so, its shape must be unidirectional broadcastable to X" + } + output_arg { + name: "Y" + type_attr: "T" + description: "Output tensor (same size as X)" + } + summary: "PRelu takes input data (Tensor) and slope tensor as input, and produces one" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 9 of the default ONNX operator set." +} + + +op { + name: "Pow" + input_arg { + name: "X" + type_attr: "T" + description: "First operand, base of the exponent." + } + input_arg { + name: "Y" + type_attr: "T" + description: "Second operand, power of the exponent." + } + output_arg { + name: "Z" + type_attr: "T" + description: "Output tensor (same size as X)" + } + summary: "Pow takes input data (Tensor) and exponent Tensor, and" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 7 of the default ONNX operator set." +} + + +op { + name: "QLinearConv" + input_arg { + name: "x" + type_attr: "T1" + description: "Input data tensor from previous layer; has size (N x C x H x W), where N is the batch size, C is the number of channels, and H and W are the height and width. Note that this is for the 2D image. Otherwise the size is (N x C x D1 x D2 ... x Dn). Optionally, if dimension denotation is in effect, the operation expects input data tensor to arrive with the dimension denotation of [DATA_BATCH, DATA_CHANNEL, DATA_FEATURE, DATA_FEATURE ...]." + } + input_arg { + name: "x_scale" + type_attr: "tensor(float)" + description: "Scale tensor for input 'x'. It's a scalar, which means a per-tensor/layer quantization." + } + input_arg { + name: "x_zero_point" + type_attr: "T1" + description: "Zero point tensor for input 'x'. It's a scalar, which means a per-tensor/layer quantization." + } + input_arg { + name: "w" + type_attr: "T2" + description: "The weight tensor that will be used in the convolutions; has size (M x C/group x kH x kW), where C is the number of channels, and kH and kW are the height and width of the kernel, and M is the number of feature maps. For more than 2 dimensions, the kernel shape will be (M x C/group x k1 x k2 x ... x kn), where (k1 x k2 x ... kn) is the dimension of the kernel. Optionally, if dimension denotation is in effect, the operation expects the weight tensor to arrive with the dimension denotation of [FILTER_OUT_CHANNEL, FILTER_IN_CHANNEL, FILTER_SPATIAL, FILTER_SPATIAL ...]. X.shape[1] == (W.shape[1] * group) == C (assuming zero based indices for the shape array). Or in other words FILTER_IN_CHANNEL should be equal to DATA_CHANNEL. " + } + input_arg { + name: "w_scale" + type_attr: "tensor(float)" + description: "Scale tensor for input 'w'. It could be a scalar or a 1-D tensor, which means a per-tensor/layer or per output channel quantization. If it's a 1-D tensor, its number of elements should be equal to the number of output channels (M)." + } + input_arg { + name: "w_zero_point" + type_attr: "T2" + description: "Scale tensor for input 'w'. It could be a scalar or a 1-D tensor, which means a per-tensor/layer or per output channel quantization. If it's a 1-D tensor, its number of elements should be equal to the number of output channels (M)." + } + input_arg { + name: "y_scale" + type_attr: "tensor(float)" + description: "Scale tensor for output 'y'. It's a scalar, which means a per-tensor/layer quantization." + } + input_arg { + name: "y_zero_point" + type_attr: "T3" + description: "Scale tensor for output 'y'. It's a scalar, which means a per-tensor/layer quantization." + } + input_arg { + name: "B" + type_attr: "T4" + description: "Optional 1D bias to be added to the convolution, has size of M." + } + output_arg { + name: "y" + type_attr: "T3" + description: "Output data tensor that contains the result of the convolution. The output dimensions are functions of the kernel size, stride size, and pad lengths." + } + attr { + name: "auto_pad" + type: "string" + description: "auto_pad must be either NOTSET, SAME_UPPER, SAME_LOWER or VALID. Where default value is NOTSET, which means explicit padding is used. SAME_UPPER or SAME_LOWER mean pad the input so that the output size match the input.In case of odd number add the extra padding at the end for SAME_UPPER and at the beginning for SAME_LOWER. VALID mean no padding." + } + attr { + name: "dilations" + type: "list of ints" + description: "dilation value along each axis of the filter. If not present, the dilation defaults to 1 along each axis." + } + attr { + name: "group" + type: "int" + description: "number of groups input channels and output channels are divided into. default is 1." + } + attr { + name: "kernel_shape" + type: "list of ints" + description: "The shape of the convolution kernel. If not present, should be inferred from input 'w'." + } + attr { + name: "pads" + type: "list of ints" + description: "Padding for the beginning and ending along each axis, it can take any value greater than or equal to 0.The value represent the number of pixels added to the beginning and end part of the corresponding axis.`pads` format should be as follow [x1_begin, x2_begin...x1_end, x2_end,...], where xi_begin the number ofpixels added at the beginning of axis `i` and xi_end, the number of pixels added at the end of axis `i`.This attribute cannot be used simultaneously with auto_pad attribute. If not present, the padding defaultsto 0 along start and end of each axis." + } + attr { + name: "strides" + type: "list of ints" + description: "Stride along each axis. If not present, the stride defaults to 1 along each axis." + } + summary: "The convolution operator consumes a quantized input tensor, its scale and zero point," + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 10 of the default ONNX operator set." +} + + +op { + name: "QLinearMatMul" + input_arg { + name: "a" + type_attr: "T1" + description: "N-dimensional quantized matrix a" + } + input_arg { + name: "a_scale" + type_attr: "tensor(float)" + description: "scale of quantized input a" + } + input_arg { + name: "a_zero_point" + type_attr: "T1" + description: "zero point of quantized input a" + } + input_arg { + name: "b" + type_attr: "T2" + description: "N-dimensional quantized matrix b" + } + input_arg { + name: "b_scale" + type_attr: "tensor(float)" + description: "scale of quantized input b" + } + input_arg { + name: "b_zero_point" + type_attr: "T2" + description: "zero point of quantized input b" + } + input_arg { + name: "y_scale" + type_attr: "tensor(float)" + description: "scale of quantized output y" + } + input_arg { + name: "y_zero_point" + type_attr: "T3" + description: "zero point of quantized output y" + } + output_arg { + name: "y" + type_attr: "T3" + description: "Quantized matrix multiply results from a * b" + } + summary: "Matrix product that behaves like numpy.matmul: https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.matmul.html." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 10 of the default ONNX operator set." +} + + +op { + name: "QuantizeLinear" + input_arg { + name: "x" + type_attr: "T1" + description: "N-D full precision Input tensor to be quantized." + } + input_arg { + name: "y_scale" + type_attr: "tensor(float)" + description: "Scale for doing quantization to get 'y'. It's a scalar, which means a per-tensor/layer quantization." + } + input_arg { + name: "y_zero_point" + type_attr: "T2" + description: "Zero point for doing quantization to get 'y'. It's a scalar, which means a per-tensor/layer quantization. Default value is 0 if it's not specified." + } + output_arg { + name: "y" + type_attr: "T2" + description: "N-D quantized output tensor. It has same shape as input 'x'." + } + summary: "The linear per-tensor/layer quantization operator. It consumes a high precision tensor, a scale, a zero point to compute the low precision / quantized tensor." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 10 of the default ONNX operator set." +} + + +op { + name: "RandomNormal" + output_arg { + name: "output" + type_attr: "T" + description: "Output tensor of random values drawn from normal distribution" + } + attr { + name: "dtype" + type: "int" + description: "The data type for the elements of the output tensor. Default is TensorProto::FLOAT." + } + attr { + name: "mean" + type: "float" + description: "The mean of the normal distribution." + } + attr { + name: "scale" + type: "float" + description: "The standard deviation of the normal distribution." + } + attr { + name: "seed" + type: "float" + description: "(Optional) Seed to the random generator, if not specified we will auto generate one." + } + attr { + name: "shape" + type: "list of ints" + description: "The shape of the output tensor." + } + summary: "Generate a tensor with random values drawn from a normal distribution. The shape" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 1 of the default ONNX operator set." +} + + +op { + name: "RandomNormalLike" + input_arg { + name: "input" + type_attr: "T1" + description: "Input tensor to copy shape and optionally type information from." + } + output_arg { + name: "output" + type_attr: "T2" + description: "Output tensor of random values drawn from normal distribution" + } + attr { + name: "dtype" + type: "int" + description: "(Optional) The data type for the elements of the output tensor, if not specified, we will usethe data type of the input tensor." + } + attr { + name: "mean" + type: "float" + description: "The mean of the normal distribution." + } + attr { + name: "scale" + type: "float" + description: "The standard deviation of the normal distribution." + } + attr { + name: "seed" + type: "float" + description: "(Optional) Seed to the random generator, if not specified we will auto generate one." + } + summary: "Generate a tensor with random values drawn from a normal distribution." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 1 of the default ONNX operator set." +} + + +op { + name: "RandomUniform" + output_arg { + name: "output" + type_attr: "T" + description: "Output tensor of random values drawn from uniform distribution" + } + attr { + name: "dtype" + type: "int" + description: "The data type for the elements of the output tensor. If not specified, default is TensorProto::FLOAT." + } + attr { + name: "high" + type: "float" + description: "Upper boundary of the output values." + } + attr { + name: "low" + type: "float" + description: "Lower boundary of the output values." + } + attr { + name: "seed" + type: "float" + description: "(Optional) Seed to the random generator, if not specified we will auto generate one." + } + attr { + name: "shape" + type: "list of ints" + description: "The shape of the output tensor." + } + summary: "Generate a tensor with random values drawn from a uniform distribution. The shape" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 1 of the default ONNX operator set." +} + + +op { + name: "RandomUniformLike" + input_arg { + name: "input" + type_attr: "T1" + description: "Input tensor to copy shape and optionally type information from." + } + output_arg { + name: "output" + type_attr: "T2" + description: "Output tensor of random values drawn from uniform distribution" + } + attr { + name: "dtype" + type: "int" + description: "(Optional) The data type for the elements of the output tensor, if not specified, we will usethe data type of the input tensor." + } + attr { + name: "high" + type: "float" + description: "Upper boundary of the output values." + } + attr { + name: "low" + type: "float" + description: "Lower boundary of the output values." + } + attr { + name: "seed" + type: "float" + description: "(Optional) Seed to the random generator, if not specified we will auto generate one." + } + summary: "Generate a tensor with random values drawn from a uniform distribution." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 1 of the default ONNX operator set." +} + + +op { + name: "ReduceL1" + input_arg { + name: "data" + type_attr: "T" + description: "An input tensor." + } + output_arg { + name: "reduced" + type_attr: "T" + description: "Reduced output tensor." + } + attr { + name: "axes" + type: "list of ints" + description: "A list of integers, along which to reduce. The default is to reduce over all the dimensions of the input tensor." + } + attr { + name: "keepdims" + type: "int" + description: "Keep the reduced dimension or not, default 1 mean keep reduced dimension." + } + summary: "Computes the L1 norm of the input tensor's element along the provided axes. The resulted" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 1 of the default ONNX operator set." +} + + +op { + name: "ReduceL2" + input_arg { + name: "data" + type_attr: "T" + description: "An input tensor." + } + output_arg { + name: "reduced" + type_attr: "T" + description: "Reduced output tensor." + } + attr { + name: "axes" + type: "list of ints" + description: "A list of integers, along which to reduce. The default is to reduce over all the dimensions of the input tensor." + } + attr { + name: "keepdims" + type: "int" + description: "Keep the reduced dimension or not, default 1 mean keep reduced dimension." + } + summary: "Computes the L2 norm of the input tensor's element along the provided axes. The resulted" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 1 of the default ONNX operator set." +} + + +op { + name: "ReduceLogSum" + input_arg { + name: "data" + type_attr: "T" + description: "An input tensor." + } + output_arg { + name: "reduced" + type_attr: "T" + description: "Reduced output tensor." + } + attr { + name: "axes" + type: "list of ints" + description: "A list of integers, along which to reduce. The default is to reduce over all the dimensions of the input tensor." + } + attr { + name: "keepdims" + type: "int" + description: "Keep the reduced dimension or not, default 1 mean keep reduced dimension." + } + summary: "Computes the log sum of the input tensor's element along the provided axes. The resulted" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 1 of the default ONNX operator set." +} + + +op { + name: "ReduceLogSumExp" + input_arg { + name: "data" + type_attr: "T" + description: "An input tensor." + } + output_arg { + name: "reduced" + type_attr: "T" + description: "Reduced output tensor." + } + attr { + name: "axes" + type: "list of ints" + description: "A list of integers, along which to reduce. The default is to reduce over all the dimensions of the input tensor." + } + attr { + name: "keepdims" + type: "int" + description: "Keep the reduced dimension or not, default 1 mean keep reduced dimension." + } + summary: "Computes the log sum exponent of the input tensor's element along the provided axes. The resulted" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 1 of the default ONNX operator set." +} + + +op { + name: "ReduceMax" + input_arg { + name: "data" + type_attr: "T" + description: "An input tensor." + } + output_arg { + name: "reduced" + type_attr: "T" + description: "Reduced output tensor." + } + attr { + name: "axes" + type: "list of ints" + description: "A list of integers, along which to reduce. The default is to reduce over all the dimensions of the input tensor." + } + attr { + name: "keepdims" + type: "int" + description: "Keep the reduced dimension or not, default 1 mean keep reduced dimension." + } + summary: "Computes the max of the input tensor's element along the provided axes. The resulted" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 1 of the default ONNX operator set." +} + + +op { + name: "ReduceMean" + input_arg { + name: "data" + type_attr: "T" + description: "An input tensor." + } + output_arg { + name: "reduced" + type_attr: "T" + description: "Reduced output tensor." + } + attr { + name: "axes" + type: "list of ints" + description: "A list of integers, along which to reduce. The default is to reduce over all the dimensions of the input tensor." + } + attr { + name: "keepdims" + type: "int" + description: "Keep the reduced dimension or not, default 1 mean keep reduced dimension." + } + summary: "Computes the mean of the input tensor's element along the provided axes. The resulted" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 1 of the default ONNX operator set." +} + + +op { + name: "ReduceMin" + input_arg { + name: "data" + type_attr: "T" + description: "An input tensor." + } + output_arg { + name: "reduced" + type_attr: "T" + description: "Reduced output tensor." + } + attr { + name: "axes" + type: "list of ints" + description: "A list of integers, along which to reduce. The default is to reduce over all the dimensions of the input tensor." + } + attr { + name: "keepdims" + type: "int" + description: "Keep the reduced dimension or not, default 1 mean keep reduced dimension." + } + summary: "Computes the min of the input tensor's element along the provided axes. The resulted" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 1 of the default ONNX operator set." +} + + +op { + name: "ReduceProd" + input_arg { + name: "data" + type_attr: "T" + description: "An input tensor." + } + output_arg { + name: "reduced" + type_attr: "T" + description: "Reduced output tensor." + } + attr { + name: "axes" + type: "list of ints" + description: "A list of integers, along which to reduce. The default is to reduce over all the dimensions of the input tensor." + } + attr { + name: "keepdims" + type: "int" + description: "Keep the reduced dimension or not, default 1 mean keep reduced dimension." + } + summary: "Computes the product of the input tensor's element along the provided axes. The resulted" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 1 of the default ONNX operator set." +} + + +op { + name: "ReduceSum" + input_arg { + name: "data" + type_attr: "T" + description: "An input tensor." + } + output_arg { + name: "reduced" + type_attr: "T" + description: "Reduced output tensor." + } + attr { + name: "axes" + type: "list of ints" + description: "A list of integers, along which to reduce. The default is to reduce over all the dimensions of the input tensor." + } + attr { + name: "keepdims" + type: "int" + description: "Keep the reduced dimension or not, default 1 mean keep reduced dimension." + } + summary: "Computes the sum of the input tensor's element along the provided axes. The resulted" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 1 of the default ONNX operator set." +} + + +op { + name: "ReduceSumSquare" + input_arg { + name: "data" + type_attr: "T" + description: "An input tensor." + } + output_arg { + name: "reduced" + type_attr: "T" + description: "Reduced output tensor." + } + attr { + name: "axes" + type: "list of ints" + description: "A list of integers, along which to reduce. The default is to reduce over all the dimensions of the input tensor." + } + attr { + name: "keepdims" + type: "int" + description: "Keep the reduced dimension or not, default 1 mean keep reduced dimension." + } + summary: "Computes the sum square of the input tensor's element along the provided axes. The resulted" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 1 of the default ONNX operator set." +} + + +op { + name: "Resize" + input_arg { + name: "X" + type_attr: "T" + description: "N-D tensor" + } + input_arg { + name: "scales" + type_attr: "tensor(float)" + description: "The scale array along each dimension. It takes value greater than 0. If it's less than 1, it's sampling down, otherwise, it's upsampling. The number of elements of 'scales' should be the same as the rank of input 'X'." + } + output_arg { + name: "Y" + type_attr: "T" + description: "N-D tensor after resizing" + } + attr { + name: "mode" + type: "string" + description: "Two interpolation modes: nearest (default), and linear (including bilinear, trilinear, etc)" + } + summary: "Resize the input tensor." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 10 of the default ONNX operator set." +} + + +op { + name: "ReverseSequence" + input_arg { + name: "input" + type_attr: "T" + description: "Tensor of rank r >= 2." + } + input_arg { + name: "sequence_lens" + type_attr: "tensor(int64)" + description: "Tensor specifying lengths of the sequences in a batch. It has shape `[batch_size]`." + } + output_arg { + name: "Y" + type_attr: "T" + description: "Tensor with same shape of input." + } + attr { + name: "batch_axis" + type: "int" + description: "(Optional) Specify which axis is batch axis. Must be one of 1 (default), or 0." + } + attr { + name: "time_axis" + type: "int" + description: "(Optional) Specify which axis is time axis. Must be one of 0 (default), or 1." + } + summary: "Reverse batch of sequences having different lengths specified by `sequence_lens`." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 10 of the default ONNX operator set." +} + + +op { + name: "RoiAlign" + input_arg { + name: "X" + type_attr: "T1" + description: "Input data tensor from the previous operator; 4-D feature map of shape (N, C, H, W), where N is the batch size, C is the number of channels, and H and W are the height and the width of the data." + } + input_arg { + name: "rois" + type_attr: "T1" + description: "RoIs (Regions of Interest) to pool over; rois is 2-D input of shape (num_rois, 4) given as [[x1, y1, x2, y2], ...]. The RoIs' coordinates are in the coordinate system of the input image. Each coordinate set has a 1:1 correspondence with the 'batch_indices' input." + } + input_arg { + name: "batch_indices" + type_attr: "T2" + description: "1-D tensor of shape (num_rois,) with each element denoting the index of the corresponding image in the batch." + } + output_arg { + name: "Y" + type_attr: "T1" + description: "RoI pooled output, 4-D tensor of shape (num_rois, C, output_height, output_width). The r-th batch element Y[r-1] is a pooled feature map corresponding to the r-th RoI X[r-1]." + } + attr { + name: "mode" + type: "string" + description: "The pooling method. Two modes are supported: 'avg' and 'max'. Default is 'avg'." + } + attr { + name: "output_height" + type: "int" + description: "default 1; Pooled output Y's height." + } + attr { + name: "output_width" + type: "int" + description: "default 1; Pooled output Y's width." + } + attr { + name: "sampling_ratio" + type: "int" + description: "Number of sampling points in the interpolation grid used to compute the output value of each pooled output bin. If > 0, then exactly sampling_ratio x sampling_ratio grid points are used. If == 0, then an adaptive number of grid points are used (computed as ceil(roi_width / output_width), and likewise for height). Default is 0." + } + attr { + name: "spatial_scale" + type: "float" + description: "Multiplicative spatial scale factor to translate ROI coordinates from their input spatial scale to the scale used when pooling, i.e., spatial scale of the input feature map X relative to the input image. E.g.; default is 1.0f. " + } + summary: "Region of Interest (RoI) align operation described in the" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 10 of the default ONNX operator set." +} + + +op { + name: "Scan" + input_arg { + name: "initial_state_and_scan_inputs" + type_attr: "V" + description: "Initial values of the loop's N state variables followed by M scan_inputs" + } + output_arg { + name: "final_state_and_scan_outputs" + type_attr: "V" + description: "Final values of the loop's N state variables followed by K scan_outputs" + } + attr { + name: "body" + type: "graph" + description: "The graph run each iteration. It has N+M inputs: (loop state variables..., scan_input_elts...). It has N+K outputs: (loop state variables..., scan_output_elts...). Each scan_output is created by concatenating the value of the specified scan_output_elt value at the end of each iteration of the loop. It is an error if the dimensions of these values change across loop iterations." + } + attr { + name: "num_scan_inputs" + type: "int" + description: "An attribute specifying the number of scan_inputs M. " + } + attr { + name: "scan_input_axes" + type: "list of ints" + description: "An optional list of M flags. The i-th element of the list specifies the axis to be scanned (the sequence axis) for the i-th scan_input. If omitted, 0 will be used as the scan axis for every scan_input." + } + attr { + name: "scan_input_directions" + type: "list of ints" + description: "An optional list of M flags. The i-th element of the list specifies the direction to be scanned for the i-th scan_input tensor: 0 indicates forward direction and 1 indicates reverse direction. If omitted, all scan_input tensors will be scanned in the forward direction." + } + attr { + name: "scan_output_axes" + type: "list of ints" + description: "An optional list of K flags. The i-th element of the list specifies the axis for the i-th scan_output. The scan outputs are accumulated along the specified axis. If omitted, 0 will be used as the scan axis for every scan_output." + } + attr { + name: "scan_output_directions" + type: "list of ints" + description: "An optional list of K flags, one for each scan_output. The i-th element of the list specifies whether the i-th scan_output should be constructed by appending or prepending a new value in each iteration: 0 indicates appending and 1 indicates prepending. If omitted, all scan_output tensors will be produced by appending a value in each iteration." + } + summary: "Scan can be used to iterate over one or more scan_input tensors," + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 9 of the default ONNX operator set." +} + + +op { + name: "Scatter" + input_arg { + name: "data" + type_attr: "T" + description: "Tensor of rank r >= 1." + } + input_arg { + name: "indices" + type_attr: "Tind" + description: "Tensor of int32/int64 indices, of r >= 1 (same rank as input)." + } + input_arg { + name: "updates" + type_attr: "T" + description: "Tensor of rank r >=1 (same rank and shape as indices)" + } + output_arg { + name: "output" + type_attr: "T" + description: "Tensor of rank r >= 1 (same rank as input)." + } + attr { + name: "axis" + type: "int" + description: "Which axis to scatter on. Negative value means counting dimensions from the back. Accepted range in [-r, r-1]" + } + summary: "Given `data`, `updates` and `indices` input tensors of rank r >= 1, write the values provided by `updates` " + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 9 of the default ONNX operator set." +} + + +op { + name: "Selu" + input_arg { + name: "X" + type_attr: "T" + description: "Input tensor" + } + output_arg { + name: "Y" + type_attr: "T" + description: "Output tensor" + } + attr { + name: "alpha" + type: "float" + description: "Coefficient of SELU default to 1.67326319217681884765625 (i.e., float32 approximation of 1.6732632423543772848170429916717)." + } + attr { + name: "gamma" + type: "float" + description: "Coefficient of SELU default to 1.05070102214813232421875 (i.e., float32 approximation of 1.0507009873554804934193349852946)." + } + summary: "Selu takes one input data (Tensor) and produces one output data" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 6 of the default ONNX operator set." +} + + +op { + name: "Shape" + input_arg { + name: "data" + type_attr: "T" + description: "An input tensor." + } + output_arg { + name: "shape" + type_attr: "T1" + description: "Shape of the input tensor" + } + summary: "Takes a tensor as input and outputs an 1D int64 tensor containing the shape of the input tensor." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 1 of the default ONNX operator set." +} + + +op { + name: "Shrink" + input_arg { + name: "input" + type_attr: "T" + description: "The input data as Tensor." + } + output_arg { + name: "output" + type_attr: "T" + description: "The output." + } + attr { + name: "bias" + type: "float" + description: "The bias value added to output. Default is 0." + } + attr { + name: "lambd" + type: "float" + description: "The lambd value for the Shrink formulation. Default is 0.5." + } + summary: "Shrink takes one input data (Tensor) and produces one Tensor output," + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 9 of the default ONNX operator set." +} + + +op { + name: "Sign" + input_arg { + name: "input" + type_attr: "T" + description: "Input tensor" + } + output_arg { + name: "output" + type_attr: "T" + description: "The sign of the input tensor computed element-wise. It has the same shape and type of the input." + } + summary: "Calculate the sign of the given input tensor element-wise." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 9 of the default ONNX operator set." +} + + +op { + name: "Sin" + input_arg { + name: "input" + type_attr: "T" + description: "Input tensor" + } + output_arg { + name: "output" + type_attr: "T" + description: "The sine of the input tensor computed element-wise" + } + summary: "Calculates the sine of the given input tensor, element-wise." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 7 of the default ONNX operator set." +} + + +op { + name: "Sinh" + input_arg { + name: "input" + type_attr: "T" + description: "Input tensor" + } + output_arg { + name: "output" + type_attr: "T" + description: "The hyperbolic sine values of the input tensor computed element-wise" + } + summary: "Calculates the hyperbolic sine of the given input tensor element-wise." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 9 of the default ONNX operator set." +} + + +op { + name: "Size" + input_arg { + name: "data" + type_attr: "T" + description: "An input tensor." + } + output_arg { + name: "size" + type_attr: "T1" + description: "Total number of elements of the input tensor" + } + summary: "Takes a tensor as input and outputs a int64 scalar that equals to the total number of elements of the input tensor." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 1 of the default ONNX operator set." +} + + +op { + name: "Softplus" + input_arg { + name: "X" + type_attr: "T" + description: "1D input tensor" + } + output_arg { + name: "Y" + type_attr: "T" + description: "1D input tensor" + } + summary: "Softplus takes one input data (Tensor) and produces one output data" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 1 of the default ONNX operator set." +} + + +op { + name: "Softsign" + input_arg { + name: "input" + type_attr: "T" + description: "Input tensor" + } + output_arg { + name: "output" + type_attr: "T" + description: "The softsign (x/(1+|x|)) values of the input tensor computed element-wise" + } + summary: "Calculates the softsign (x/(1+|x|)) of the given input tensor element-wise." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 1 of the default ONNX operator set." +} + + +op { + name: "SpaceToDepth" + input_arg { + name: "input" + type_attr: "T" + description: "Input tensor of [N,C,H,W], where N is the batch axis, C is the channel or depth, H is the height and W is the width." + } + output_arg { + name: "output" + type_attr: "T" + description: "Output tensor of [N, C * blocksize * blocksize, H/blocksize, W/blocksize]." + } + attr { + name: "blocksize" + type: "int" + description: "Blocks of [blocksize, blocksize] are moved." + } + summary: "SpaceToDepth rearranges blocks of spatial data into depth. More specifically," + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 1 of the default ONNX operator set." +} + + +op { + name: "Sqrt" + input_arg { + name: "X" + type_attr: "T" + description: "Input tensor" + } + output_arg { + name: "Y" + type_attr: "T" + description: "Output tensor" + } + summary: "Square root takes one input data (Tensor) and produces one output data" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 6 of the default ONNX operator set." +} + + +op { + name: "Squeeze" + input_arg { + name: "data" + type_attr: "T" + description: "Tensors with at least max(dims) dimensions." + } + output_arg { + name: "squeezed" + type_attr: "T" + description: "Reshaped tensor with same data as input." + } + attr { + name: "axes" + type: "list of ints" + description: "List of non-negative integers, indicate the dimensions to squeeze." + } + summary: "Remove single-dimensional entries from the shape of a tensor." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 1 of the default ONNX operator set." +} + + +op { + name: "StringNormalizer" + input_arg { + name: "X" + type_attr: "tensor(string)" + description: "UTF-8 strings to normalize" + } + output_arg { + name: "Y" + type_attr: "tensor(string)" + description: "UTF-8 Normalized strings" + } + attr { + name: "case_change_action" + type: "string" + description: "string enum that cases output to be lowercased/uppercases/unchanged. Valid values are "LOWER", "UPPER", "NONE". Default is "NONE"" + } + attr { + name: "is_case_sensitive" + type: "int" + description: "Boolean. Whether the identification of stop words in X is case-sensitive. Default is false" + } + attr { + name: "locale" + type: "string" + description: "Environment dependent string that denotes the locale according to which output strings needs to be upper/lowercased.Default en_US or platform specific equivalent as decided by the implementation." + } + attr { + name: "stopwords" + type: "list of strings" + description: "List of stop words. If not set, no word would be removed from X." + } + summary: "StringNormalization performs string operations for basic cleaning." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 10 of the default ONNX operator set." +} + + +op { + name: "Sum" + input_arg { + name: "data_0" + type_attr: "T" + description: "List of tensors for sum." + } + output_arg { + name: "sum" + type_attr: "T" + description: "Output tensor." + } + summary: "Element-wise sum of each of the input tensors (with Numpy-style broadcasting support)." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 8 of the default ONNX operator set." +} + + +op { + name: "Tan" + input_arg { + name: "input" + type_attr: "T" + description: "Input tensor" + } + output_arg { + name: "output" + type_attr: "T" + description: "The tangent of the input tensor computed element-wise" + } + summary: "Calculates the tangent of the given input tensor, element-wise." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 7 of the default ONNX operator set." +} + + +op { + name: "TfIdfVectorizer" + input_arg { + name: "X" + type_attr: "T" + description: "Input for n-gram extraction" + } + output_arg { + name: "Y" + type_attr: "T1" + description: "Ngram results" + } + attr { + name: "max_gram_length" + type: "int" + description: "Maximum n-gram length. If this value is 3, 3-grams will be used to generate the output." + } + attr { + name: "max_skip_count" + type: "int" + description: "Maximum number of items (integers/strings) to be skipped when constructing an n-gram from X. If max_skip_count=1, min_gram_length=2, max_gram_length=3, this operator may generate 2-grams with skip_count=0 and skip_count=1, and 3-grams with skip_count=0 and skip_count=1" + } + attr { + name: "min_gram_length" + type: "int" + description: "Minimum n-gram length. If this value is 2 and max_gram_length is 3, output may contain counts of 2-grams and 3-grams." + } + attr { + name: "mode" + type: "string" + description: "The weighting criteria. It can be one of "TF" (term frequency), "IDF" (inverse document frequency), and "TFIDF" (the combination of TF and IDF)" + } + attr { + name: "ngram_counts" + type: "list of ints" + description: "The starting indexes of 1-grams, 2-grams, and so on in pool. It is useful when determining the boundary between two consecutive collections of n-grams. For example, if ngram_counts is [0, 17, 36], the first index (zero-based) of 1-gram/2-gram/3-gram in pool are 0/17/36. This format is essentially identical to CSR (or CSC) sparse matrix format, and we choose to use this due to its popularity." + } + attr { + name: "ngram_indexes" + type: "list of ints" + description: "list of int64s (type: AttributeProto::INTS). This list is parallel to the specified 'pool_*' attribute. The i-th element in ngram_indexes indicate the coordinate of the i-th n-gram in the output tensor." + } + attr { + name: "pool_int64s" + type: "list of ints" + description: "List of int64 n-grams learned from the training set. Either this or pool_strings attributes must be present but not both. It's an 1-D tensor starting with the collections of all 1-grams and ending with the collections of n-grams. The i-th element in pool stores the n-gram that should be mapped to coordinate ngram_indexes[i] in the output vector." + } + attr { + name: "pool_strings" + type: "list of strings" + description: "List of strings n-grams learned from the training set. Either this or pool_int64s attributes must be present but not both. It's an 1-D tensor starting with the collections of all 1-grams and ending with the collections of n-grams. The i-th element in pool stores the n-gram that should be mapped to coordinate ngram_indexes[i] in the output vector." + } + attr { + name: "weights" + type: "list of floats" + description: "list of floats. This attribute stores the weight of each n-gram in pool. The i-th element in weights is the weight of the i-th n-gram in pool. Its length equals to the size of ngram_indexes. By default, weights is an all-one tensor.This attribute is used when mode is "IDF" or "TFIDF" to scale the associated word counts." + } + summary: "This transform extracts n-grams from the input sequence and save them as a vector. Input can" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 9 of the default ONNX operator set." +} + + +op { + name: "ThresholdedRelu" + input_arg { + name: "X" + type_attr: "T" + description: "Input tensor" + } + output_arg { + name: "Y" + type_attr: "T" + description: "Output tensor" + } + attr { + name: "alpha" + type: "float" + description: "Threshold value" + } + summary: "ThresholdedRelu takes one input data (Tensor) and produces one output data" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 10 of the default ONNX operator set." +} + + +op { + name: "Tile" + input_arg { + name: "input" + type_attr: "T" + description: "Input tensor of any shape." + } + input_arg { + name: "repeats" + type_attr: "T1" + description: "1D int64 tensor of the same length as input's dimension number, includes numbers of repeated copies along input's dimensions." + } + output_arg { + name: "output" + type_attr: "T" + description: "Output tensor of the same dimension and type as tensor input. output_dim[i] = input_dim[i] * repeats[i]" + } + summary: "Constructs a tensor by tiling a given tensor." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 6 of the default ONNX operator set." +} + + +op { + name: "TopK" + input_arg { + name: "X" + type_attr: "T" + description: "Tensor of shape [a_1, a_2, ..., a_n, r]" + } + input_arg { + name: "K" + type_attr: "tensor(int64)" + description: "A 1-D tensor containing a single positive value corresponding to the number of top elements to retrieve" + } + output_arg { + name: "Values" + type_attr: "T" + description: "Tensor of shape [a_1, a_2, ..., a_{axis-1}, k, a_{axis+1}, ... a_n] containing top K values from the input tensor" + } + output_arg { + name: "Indices" + type_attr: "I" + description: "Tensor of shape [a_1, a_2, ..., a_{axis-1}, k, a_{axis+1}, ... a_n] containing the corresponding input tensor indices for the top K values." + } + attr { + name: "axis" + type: "int" + description: "Dimension on which to do the sort." + } + summary: "Retrieve the top-K elements along a specified axis. Given an input tensor of" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 10 of the default ONNX operator set." +} + + +op { + name: "Transpose" + input_arg { + name: "data" + type_attr: "T" + description: "An input tensor." + } + output_arg { + name: "transposed" + type_attr: "T" + description: "Transposed output." + } + attr { + name: "perm" + type: "list of ints" + description: "A list of integers. By default, reverse the dimensions, otherwise permute the axes according to the values given." + } + summary: "Transpose the input tensor similar to numpy.transpose. For example, when" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 1 of the default ONNX operator set." +} + + +op { + name: "Unsqueeze" + input_arg { + name: "data" + type_attr: "T" + description: "Original tensor" + } + output_arg { + name: "expanded" + type_attr: "T" + description: "Reshaped tensor with same data as input." + } + attr { + name: "axes" + type: "list of ints" + description: "List of non-negative integers, indicate the dimensions to be inserted" + } + summary: "Insert single-dimensional entries to the shape of a tensor." + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 1 of the default ONNX operator set." +} + + +op { + name: "Upsample" + input_arg { + name: "X" + type_attr: "T" + description: "N-D tensor" + } + input_arg { + name: "scales" + type_attr: "tensor(float)" + description: "The scale array along each dimension. It takes value greater than or equal to 1. The number of elements of 'scales' should be the same as the rank of input 'X'." + } + output_arg { + name: "Y" + type_attr: "T" + description: "N-D tensor after resizing" + } + attr { + name: "mode" + type: "string" + description: "Two interpolation modes: nearest (default), and linear (including bilinear, trilinear, etc)" + } + summary: "Upsample the input tensor." + description: "Follow ONNX v1.5.0. This version of the operator has been deprecated since version 10 of the default ONNX operator set." +} + + +op { + name: "Where" + input_arg { + name: "condition" + type_attr: "B" + description: "When True (nonzero), yield X, otherwise yield Y" + } + input_arg { + name: "X" + type_attr: "T" + description: "values selected at indices where condition is True" + } + input_arg { + name: "Y" + type_attr: "T" + description: "values selected at indices where condition is False" + } + output_arg { + name: "output" + type_attr: "T" + description: "Tensor of shape equal to the broadcasted shape of condition, X, and Y." + } + summary: "Return elements, either from X or Y, depending on condition" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 9 of the default ONNX operator set." +} + + +op { + name: "Xor" + input_arg { + name: "A" + type_attr: "T" + description: "First input operand for the logical operator." + } + input_arg { + name: "B" + type_attr: "T" + description: "Second input operand for the logical operator." + } + output_arg { + name: "C" + type_attr: "T1" + description: "Result tensor." + } + summary: "Returns the tensor resulted from performing the `xor` logical operation" + description: "Follow ONNX v1.5.0. This version of the operator has been available since version 7 of the default ONNX operator set." +}