Hi,
Request you to share the ONNX model and the script if not shared already so that we can assist you better.
Alongside you can try few things:
validating your model with the below snippet
check_model.py
import sys
import onnx
filename = yourONNXmodel
model = onnx.load(filename)
onnx.checker.check_model(model).
2) Try running your model with trtexec command.
In case you are still facing issue, request you to share the trtexec “”–verbose"" log for further debugging
Thanks!
import onnx
import onnx.checker
model = onnx.load("repro.onnx")
print(model.ir_version) # print "9"
onnx.checker.check_model(model) # onnx.onnx_cpp2py_export.checker.ValidationError: Your model ir_version is higher than the checker's.
Certainly TerrorRT itself supports up to 7 opsets.
On the other hand, it was stated that onnx_tensorrt supports up to 17, so if the model is converted by onnx_tensorrt, there seems to be no problem.
The imported onnx is the one included in the container.
I also tried running trtexec with --verbose, but I don’t see anything suspicious, except the output. verbose.log (2.0 MB)
I tried to implement repro.onnx’s InstanceNormalization by other ops.
Converted onnx produces close results from repro.onnx .
trtexec not produces inf/nan. (!)
Converted model is here.
So, I guess, InstanceNormalization_TRT plugin has issue of implements.
According to the onnx-tensorrt repo, it is used on InstanceNormalization parsing.
Maybe it has something to do with having two versions of InstanceNormalization_TRT loaded.
You can see this in the verbose.log uploaded in the previous post.
I still get around this with a workaround that replaces InstanceNormalization.
Since the number of nodes on onnx will increase, if possible, I am looking for a method that does not produce nan or inf while using InstanceNormalization.