-
Notifications
You must be signed in to change notification settings - Fork 42
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
Half model error #28
Comments
TPAT在生成Plugin的过程里,会多次使用shapeinference 推算出出对应算子的输入输出形状(shape-inference对无法预测的场景会使用onnx-runtime真实的跑一遍). 但CodeFormer.onnx这个文件似乎没有办法用Onnx-runtime跑起来,你可以先确保这个文件能用shape inference和onnx runtime跑起来吗? |
另外:对于比较大的onnx,我们比较建议可以手写一个onnx,包括你需要生成plugin的op,Shape保持一致,生成了对应的plugin之后,将这个比较大的onnx type改为plugin的Class name。这样onnx-parser也可以识别你这个plugin |
感谢回复,原版的onnx使用onnxruntime是可以正常使用,明天我会尝试shape
inference测试,感谢大佬的回复,明天上午我会放上测试结果以及代码
QianQiu ***@***.***> 于2023年3月1日周三 17:19写道:
… TPAT在生成Plugin的过程里,会多次使用shapeinference
推算出出对应算子的输入输出形状(shape-inference对无法预测的场景会使用onnx-runtime真实的跑一遍).
但CodeFormer.onnx这个文件似乎没有办法用Onnx-runtime跑起来,你可以先确保这个文件能用shape inference和onnx
runtime跑起来吗? shape infernece :
http://www.xavierdupre.fr/app/onnxcustom/helpsphinx/api/onnx_python/shape_inference.html
Onnx-runtiem : https://onnxruntime.ai/docs/
另外:对于比较大的onnx,我们比较建议可以手写一个onnx,包括你需要生成plugin的op,Shape保持一致,生成了对应的plugin之后,将这个比较大的onnx
type改为plugin的Class name。这样onnx-parser也可以识别你这个plugin
—
Reply to this email directly, view it on GitHub
<#28 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/ANOJGHQBZXMGE4FZOYNAYCDWZ4ICLANCNFSM6AAAAAAVLXCGZM>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
这是我的onnx测试代码,使用shape_Infer和onnxruntime均没有问题。这是一个超分辨率的模型
|
我这里没有对应的一些环境,可以请你用shape_inference和onnxruntime跑一下half_model.onnx吗? half_model.onnx是CodeFormer.onnx 里从input截取到ScatterElements这个op的子图 |
加载了half_model后报一样的错误 |
实际上TPAT的dynamic Batch的方案使用Padding的方式实现的。核心思路是对dynamic batch的onnx模型填充进batch维,生成了各自对应的plugin之后,用一个统一的plugin给拼起来。
|
了解🫡 |
感谢大佬们开源的工作。
在使用TPAT产生插件ScatterElements的时候,产生如下报错
onnxruntime.capi.onnxruntime_pybind11_state.Fail: [ONNXRuntimeError] : 1 : FAIL : Node (Concat_52) Op (Concat) [ShapeInferenceError] Can't merge shape info. Both source and target dimension have values but they differ. Source=1 Target=3 Dimension=0
我的运行命令为:
python onnx_to_plugin.py -i CodeFormer.onnx -o plan.onnx -n ScatterElements_1022 -dynamic=true -min=1 -max=6 -opt=3
报错位置发生在
python/cuda_kernels.py compute_tensor()
,重新加载half_model.onnx的时候,报错日志如下附上onnx的地址
原始onnx
half model
希望大佬帮忙可以解答一下这个问题,感恩!
The text was updated successfully, but these errors were encountered: