博客
关于我
[TensorRT] ERROR: Network must have at least one output
阅读量:155 次
发布时间:2019-02-26

本文共 699 字,大约阅读时间需要 2 分钟。

TensorRT和ONNX转换的Python脚本优化与应用

在YOLOv3模型中使用TensorRT优化,可以有效提升模型的推理速度。以下是基于TensorRT的ONNX转换与优化方案:

在TensorRT的onnx转换脚本中,建议在parser.parse循环外添加以下两行代码:

```pythonlast_layer = network.get_layer(network.num_layers - 1)network.mark_output(last_layer.get_output(0))

这些代码可以确保网络至少有一个输出层,并避免TensorRT错误:"Network must have at least one output"。

此外,确保所使用的环境支持CUDA。如遇到"No module named 'pycuda'"错误,请检查CUDA安装是否正确。

在实际应用中,建议参考以下配置参数:

```pythonTRT_LOGGER = trt.Logger()TRT_MAX_BIND_SIZE = 1280000TRT_MAX_WS = 1 << 30```

通过合理设置TensorRT的内存分配和精度参数,可以显著提升模型的推理效率。

在实际应用中,建议参考以下性能优化建议:

1. 使用FP32精度进行初步转换,之后可以尝试使用INT8精度以减少内存占用

2. 合理设置TensorRT的max_batch_size

3. 使用Cache文件缓存Calibrator结果以优化性能

结合以上优化方法,可以显著提升TensorRT的推理速度和模型的运行效率。

```

转载地址:http://rlzk.baihongyu.com/

你可能感兴趣的文章
Python 从入门到精通:30天速成教程到底有多狠?你能坚持下来吗?
查看>>
Python 从数据库中存储和检索密码的最安全方法
查看>>
Python语言及其应用 - 知识点遍历
查看>>
Python 优化提速的 8 个小技巧
查看>>
Python 余弦相似度与皮尔逊相关系数 计算
查看>>
python 使用execjs 报编码错误解决办法,UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xac in position 145: il
查看>>
python 使用filetype校验文件
查看>>
Python 使用flush函数将缓冲区数据立即写磁盘
查看>>
python 使用in判断不准确,in不好使
查看>>
Python 使用pandas 进行查询和统计详解
查看>>
Redis 配置文件redis.conf详细解释
查看>>
python网络爬虫(2)——scrapy框架的基础使用
查看>>
python网络爬虫实例教程试读_Python网络爬虫实战教程(全套完整版) - 学途无忧网 - 做技术的王者 - Powered By EduSoho...
查看>>
Python 使用哈希函数用于加密
查看>>
Python 依赖管理的革新——Poetry 深度解析
查看>>
python 保留精度及增加去除数字的千位分隔符(金额化数字)
查看>>
python 倒计时 9,8,7,。。。。。。0
查看>>
Python 入门开发学习笔记之数据的增删改查
查看>>
Python 入门教程(2)搭建环境 2.4、VSCode配置Node.js运行环境
查看>>
Python 八大排序算法合集
查看>>