tensorrt:network must have at least one output错误分析

本文档主要介绍了在使用TensorRT解析ONNX模型时可能遇到的错误,包括`create_network()`参数设置以及ONNXParser解析失败等问题。解决方案涉及调整`create_network()`参数、适配TensorRT和PyTorch版本、替换不支持的操作以及使用onnxsim优化模型。对于解析失败,可能是由于TensorRT不支持某些ONNX操作,需要手动或自动替换。建议使用较低版本的PyTorch生成ONNX文件,并对模型进行适当简化和优化。
部署运行你感兴趣的模型镜像

该错误出现的情况通常为:

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文件进行优化, 将某些不支持的操作进行自动替换.

 

当然出现这种问题的原因还有其他类型的, 不过希望对您有所启发!

您可能感兴趣的与本文相关的镜像

PyTorch 2.6

PyTorch 2.6

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值