许可优化
许可优化
产品
产品
解决方案
解决方案
服务支持
服务支持
关于
关于
软件库
当前位置:服务支持 >  软件文章 >  Jetson Xavier NX部署YOLOv5环境完整教程

Jetson Xavier NX部署YOLOv5环境完整教程

阅读数 3
点赞 0
article_banner

一、apt和pip3全局镜像源设置

xavier NX  下载都是国外的,存在下载很慢的问题,所以我们选择国内下载速度较快的清华镜像源

1.apt换清华源

重新编辑source.list文件

sudo vim /etc/apt/sources.list

更换清华源(删除官方源复制粘贴清华源)

deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main universe restricted
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main universe restricted

更新源

sudo apt-get update

2.pip3换清华源

直接终端输入

pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

二、环境安装(virtualenv)

1. 安装虚拟环境virtualenv(养成好习惯)

直接pip3因为网络原因会比较慢,所以提前配置了镜像源

sudo pip3 install virtualenv virtualenvwrapper

创建目录用来存放虚拟环境

mkdir $HOME/.virtualenvs

修改环境变量

vim ~/.bashrc

添加下面三行到最下面

export WORKON_HOME=$HOME/.virtualenvs
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source /usr/local/bin/virtualenvwrapper.sh

运行变量

source ~/.bashrc

运行结果

   更多详细的内容参考这位朋友的文章,可以说写的是非常完整:虚拟环境搭建

创建一个叫做yolov5的虚拟环境,与原opencv进行链接

 # 这里采用的直创建python3的虚拟环境 
 mkvirtualenv -p /usr/bin/python3 yolov5
 #激活环境:
workon yolov5
#找到原生的OpenCV位置(寻找 .so 档案,大家应该都一样会在 /usr/lib/python3.6/dist-packages/cv2/python-3.6/ 里面):
sudo find / -name cv2
#建立链接,注意查看路径根据自己的路径来修改
ln -s /usr/lib/python3.6/dist-packages/cv2/python-3.6/cv2.cpython-36m-aarch64-linux-gnu.so ./nx/yolov5/lib/python3.6/site-packages

三、安装pytorch和torchvision

1.安装pytorch

我的Jetson Xavier NX默认cuda版本是:10.2,对应的pytorch版本为1.8.0,如果cuda版本和我的不一样,可以去pytorch官网看一下:pytorch官网

   由于Jetson Xavier NX是arm架构,需要下载相对应的torch,然后编译安装。

   我安装的torch:torch-1.8.0-cp36-cp36m-linux_aarch64.whl

   百度网盘:

   链接:https://pan.baidu.com/s/1UuTqBxg2uViguP_ruFod7Q

   提取码:f9sz

安装如下:

#安装需要的包
sudo apt-get install python3-pip libopenblas-base libopenmpi-dev 
pip3 install Cython
#numpy根据我自己的版本选择的1.19.3
pip3 install numpy==1.19.3
#安装pytorch
pip3 install torch-1.8.0-cp36-cp36m-linux_aarch64.whl

验证安装是否成功:

python3
>>>import torch
>>>print(torch.__version__)
#出现版本号就算成功

注意:如果numpy安装的版本过高会出现“非核心转储”的错误(一开始我安装的1.19.5的numpy,后面uninstall下载的1.19.3版本解决问题)

2.安装torchvision

torchvision一定要和pytorch相对应!下面是一份对应版本的表格
在这里插入图片描述

   我的是1.8.0的pytorch,所以这里是对应的0.9.0的torchvision

   百度网盘:链接:https://pan.baidu.com/s/1dnXpIkXFRmm15-YAn1kVnA

   提取码:auvg

   安装步骤:

#我直接放在桌面上的
cd torchvision
#设置临时变量(x就是你的版本号,我这里是9)
export BUILD_VERSION=0.x.0 
#开始安装(注意这里--user是安装在主环境,如果是虚拟环境要改为 --你的环境名)
python3 setup.py install --user

编译可能需要10多分钟,到最后可能pillow安装不上会卡死,可以直接退出单独安装,8.4.0的版本就刚好合适

pip install pillow==8.4.0

最后验证是否安装成功

python3
>>>import torchvision
>>>print(torchversion.__version__)
#出现版本号就算成功

四.搭建yolov5环境

然后安装yolov5必须的环境依赖

sudo apt-get install liblapack-dev
sudo apt-get install libblas-dev
sudo apt-get install gfortran	
pip3 install scipy

pip3 install matplotlib pyyaml tensorboard tqdm 
#安装seaborn时会自动安装matplotlib和pandas
pip3 install seaborn

下载yolov5-5.0的代码,安装里面必须的环境

   注意:这里面因为我们已经安装了pillow和matplotlib以及numpy了,所以可以删除他们避免覆盖掉之前安装的版本导致报错

git clone -b v5.0 https://github.com/ultralytics/yolov5.git
cd yolov5/
pip install -r requirements.txt

这里我是想要做 摄像头  的实时检测推理的,在我搭建好yolov5环境后运行发现有问题,一直无法调用摄像头,这个问题前前后后折腾了我两周,中间还重新烧录了一次系统,最后稀里糊涂的解决了这个问题,我感觉应该是之前的opencv-python的版本有问题,开发板的Linux系统和电脑的有所不同,最后我安装的opencv-python的版本为:

opencv_python-4.5.1.48-cp36-cp36m-manylinux2014_aarch64.whl
下载地址为:https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/opencv-python/

后面几乎都没有出过问题,直到我使用pyside2的时候又出现过一系列的问题,此时我又将opencv-python的版本降低到:

opencv_python-3.4.13.47-cp36-cp36m-manylinux2014_aarch64.whl

至此,yolov5的环境基本搭建完成,可以成功调用摄像头,帧率大概在10~20左右,在这个情况下很难满足实时检测 推理  所以我们采用TensorRT加速。

五、 TensorRT 加速推理yolov5

这里我们直接采用大佬给我们铺垫好的tensorrtx,下载地址为:

  https://github.com/wang-xinyu/tensorrtx
在这里插入图片描述

   记得选择我们的相同的5.0版本


免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删



相关文章
技术文档
QR Code
微信扫一扫,欢迎咨询~
customer

online

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 board-phone 155-2731-8020
close1
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

姓名不为空

姓名不为空
手机不正确

手机不正确

手机不正确
公司不为空

公司不为空

公司不为空