-
Notifications
You must be signed in to change notification settings - Fork 218
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
请教一下导出到onnx的问题 #329
Comments
关于这个先quant再dequant的问题,是onnx自己规定的: quant, dequant算子没有正确shape的问题将在 #326 这个补丁中修复。 如果你的模型使用 quant, dequant 节点来传递量化信息,那么应当不再需要 config_save_to 参数,所有的量化参数都已经写入onnx之中。TQC上的 policy LINEAR 指明使用线性量化,与之对应的可以使用 FLOATING 指明使用浮点量化。 |
感谢回复!这里虽然 shape 是可选的,在我的实际开发中其实也是可选的,但是我在程序中有一个假设就是如果 input 指定了 shape,那么整张 onnx 图就应该是都带 shape 的。这里没有 shape 会导致逻辑上不太好处理((( |
模型只是一种表示,实际推理ort 还会对图做一次优化,最终也是走的linearconv 和linearadd |
在使用
ONNXRUNTIME
平台导出时,我有如下几个问题:问题 1:
以一个 conv 为例:
这里 ppq 量化出来的结果是这样的:
令我感到疑惑的点在于为何是先 quant 再 dequant?这样不就是依然在用 fp32 计算 conv 了吗?
问题 2:
在指定 shape 之后,似乎在 quant 和 dequant 算子中并没有关于 shape 的额外描述。而只在其他地方有关于 shape 的描述,请问一下这是正常的吗?因为我在后续开发中没有这个信息可能还得额外处理一下。
问题 3:
同样是那个 demo 代码,似乎是新版本的
export_ppq_graph
函数新增了一个config_save_to
参数。这个参数看起来是用来描述每一个 tensor 的量化策略的。请问一下如果我拿到了完整的 onnx model,是不是这些 policy 就已经存放在 onnx 里了,从而不需要管这个 config 文件呢?(同时那个 policy 里面的 LINEAR 是什么意思不太明白,但看起来好像所有 LINEAR 属性的值都是 true,是不是不用管(()烦请赐教!
The text was updated successfully, but these errors were encountered: