上一篇:Jetson AGX Xavier安装Pycharm
下一篇:Jetson AGX Xavier实现TensorRT加速YOLOv5进行实时检测
一、前言
由于我最近项目采用的目标检测算法是yolov5,所以我需要在Xavier中配置一个yolov5的独立环境,在此记录一下。
二、创建环境
1、由于yolov5需要安装pytorch,Xavier直接pip安装会失败,好在nvidia给了相应的.whl文件,写文章时最新的是适用python=3.6.x的,创建环境时千万注意(一把老泪)。
conda create -n yolov5env python=3.6.9
conda activate yolov5env
2、本文配置yolov5 v4.0的环境,根据官方requirements.txt进行如下安装:
pip install Cython matplotlib==3.2.2 numpy==1.18.5 Pillow PyYAML==5.4.1 scipy==1.5.4 tensorboard==1.15.0
3、opencv安装详见文章《Jetson AGX Xavier安装python虚拟环境与在虚拟环境中调用opencv》
4、推荐收藏这个网址,并且在这个网址下载PyTorch v1.7.0 pip wheel,评论区也有网盘链接:
pip install torch-1.7.0-cp36-cp36m-linux_aarch64.whl
5、根据版本对应安装torchvision,当然同样无法直接pip安装,所以我们进行源码安装:
git clone -b v0.8.1 https://github.com/pytorch/vision.git vision-0.8.1
接下来一步比较关键,折磨了我很久才解决。torchvision安装需要sudo才能正常安装,否则会在cuda.h那里报错(具体错误我忘记截图了)。
cd vision-0.8.1
sudo /home/jetson/archiconda/envs/yolov5env/bin/python3.6 setup.py install
这里因为是自己创建的环境,所以一定要注意要指定python的路径,否则会安装到基础环境中(再一把老泪)。这里安装完后执行“pip list”我发现torchvision的版本是0.8.0a0,不是很清楚为啥,希望懂得伙伴能告诉我下。
6、继续安装剩下的包:
pip install tqdm==4.58.0 seaborn==0.11.1 pandas thop pycocotools==2.0.2
环境配置完成。
三、测试
接上usb摄像头,将相应的权重文件(评论区百度网盘链接)放在weights文件夹下。
【2022.04.14更新:本文配置的环境作者跑通过v5.0与v4.0两个版本,建议把update参数设置为False,v4.0的detect.py没有check_requirements()了,不用管。v5.0版本注释yolov5中detect.py文件第170行的check_requirements()函数】。开始测试:
git clone -b v4.0 https://github.com/ultralytics/yolov5.git
cd yolov5
python detect.py --source 0 --weights weights/yolov5s.pt --conf 0.25
四、总结
yolov5使用yolov5s.pt在Xavier上实时检测效果比之前TX2上好很多,但是为了追求更快的检测速度,建议使用tensorrt加速,这里我还在学习中。翻过一座山又是一座山,下座山峰见。