Pytorch/Paddle全流程训练+部署模型到JetsonNano(TensorRT加速)

一、 pytorch训练+nano部署(tensorrt)

我的Nano环境:

item版本
cuda10.2
jetpack4.4
tensorrt7.1.3
torch&torchvision不需要
数据集:将labelme格式转化为voc格式,将voc格式转化为yolo格式
根据train_and_export.ipynb训练并导出best.wts
在jetsonnano上gitclone_tensorrtx
best.wts转化为best.engine
运行infer.py实时推理

1 数据集转化

​ git clone https://github.com/Promethe-us/DeployOnJetsonNano

里面有数据集转化的py文件

  • labelme打完标签的数据后是这样的:
    title

  • 运行 labelme2voc.py转成voc数据集
    title

  • 运行 voc2yolo.py文件转成yolo数据集
    title

2 训练并导出模型

按照中的DeployOnJetsonNano/yolov5/tran_and_export.ipynb操作即可,得到 best.wts 文件下载到nano上

3 .wts转为.engine

  • 在jetsonnano上
!git clone https://github.com/wang-xinyu/tensorrtx.git

​ 将best.wts放置在 tensorrtx/yolov5/下

  • 修改tensortx/yolov5/yololayer.h 的 CLASS_NUM、INPUT_H、INPUT_W

    title

  • 在tensortx/yolov5/下打开Terminal

    mkdir build
    cd build
    cmake ..
    make
    

    转换为 best.engine

    #在build目录下
     sudo ./yolov5 -s ../best.wts ../best.engine s
    

    在yolov5目录下得到 best.engine

4 修改一些小bug

  • Illegal instruction (core dumped):
    • https://blog.csdn.net/qiaoyurensheng/article/details/121711395?spm=1001.2101.3001.6661.1&utm_medium=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_antiscanv2&depth_1-utm_source=distribute.pc_relevant_t0.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1.pc_relevant_antiscanv2&utm_relevant_index=1
  • no module named ‘Pycuda’:

5 运行infer.py

之前git clone了https://github.com/Promethe-us/DeployOnJetsonNano

将DeployOnJetsonNano/yolov5/infer.py 放到 nano的 tensorrtx/yolov5/下面

然后终端运行(USB摄像头,CSI摄像头改一下下infer.py即可)

python3 infer.py

我选择的是 yolov5 v6.0 inputsize=(320,320)

没有tensorrt加速,帧率为20左右

经过加速(运行infer.py)结果如下:

title

二、 paddle训练+nano部署(tensorrt)

环境信息:

item版本
cuda10.2
jetpack4.4
tensorrt7.1.3
paddle2.2.2

详细流程我发在AIStudio上了:https://aistudio.baidu.com/aistudio/projectdetail/3795449?

使用ppyolo模型(tensorrt加速) 推理效果如下

title

  • 2
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Jetson Nano可以使用TensorRT进行加速推理。首先,确保Jetson Nano上安装了最新版本的JetPack 4.4,其中包含了TensorRT 7.1的安装。此外,还需要安装PyTorch 1.6.0以及相应的CUDA和cuDNN版本。请注意,Jetson Nano上的TensorRT版本与加载的ONNX模型版本要保持一致,否则可能会导致加载模型时出现问题。 同时,在执行任何与AI相关的操作时,务必给Jetson Nano安装风扇来散热,并使用外部适配器供电(最好使用3A输出的电源)。这样可以确保Jetson Nano在进行深度学习任务时能够保持稳定和良好的性能。 总结起来,Jetson Nano可以使用TensorRT进行深度学习推理加速,但在使用之前需要确保安装了相应的软件包,并采取适当的散热和供电措施。对于更详细的Jetson Nano的介绍和基本使用方法,可以参考相关博客文章。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Jetson Nano目标检测手把手实战教程(pytorch训练tensorrt推理,含完整代码和数据)](https://blog.csdn.net/qianbin3200896/article/details/108949723)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值