分享

NVIDIA Jetson YOLOv5应用与部署

 beginnow1 2022-11-22 发布于广东

前言

在NVIDIA Jetson AGX Xavier 部署YOLOv5的深度学习环境,然后能正常推理跑模型。

首先介绍在NVIDIA Jetson 安装类似于Conda的虚拟环境,然后创建一个环境用来跑yolov5的;

然后在创建好的环境,跑起yolov5,总结要点。

目录

一、安装虚拟环境

二、创建环境

三、安装torch、torchvision

3.1 安装torch

3.2 安装torchvision

3.3 测试torch、torchvision

四、安装YOLOv5依赖库

五、测试模型

六、NVIDIA Jetson 开发常用命令

一、安装虚拟环境

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./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 torchprint(torch.cuda.is_available())print(torch.backends.cudnn.version())import torchvisionprint(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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多