NVIDIA Jetson YOLOv5应用与部署
Posted 一颗小树x
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NVIDIA Jetson YOLOv5应用与部署相关的知识,希望对你有一定的参考价值。
前言
在NVIDIA Jetson AGX Xavier 部署YOLOv5的深度学习环境,然后能正常推理跑模型。
首先介绍在NVIDIA Jetson 安装类似于Conda的虚拟环境,然后创建一个环境用来跑yolov5的;
然后在创建好的环境,跑起yolov5,总结要点。
目录
一、安装虚拟环境
NVIDIA Jetson AGX Xavier 是arm架构的,无法正常无法安装Anaconda或Miniconda,但可以使用miniforge。两者使用起来并无明显区别,这里是指相关命令;不同点是:miniforge的下载通道是conda-forge。
miniforge的GitHub地址:https://github.com/conda-forge/miniforge
miniforge的.sh release下载地址:https://github.com/conda-forge/miniforge/releases
下载这种格式的 Mambaforge-x.xx.x-x-Linux-aarch64.sh 示例:
然后正常运行安装即可
sh Mambaforge-x.xx.x-x-Linux-aarch64.sh
二、创建环境
这里的命令和conda一样的;环境名称:yolov5;指定Python版本3.6(这个更重要,这个更重要,这个更重要!)
conda create -n yolov5 python=3.6
为什么一定要Python3.6的版本啊?其他不行吗?
一开始我是安装了Python3.9;后来安装Python3.7;发现都无法在 Jetson AGX Xavier 正常使用CUDA;后来发现这个系列目前的cuda10.2 ,对应Pytorch版本只支持Python3.6的,唉之前纠结了我一天时间。
然后添加环境变量(解决”Illegal instruction (core dumped)“错误)
sudo vim ~/.bashrc # 打开文件
export OPENBLAS_CORETYPE=ARMV8 # 末尾添加环境变量export OPENBLAS_CORETYPE=ARMV8,保存并关闭文件
source ~/.bashrc # 更新环境变量文件
三、安装torch、torchvision
这个比较关键,影响到能否正常使用cuda和GPU;先看一下torch和torchvision 之间的版本对应关系,这个很重要。
yolov5 需要 torch v1.7.0、torchvision 0.8.1
3.1 安装torch
来到官网下载PyTorch v1.7.0:https://forums.developer.nvidia.com/t/pytorch-for-jetson-version-1-10-now-available/72048
通过下面的指令进行安装:
pip install torch-1.7.0-cp36-cp36m-linux_aarch64.whl
3.2 安装torchvision
来到官网下载0.8.1版本的torchvision:https://github.com/pytorch/vision/tags
先安装编译依赖
sudo apt-get install libjpeg-dev libavcodec-dev libavformat-dev libswscale-dev
pip install pillow --no-cache-dir
下载完成后解压缩,cd到这个解压缩的文档中,执行以下命令进行安装:
python setup.py install
3.3 测试torch、torchvision
import torch
print(torch.cuda.is_available())
print(torch.backends.cudnn.version())
import torchvision
print(torchvision.__version__)
输出:(测试环境正常信息)
True
8000
0.8.0a0
四、安装YOLOv5依赖库
下载yolov5代码(目前最新是第六版),然后进入目录:
git clone https://github.com/ultralytics/yolov5
cd yolov5
修改 requirements.txt 文件,注释torch、torchvision两行就可以了
vim requirements.txt
安装依赖库
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple
-i https://mirrors.aliyun.com/pypi/simple 这是基于阿里云加速安装的。
五、测试模型
python detect.py --weights 'detect_models/yolov5s.pt' --source xx.mp4
......................................
这是测试视频是1920*1080大小的,每一帧平均时间是36ms左右,感觉还不够快,后面再用TensorRT加速去加速。
部分效果:
六、NVIDIA Jetson 开发常用命令
基础信息:jetson_release
监控信息 先安装:sudo -H pip3 install jetson-stats
查看状态:sudo jtop
查询系统版本: cat /etc/lsb-release
查询内核心版本:uname -a
CPU概况:lscpu
硬盘概况:sudo parted -l
存档空间概况:df -h
查看运行进程:top
cuda版本:nvcc -V
以上是关于NVIDIA Jetson YOLOv5应用与部署的主要内容,如果未能解决你的问题,请参考以下文章
NVIDIA Jetson AGX Xavier YOLOv5应用与部署
NVIDIA Jetson YOLOv5 tensorRT部署和加速 C++版
NVIDIA Jetson YOLOv5 tensorRT部署和加速 C++版