I agree that mixed-precision might make avg_pool2d's case a bit tricky.  
However, assuming that the zero-point won't change, we might just do 
```avg_pool2d(x.astype("i32")).astype("i8")```.

max_pool2d though should be the same given that the maximum rule is the same 
regardless of zero point.

Most of the current operator's lowering rule cast back the domain to float then 
back into i32. As in the case of qnn.relu. This could be quite inefficient. In 
most cases of the current symmetric quantization, we try to keep everything in 
i32 as much as possible.

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/dmlc/tvm/issues/2351#issuecomment-508957092

Reply via email to