tf.raw_ops.UniformQuantizedConvolutionHybrid

Perform hybrid quantized convolution of float Tensor lhs and quantized Tensor rhs.

Compat aliases for migration

See Migration guide for more details.

tf.compat.v1.raw_ops.UniformQuantizedConvolutionHybrid

Given float lhs and quantized rhs, internally performs quantization on lhs, and then performs quantized convolution on quantized lhs and rhs.

The internal quantization on lhs is a quantization to Trhs, dynamic range, per-batch (per-axis along axis dimension_numbers.input_batch_dimension), asymmetric, and not narrow range (the range is [Trhs_MIN, Trhs_MAX]).

lhs and rhs must be Tensors of same rank, and meet following shape conditions.

  • lhs_feature % feature_group_count == 0
  • lhs_feature % rhs_input_feature == 0
  • lhs_feature / feature_group_count == rhs_input_feature
  • rhs_output_feature % feature_group_count == 0
  • lhs_batch % batch_group_count == 0
  • rhs_output_feature % batch_group_count == 0

rhs must be quantized Tensor, where its data value is quantized using the formula: quantized_data = clip(original_data / scale + zero_point, quantization_min_val, quantization_max_val).

lhs A Tensor. Must be one of the following types: float32. Must be a non-quantized Tensor of Tlhs, rank >= 3.
rhs A Tensor. Must be one of the following types: qint8. Must be a quantized Tensor of Trhs, same rank as lhs.
rhs_scales A Tensor of type float32. The float value(s) used as scale factors when quantizing the original data that rhs represents. Must be a scalar Tensor for per-tensor quantization, or 1D Tensor of size rhs.dim_size(kernel_output_feature_dimension), for per-channel quantization.
rhs_zero_points A Tensor of type int32. The int32 value(s) used as zero_point when quantizing original data that rhs represents. Same shape condition as rhs_scales.
Tout A tf.DType from: tf.float32. The type of output Tensor.
padding A string. string from: "SAME", "VALID", or "EXPLICIT", indicating the type of padding algorithm to use.
rhs_quantization_min_val An int. The min value of the quantized data stored in rhs. For example, if Trhs is qint8, this must be set to -127 if narrow range quantized or -128 if not.
rhs_quantization_max_val An int. The max value of the quantized data stored in rhs. For example, if Trhs is qint8, this must be set to 127.
window_strides An optional list of ints. Defaults to []. The stride of the sliding window for each spatial dimension of lhs. Must be an empty list (default) or a list of size (number of spatial dimensions). If an empty list is provided, the stride for each spatial dimension is set to 1.
explicit_padding An optional list of ints. Defaults to []. If padding Attr is "EXPLICIT", must be set as a list indicating the explicit paddings at the start and end of each lhs spatial dimension. Otherwise, this Attr is must be empty.

(If used,) Must be a list of size 2 * (number of lhs spatial dimensions), where (explicit_padding[2 * i], explicit_padding[2 * i + 1]) indicates spatial_dimensionsi.

lhs_dilation An optional list of ints. Defaults to []. The dilation factor to apply in each spatial dimension of lhs. Must be an empty list (default) or a list of size (number of lhs spatial dimensions). If empty list, the dilation for each lhs spatial dimension is set to 1.
rhs_dilation An optional list of ints. Defaults to []. The dilation factor to apply in each spatial dimension of rhs. Must be an empty list (default) or a list of size (number of rhs spatial dimensions). If empty list, the dilation for each rhs spatial dimension is set to 1.
batch_group_count An optional int. Defaults to 1. The number of batch groups. Used for grouped filters. Must be a divisor of output_feature.
feature_group_count An optional int. Defaults to 1. The number of feature groups. Used for grouped convolutions. Must be a divisor of both lhs_feature and output_feature.
dimension_numbers An optional string. Defaults to "". Structure of dimension information for the convolution op. Must be an empty string (default) or a serialized string of tensorflow.UniformQuantizedConvolutionDimensionNumbersAttr proto. If empty string, the default is ("NCHW", "OIHW", "NCHW") (for a 2D convolution).
rhs_quantization_axis An optional int. Defaults to -1. Indicates the dimension index of the tensor where per-axis quantization is applied for the slices along that dimension. If set to -1 (default), this indicates per-tensor quantization. For the rhs, only per-tensor quantization or per-channel quantization along kernel_output_feature_dimension is supported. Thus, this attribute must be set to -1 or dimension_numbers.kernel_output_feature_dimension. Other values will raise error at OpKernel construction.
name A name for the operation (optional).

A Tensor of type Tout.