anijain2305 commented on a change in pull request #7474:
URL: https://github.com/apache/tvm/pull/7474#discussion_r580763624
##########
File path: include/tvm/relay/qnn/attrs.h
##########
@@ -78,13 +78,18 @@ struct QuantizeAttrs : public tvm::AttrsNode<QuantizeAttrs>
{
/*! \brief Attribute for dequantize operator */
struct DequantizeAttrs : public tvm::AttrsNode<DequantizeAttrs> {
int axis;
+ DataType out_dtype;
TVM_DECLARE_ATTRS(DequantizeAttrs, "relay.attrs.DequantizeAttrs") {
TVM_ATTR_FIELD(axis)
.describe(
"The channel axis for channel wise dequantization. Default value
is -1,"
"which corresponds to the last axis.")
.set_default(-1);
+ TVM_ATTR_FIELD(out_dtype)
+ .describe(
+ "The datatype we are dequantizing to (float32 or int32). Defaults
to float32.")
Review comment:
Introducing a new quantization related operator like -
`simulated_quantize` might be better. This op could take any input dtype and
any out dtype, and you can handle all the cases internally. You can use this op
for calibration, and once you have figured out good scale and zero points, you
can replace this with its QNN counterpart depending on the in and out dtypes.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]