code源码
相关知识
pytorch模型转换(.pt)的tensorrt模型(.engine)在不同环境下需要重新转换
- tensorrt转换出来的模型实际上是和硬件绑定的
- 与显卡和显卡相关驱动软件(cuda、cudnn)有关
一、环境配置:
python >= 3.8
pytorch_cuda = 11.8
pytorch = 2.2.2
onnxruntime-gpu
onnx
tensorrt = 8.6.1
多个版本的cuda安装
安装cuda11.8
pytorch
anaconda:python
print(torch.cuda.is_available())
二、TensorRt 加速推理
方法一:使用C++生成.engine推理:.pt -> .wts -> .engine
# 直接在Pycharm下运行yolov8_tensorrt-main的gen_wts
python gen_wts # 将.pt模型生成.wts模型
方法二:使用Python生成.enging推理:.pt->.onnx->.engine
配置TensorRt环境
anaconda:python
import tensorrt as trt
print(trt.__version__)
TensorRT - 自带工具trtexec的参数使用说明
- trtexec是在tensorrt包中自带的转换程序,该程序位于bin目录下
- 需要系统安装好cuda和cudnn
cmd: trtexec.exe
# 参数
–fp16 : 除 fp32 外,启用 fp16 精度(默认 = 禁用)
–int8 : 除 fp32 外,启用 int8 精度(默认 = 禁用)
–best : 启用所有精度以达到最佳性能(默认 = 禁用
ONNX转TensorRT加速模型推理:包含pytorch自带的转onnx
trtexec --onnx=model.onnx --tacticSources=-cublasLt,+cublas --workspace=2048 --fp16 --saveEngine=model.engine --verbose
注意
配置环境换源:加速下载拓展库
Raspberry Pi 与Ultralytics YOLOv8
部署到Jetson Nano上进行不同模型的推理
Jetson Nano主板资料: https://www.yahboom.com/study/jetson-nano 密码: 72q3
外壳安装:https://www.yahboom.com/study_module/jn-shell
接上电源没有启动,无指示灯灯亮解决方案:需要拔掉J48的跳线帽重新查一下(出厂时是错位插着的,所以需要重插),可以访问以下链接查看跳线帽图示https://www.yahboom.com/build.html?id=2495&cid=301