当前位置:   article > 正文

Nvidia jetson agx 中部署yolov5,并测试_nvidia jetson agx 中部署yolov5,并测试

nvidia jetson agx 中部署yolov5,并测试

一、前言

在Windows或者Ubuntu系统一般都使用anaconda作为虚拟环境管理器,但是由于jetson系列的产品核心是基于ARM框架的,无法安装acoconda。安装Miniforge. 下载Mambaforge-22.11.1-4-Linux-aarch64.sh
网址https://github.com/conda-forge/miniforge/releases
在这里插入图片描述

安装

sh  Mambaforge-22.11.1-4-Linux-aarch64.sh
  • 1

二、创建环境

1、由于yolov5需要安装pytorch,最新的是适用python=3.8的
https://pytorch.org/get-started/previous-versions

conda create -n yolov5 python=3.8.10  //创建虚拟环境,环境名yolov5
conda activate yolov5     //进入环境
//conda deactivate      //退出
  • 1
  • 2
  • 3

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      
 //执行上述命令时,网速导致安装失败,可加pip临时使用源解决 。-i https://pypi.tuna.tsinghua.edu.cn/simple
 pip install Cython matplotlib==3.2.2 numpy==1.18.5 Pillow PyYAML==5.4.1 scipy==1.5.4 tensorboard==1.15.0 -i https://pypi.tuna.tsinghua.edu.cn/simple
  • 1
  • 2
  • 3

三、虚拟环境中调用opencv

此时我们只需找到 jetson中安装的python下的cv2
/lib/python3.8/dist-packages/cv2/python-3.8 路径下的cv2.cpython-38-aarch64-linux-gnu.so文件,复制到刚才安装mambaforge路径 /home/xmm17/mambaforge/envs/yolov5/lib/python3.8文件夹下即可。
注意:虚拟环境的路径每个人都不同,自行修改!
1找到 jetson中安装的python在这里插入图片描述2 cp 安装Miniforge文件夹下

cp /lib/python3.8/dist-packages/cv2/python-3.8/cv2.cpython-38-aarch64-linux-gnu.so /home/xmm17/mambaforge/envs/yolov5/lib/python3.8
  • 1

在这里插入图片描述

3

conda activate yolov5 //进入环境
python3
import cv2  //导入cv2
  • 1
  • 2
  • 3

在这里插入图片描述返回报错ImportError: /lib/x86_64-linux-gnu/libp11-kit.so.0: undefined symbol: ffi_type_pointer, version LIBFFI_BASE_7.0
这里是python版本不兼容导致的
解决方法:https://blog.csdn.net/qq_38606680/article/details/129118491
打开至conda虚拟环境下lib文件夹中,路径为/home/xmm17/mambaforge/envs/yolov5/lib,在文件夹内启动终端,输入命令ls -l,获得结果如图所是

在这里插入图片描述这边选择的方式是将该路径下的libffi.so.7文件备份后(重命名为libffi_bak.so.7),再在该路径下创建一个新的libffi.so.7链接至/lib/x86_64-linux-gnu/libffi.so.7.1.0,即输入命令:

sudo ln -s /lib/x86_64-linux-gnu/libffi.so.7.1.0 libffi.so.7
sudo ldconfig
  • 1
  • 2

在这里插入图片描述之后我们再次导入opencv库,成功。

import cv2
  • 1

四、安装PyTorch,根据版本对应安装torchvision

https://forums.developer.nvidia.com/t/pytorch-for-jetson/72048

sudo apt-get install virtualenv
python3 -m virtualenv -p python3 torch
source torch/bin/activate
cd ~/Downloads/install/torchvison/   //
cd ../
pip3 install torch-1.11.0-cp38-cp38-linux_aarch64.whl //Torch安装  PyTorch v1.11 - torchvision v0.12.0
cd torchvison/
python3 setup.py install //torchvision安装 v0.12.0
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

在这里插入图片描述
安装检测

python3
import torch  
import torchvision
  • 1
  • 2
  • 3

安装成功

测试

接上usb摄像头,将相应的权重文件

开始测试:

git clone -b v4.0 https://github.com/ultralytics/yolov5.git   //zhijiexiazai
cd ~/torch/yolov5-master
python3 detect.py --weights ../yolo5s/yolov5s.pt --source 0 --conf 0.25
  • 1
  • 2
  • 3

在这里插入图片描述

总结

安装的时候,多从官方网站查找相关的方法说明,不能只看别人的总结。安装的过程还是相对复杂。所以记录下来。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/337991
推荐阅读
相关标签
  

闽ICP备14008679号