agree with tqchen. The difference between fixed point and integer is that fixed point has fractional part while integer does not. By adding "point position (pp)" and adding dtype to quantization pass, we could reuse most of quantization API for the same matter. Of course, the TVM compute needs to be modified based on the value of the position. For example, aligning the pp before doing add operation; updating the pp after multiplication. In addition, I think it might not be good to have "func, params = relay.frontend.from_mxnet(block, shape_dict, "fxp16_13")" which means all models flows with same pp. Are you considering different pp in each layer since the precision loss and overflow may have impact on accuracy.
-- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/apache/incubator-tvm/issues/4446#issuecomment-561427751