qonnx.custom_op.general.bipolar_quant (module)

class qonnx.custom_op.general.bipolar_quant.BipolarQuant(onnx_node, onnx_opset_version=11)

Bases: qonnx.custom_op.base.CustomOp

Bipolar quantization operation for QONNX. Takes four inputs: - input tensor to quantize - the scale

The output is a tensor of the same shape as the input tensor, with quantized values.

execute_node(context, graph)

Execute this CustomOp instance, given the execution context and ONNX graph.

get_integer_datatype(model)
get_nodeattr_types()

Returns a dict of permitted attributes for node, where: ret_dict[attribute_name] = (dtype, require, default_value, <allowed_values>) - dtype indicates which member of the ONNX AttributeProto will be utilized - require indicates whether this attribute is required - default_val indicates the default value that will be used if the attribute is not set - <allowed_values> (if specified) indicates that this attribute can only be set to one of the values in the set <allowed_values>. If not specified, all values permitted by dtype are allowed.

get_output_dtype(model)
infer_node_datatype(model)

Set the DataType annotations corresponding to the outputs of this node.

make_shape_compatible_op(model)

Returns a standard ONNX op which is compatible with this CustomOp for performing shape inference.

verify_node()

Verifies that all attributes the node needs are there and that particular attributes are set correctly. Also checks if the number of inputs is equal to the expected number.

qonnx.custom_op.general.bipolar_quant.binary_quant(inp_tensor, scale)