该错误出现的情况通常为:
1.
with trt.Builder(TRT_LOGGER) as builder, builder.create_network(1) as network, trt.OnnxParser(network, TRT_LOGGER) as parser:
create_network()里的参数尝试设为0或者1进行解决, 一般情况下我在tensorrt6.0系列中不进行设置(默认为0), 在tensorrt7.0系列中设为1.
2.
OnnxParser在解析onnx文件时没解析成功,这个问题一方面可能涉及到pytorch和tensorrt版本的问题,另一方面可能涉及到网络模型有些操作, tensorrt中的onnx解析器不支持,解析不了.
第一方面, tensorrt6.0系列只能使用pytorch1.2及以下版本. 所以需要使用torch1.2生成onnx文件.
第二方面, 就要将一些不支持的操作进行替换, 比如expand_as等操作
有时候上述两方面原因都有, 都需要进行调整. 有时候也需要使用onnxsim命令将onnx文件进行优化, 将某些不支持的操作进行自动替换.
当然出现这种问题的原因还有其他类型的, 不过希望对您有所启发!