博客
关于我
[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/

你可能感兴趣的文章
poj2135(简单的最小费用流问题)
查看>>
poj2195 bfs+最小权匹配
查看>>
POJ2251
查看>>
POJ2253-Frogger
查看>>
poj2309
查看>>
POJ2390 Bank Interest【水题】
查看>>
poj2398
查看>>
poj2478欧拉函数
查看>>
poj2546
查看>>
POJ2728 Desert King
查看>>
POJ2794 Double Patience[离散概率 状压DP]
查看>>
poj2828(线段树查找序列第k小的值)
查看>>
POJ2891:Strange Way to Express Integers——题解
查看>>
poj3045 Cow Acrobats(二分最大化最小值)
查看>>
poj3061 Subsequence(尺取法)
查看>>
poj3074 DLX精确覆盖
查看>>
poj3252(组合数)
查看>>
Qt笔记——QToolBox开发简易QQ聊天界面
查看>>
poj3307
查看>>
Qt笔记——QString与隐式共享、MVC架构
查看>>