Jetson Nano部署yolov5

环境配置

1、配置CUDA

1.1、编辑.bashrc文件

gedit ~/.bashrc

1.2、在最后添加下方代码

export PATH=/usr/local/cuda-10.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_ROOT=/usr/local/cuda

1.3、应用修改完的配置

source ~/.bashrc

1.4、检查是否配置成功

nvcc -V

2、安装pip3

sudo apt-get update
sudo apt-get install python3-pip python3-dev -y

3、配置需要用到的库

sudo apt-get install build-essential make cmake cmake-curses-gui -y
sudo apt-get install git g++ pkg-config curl -y
sudo apt-get install libatlas-base-dev gfortran libcanberra-gtk-module libcanberra-gtk3-module -y
sudo apt-get install libhdf5-serial-dev hdf5-tools -y
sudo apt-get install nano locate screen -y

4、安装所需要的依赖环境

sudo apt-get install libfreetype6-dev -y
sudo apt-get install protobuf-compiler libprotobuf-dev openssl -y
sudo apt-get install libssl-dev libcurl4-openssl-dev -y
sudo apt-get install cython3 -y

5、安装opencv的系统及依赖,一些编解码的库

sudo apt-get install build-essential -y
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev -y
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff5-dev libdc1394-22-dev -y
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev -y
sudo apt-get install libxvidcore-dev libx264-dev -y
sudo apt-get install libatlas-base-dev gfortran -y
sudo apt-get install ffmpeg -y

6、更新CMake

wget http://www.cmake.org/files/v3.13/cmake-3.13.0.tar.gz
tar xpvf cmake-3.13.0.tar.gz cmake-3.13.0/  
cd cmake-3.13.0/
./bootstrap --system-curl	
make -j4 
echo 'export PATH=~/cmake-3.13.0/bin/:$PATH' >> ~/.bashrc
source ~/.bashrc 

7、安装pytorch

如果Linux系统安装不了百度网盘的话,可以用网页微信传输pytorch压缩包。

7.1 下载pytorch1.8

https://forums.developer.nvidia.com/t/pytorch-for-jetson-version-1-9-0-now-available/72048

7.2 安装

路径的话直接从文件夹拖到Terminal就行,会自动写入地址。

sudo pip3 install 路径

8、安装torchvision 0.9.0

注意:要和pytoch版本对应。

git clone --branch v0.7.0 https://github.com/pytorch/vision torchvision
cd torchvision	# 进入目录
export BUILD_VERSION=0.9.0
sudo python3 setup.py install   # 安装

检查是否安装成功

python3
import torch
import torchvision
print(torch.cuda.is_available())	# 输出True那么就成功了
quit()	# 退出python编译  或者ctrl+D也可以退出

9、下载yolov5源码            

git clone https://github.com/ultralytics/yolov5

外网,下载很慢,这里给出一个网盘链接。

链接:https://pan.baidu.com/s/1LgPjInMtwQQk35ykFKk2Ag 
提取码:1111

9、安装yolov5需要的包

9.1 安装一

#下载过程如果因为网络原因失败的话可以在命令后加上 -i https://pypi.tuna.tsinghua.edu.cn/simple 来使用清华镜像源

sudo pip3 install matplotlib==3.2.2
sudo pip3 install --upgrade Cython    #更新一下这个包

注:我在安装matplotlib时就出错了,显示

解决方法:

pip3 install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com matplotlib==3.2.2

9.2 安装二

#numpy有些特殊,已经自带了,但是是apt-get安装的,所以先卸掉原来的,也方便之后包的管理

sudo apt-get remove python-numpy
sudo pip3 install numpy==1.19.4
sudo pip3 install scipy==1.4.1.    # 这个包安装很慢

注:安装numpy也出现问题,显示了三个错

1、failed building wheel for numpy

2、failed cleaning build dir for numpy

3、command....

解决方法:先卸载numpy

sudo pip3 uninstall numpy

但是卸载又报错  ,报错内容为:

Not uninstalling numpy at /usr/lib/python3/dist-packages, outside environment /usr

解决方法:找到usr/lib/python3.0/dist-package文件夹,里面有个-info文件   

sudo rm -rf 文件路径   #例如文件叫numpy-1.3.9.egg-info

最后一个问题: cannot unpack file   

 解决方法:    

pip3 install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com matplotlib==3.2.2

要是别的包就只需要将代码最后面改一下就行。

9.3 安装三

sudo pip3 install tqdm==4.61.2
sudo pip3 install seaborn==0.11.1
sudo pip3 install scikit-build==0.11.1	# 安装opencv需要这个包
sudo pip3 install opencv-python==4.5.3.56	# 不出意外也是一个相当漫长的过程
sudo pip3 install tensorboard==2.5.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
sudo pip3 install --upgrade PyYAML	# 我升级到了5.4.1 也可以sudo pip3 install PyYAML==5.4.1
sudo pip3 install thop
sudo pip3 install pycocotools

10、yolov5使用

上面全都装完之后就可以使用yolov5了。

10.1  yolov5测试

下载一个yolov5s.pt权重文件,进入yolov5文件夹

sudo python3 detect.py --weights yolov5s.pt

10.2  tensorrt加速

a、生成.wts文件(在windows电脑上操作即可)
1.将训练得到的.pt权重文件改名为yolov5s.pt,把它放到yolov5(Tenserrtx)文件夹中。
2.将这个文件 yolov5-5.0(Tensorrtx)\tensorrtx-yolov5-v5.0\yolov5\gen_wts.py
复制粘贴到yolov5(Tensorrtx)文件夹中。

注意: 此时yolov5(Tensorrtx)文件夹中有了 yolov5s.pt和gen_wts.py这两个文件。

然后,在yolov5(Tensorrtx)文件夹中右击鼠标,打开终端,激活在anaconda中自己创建的虚拟环境
比如:conda activate yolov5_5.0。
然后输入命令:

python gen_wts.py -w yolov5s.pt -o yolov5s.wts

b、 build(在Jetson nano上弄)(这一步是生成引擎文件)
1.将上述生成的.wts文件用U盘复制到Jetson nano里的yolov5-5.0(Tensorrtx)\tensorrtx-yolov5-v5.0\yolov5文件夹中。
2.打开上述文件夹里的yololayer.h文件,修改CLASS_NUM的数量(根据自己训练模型的类的个数来设,我的是55)。
3.此时上述文件夹里有(.wts 是在windows电脑上生成的)(yolov5.cpp 未进行过改动)(yololayer.h 已经改为自己训练的类数了)这三个。
4.在上述文件夹中打开终端,依次运行指令:

mkdir build
cd build
cmake ..
make
sudo ./yolov5 -s ../yolov5s.wts yolov5s.engine s

 出错,报错信息如下

10.3 调用摄像头

未完待续。。。

参考来源:

Jetson nano部署Yolov5 ——从烧录到运行 1:1复刻全过程_jetson nano部署yolov5 从烧录到运行_IamYZD的博客-CSDN博客

我的上一篇关于jetson nano的介绍:

 Jetson Nano入门操作-CSDN博客

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Jetson Nano上部署Yolov5,您可以按照以下步骤进行操作: 1. 将生成的.wts文件复制到Jetson Nano上的yolov5文件夹中。您可以使用U盘将文件从Windows电脑复制到Jetson Nano上的yolov5文件夹中。 2. 打开yololayer.h文件,并根据您训练模型的类别数量修改CLASS_NUM的值。这个值应该与您训练模型时使用的类别数量相匹配。 3. 在yolov5文件夹中打开终端,并依次运行以下指令: ``` mkdir build cd build cmake .. make sudo ./yolov5 -s ../yolov5s.wts yolov5s.engine ``` 4. 这样就生成了yolov5s.engine文件,可以用于在Jetson Nano上进行目标检测。 另外,由于Jetson Nano的性能限制,yolov5s模型的识别速度大约为1秒9帧。如果您想提升性能,可以安装pycuda来加速计算。您可以参考相关教程来安装pycuda。 此外,如果您想在Jetson Nano上使用PyCharm进行代码调试,您还需要安装JDK。您可以使用以下指令安装JDK: ``` sudo apt install openjdk-11-jdk ``` 请注意,Jetson Nano在运行原版yolov5时可能会受到内存限制,建议使用命令行来运行最终的部署。 #### 引用[.reference_title] - *1* [Jetson Nano部署YOLOv5与Tensorrtx加速——(自己走一遍全过程记录)](https://blog.csdn.net/Mr_LanGX/article/details/128094428)[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^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Jetson nano部署Yolov5 ——从烧录到运行 1:1复刻全过程](https://blog.csdn.net/IamYZD/article/details/119618950)[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^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值