Jetson TX2上配置archiconda、Yolov5、tensorrtx环境问题记录

前言

本文主要记录在Jetson TX2上配置archiconda、Yolov5、tensorrtx环境中遇到的问题以及解决方法。以及一些包的分享。

一、Jetson TX2刷机

刷机步骤就不详细列出了,这个可以在很多博客中找到。附上链接:
Nvidia Jetson TX2刷机

二、安装archiconda

由于Jetson tx2是aarch64架构,在aconda官网上下载的不能使用。这里分享一下在tx2上使用的conda包。
网盘链接:
链接:https://pan.baidu.com/s/1Na-ipbFQR8uGSDDPkGLimg
提取码:1111
然后运行以下命令

chmod +x Archiconda3-0.2.3-Linux-aarch64
sudo ./Archiconda3-0.2.3-Linux-aarch64

安装后使用conda create -n XXXXX python=3.6 //以python3.6创建环境
注意:此处一定要用python=3.6,因为gpu版本的torch和touchvision最新版本只支持python3.6。
使用conda activate XXXXX //激活创建的环境
使用conda deactivate //退出环境
创建的环境保存在archiconda/envs/目录下

***提示:以后的所有操作一定要都要在虚拟环境下!!!***

在虚拟环境中:
Jetson TX2上配置archiconda、Yolov5、tensorrtx环境问题记录
在正常情况下:
Jetson TX2上配置archiconda、Yolov5、tensorrtx环境问题记录

三、安装torch和torchvision

提示:这里只分享GPU版本的环境安装,因为CPU训练和推理太慢了。GPU版本的资料不太好找。
我的Jetson TX2环境:
Ubantu:18.04
JetPack:4.5.1
CUDA:10.02
我用的torch版本为1.8.0,torchvision版本为0.9.0。

***提示:安装Yolov5环境依赖包(requirements.txt)之前,一定要先安装torch和torchvison,因为自动下载的包不支持aarch64架构!***

网盘链接:
链接:https://pan.baidu.com/s/1f7MzdNx1ui54Z3k9LtryhQ
提取码:1111
下载后运行:

pip install torch-1.8.0-cp36-cp36m-linux_aarch64.whl
pip install torchvision-0.9.0a0+01dfa8e-cp36-cp36m-linux_aarch64.whl

问题1:

安装过程中提示:No module named ‘wheel’
跑步:

python -m pip install wheel setuptools

然后再次运行安装。

三、Yolov5环境配置

3.1Yolov5下载

Yolov5源码需要去github下载,我这里只下载了v4.0、v5.0、master版本。
(如果用tensorrtx的话推荐使用v4.0或v5.0,我用master版本会提示模型不匹配,我没有解决这个问题)

***提示:如果需要tensorrtx加速的话,在这里一定要选择好版本,因为tensorrtx和yolov5版本要对应。***

Yolov5下载地址(需要科学上网)
网盘链接:
链接:https://pan.baidu.com/s/1uqzKBoGCEqxVdRbDa-t6Xg
提取码:1111

3.2Yolov5环境配置

解压之后,文件夹下有个requirements.txt文件,首先将torch和torchvision注释了,之前已经安装过了。
然后执行:

pip install -r requirements.txt

3.3Yolov5使用

参考这个博客:
YOLOv5的详细使用教程,以及使用yolov5训练自己的数据集
注意:
Jetson TX2上配置archiconda、Yolov5、tensorrtx环境问题记录
这篇博客在训练自己的模型时,GPU用的是--device 1,这个不尽相同,我的用的是--device 0,有报错不要慌,看看是不是命令行有空格或者错误。

3.4问题

1、在conda环境下使用pip命令出现“Illegal instruction (core dumped)”,中文“非法指令(核心转储)“。
很可能是numpy库的问题,如果conda环境下没有numpy库的话,那就是base基础环境下numpy的问题。
卸载numpy库,然后安装低于1.20版本。

pip uninstall numpy
pip install numpy==1.19.3

如果你都试过了还是不能解决,建议刷机。我的问题就是这样解决的。
tx2本身会自带python2环境,这个一定不要卸载,它有tx2运行的依赖库。
安装archconda环境之后还会安装python3.7。
一些库文件往往会使环境混乱。建议刷机刷环境。

2、安装matplotlib报错,系统自动安装很多版本都不行。
可以用安装包自己安装,我这个是3.3.4版本的:
网盘链接:
链接:https://pan.baidu.com/s/1iIGbN3uec-rY6bzlkCHYXQ
提取码:1111
然后运行:

pip install matplotlib-3.3.4-cp36-cp36m-linux_aarch64.whl

如果其他库有问题,也可以下载安装包,这样安装。

四、tensorrtx下载与使用

3.1tensorrtx下载

tensorrtx源码需要去github下载,我这里只下载了v4.0、v5.0、master版本。
(如果用tensorrtx的话推荐使用v4.0或v5.0,我用master版本会提示模型不匹配,解决不了)

***提示:tensorrtx和yolov5版本要对应。***

tensorrtx下载地址(需要科学上网)
网盘链接:
链接:https://pan.baidu.com/s/1YO5N6ebIEn5LhLqfp3ljZw
提取码:1111

3.2tensorrtx使用

参考这个博客:
Jetson AGX Xavier实现TensorRT加速YOLOv5进行实时检测

3.3问题

1、运行sudo ./yolov5 -d yolov5s.engine ../samples
read_files_in_dir failed出现问题。
解决:一定要先修改yolov5.cpp文件,然后make一下再去运行此语句,不然.cpp文件会认为你是在生成.engine文件。
2、调用摄像头出现延迟。
上文中使用opencv调用摄像头,在我使用的板子上,不管是USB摄像头,或者是网络摄像头,都会出现一定的延迟。
造成这个现象的原因,是opencv把视频的每一帧都送去处理,处理速度跟不上送进来的速度,会造成堵塞卡顿。
借用本博客介绍的方法,成功解决了这个问题:
opencv读取视频有延迟解决方法
如果文中所介绍的方法如果还是有一定延迟的话,可以尝试多加几行,我的程序就是加了3行基本实时处理。
注意:加这行语句一定要适中,有延迟多加一点,但是加多容易使画面变成PPT。
例子:

capture >> frame
capture >> frame
capture >> frame

后边还有Deepstream和yolov5_in_deepstream部署,我没有部署成功。

文章出处登录后可见!

已经登录?立即刷新

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
心中带点小风骚的头像心中带点小风骚普通用户
上一篇 2022年3月29日 下午5:44
下一篇 2022年3月29日

相关推荐