jetson nano部署yolov5以及出现的一些问题解决方法

jetson nano部署yolov5以及出现的一些问题解决方法

前言:
最近开始着手准备毕设,因此开始接触使用jetson nano并且着手开始配置yolov5环境。在挣扎示错几天之后终于是完成了!在此脱坑之际,我将我遇到的一些错误进行汇总,将整个过程进行复刻供大家参考。其中一些环境的配置是根据社区大佬们经验分享进行的。参考链接如下:

  1. https://blog.csdn.net/LZL2020LZL/article/details/113808964
  2. https://blog.csdn.net/IamYZD/article/details/119618950
  3. https://blog.csdn.net/weixin_45454706/article/details/110346822

镜像下载问题
博客中大多是分享的2019.3月的镜像,我们可以进入英伟达官网进行镜像的下载,本人使用的是jetson nano B01和2G版本不同,下载时注意不要下载出错,4G版本的镜像名字如下图。
下载地址:
https://developer.nvidia.com/zh-cn/embedded/downloads
jetson nano部署yolov5以及出现的一些问题解决方法_第1张图片
下载的镜像文件大小6G左右吧。

镜像烧录问题:
首先将一个64G(推荐)大小的SD格式化,使用的格式化软件为SD Card Formatter。使用过树莓派的应该不陌生,此步骤不锁赘述。格式化软件资源如下:
https://www.sdcard.org/downloads/formatter/sd-memory-card-formatter-for-windows-download/
接着将下载好的镜像文件少些进格式化的SD卡中:
烧录工具有两个,本人在学习树莓派是使用的是win32DiskImager,资源如下:
https://sourceforge.net/projects/win32diskimager/files/Archive/

但是注意!!!!!!!!!
网上教程讲解时表示该镜像烧录工具也能成功,但是本人在使用该烧录工具时,虽然能成功烧录但是进入系统后会出现各种问题,如pip不能升级,各种依赖库不能安装的问题。所以说还是选择Etcher进行镜像烧录。
Etcher文件的下载地址如下:
https://www.balena.io/etcher/

开机启动这一步,emmm读者自己操作吧。

与PC机传输文件
本人使用的是MobaXterm,非常好用。
我传到了网盘,包括烧录程序、MobaXterm、Win32DiskImager、Yolov5源码以及pytorch有需要自提。

百度网盘:
https://pan.baidu.com/s/1dYdTc3HsXPZjxVxEcSIGgg 提取码: 77iy
csdn:
https://download.csdn.net/download/fichf/51241522

jetson nano部署yolov5以及出现的一些问题解决方法_第2张图片

jetson nano部署yolov5以及出现的一些问题解决方法_第3张图片
选择xftp,输入jetson nano的host和name,在jetson nano终端中输入ifconfig,本人连接了实验室的WIFI,所以在wlan0处有自己的地址,直接输入到host里面就行了,接着将自己的nano名字输入就可以直接连接了。
jetson nano部署yolov5以及出现的一些问题解决方法_第4张图片

进入系统
网上一下教程让我们先进行换源,本人没有进行换源(被镜像烧录工具整出心理阴影了)。换源的步骤前面参考的blog链接中有,读者想换源可以自行参考。
1.配置CUDA
打开终端输入

gedit ~/.bashrc

在打开的文件最后添加

export PATH=/usr/local/cuda-10.2/bin${PATH:+:${PATH}}
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
export CUDA_ROOT=/usr/local/cuda

应用配置以及查看配置是否成功

source ~/.bashrc
nvcc -V

成功的话会出现版本号:
jetson nano部署yolov5以及出现的一些问题解决方法_第5张图片

安装pip3并且更新

sudo apt install python3-pip   #默认是9.0.1需要更新
python3 -m pip install --upgrade pip  #升级pip3
pip3 -V  #查看版本,本人是21.3.1

在这里插入图片描述

接下来安装一些依赖和库

sudo apt-get install build-essential make cmake cmake-curses-gui -y
sudo apt-get install git g++ pkg-config curl -y
sudo apt-get install libatlas-base-dev gfortran libcanberra-gtk-module libcanberra-gtk3-module -y
sudo apt-get install libhdf5-serial-dev hdf5-tools -y
sudo apt-get install nano locate screen -y

sudo apt-get install libfreetype6-dev -y
sudo apt-get install protobuf-compiler libprotobuf-dev openssl -y
sudo apt-get install libssl-dev libcurl4-openssl-dev -y
sudo apt-get install cython3 -y

sudo apt-get install build-essential -y
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev -y
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff5-dev libdc1394-22-dev -y
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev -y
sudo apt-get install libxvidcore-dev libx264-dev -y
sudo apt-get install libatlas-base-dev gfortran -y
sudo apt-get install ffmpeg -y
sudo apt-get install libopenmpi2
sudo apt-get install libopenblas-dev
sudo apt-get install libjpeg-dev zlib1g-dev

安装pytorch和torchvision
两者需要对应版本,我下载的是pytorch1.8.0、torchvision0.9.0。
将下载好的文件,通过MobaXterm传输到nano板子上,步骤很简单,鼠标拖进去就行了。接着进入到相应文件夹中执行:

sudo pip3 install torch-1.8.0-cp36-cp36m-linux_aarch64.whl

然后在安装torchvision

cd torchvision	
export BUILD_VERSION=0.9.0
sudo python3 setup.py instal

等待安装就行了。
检验成功与否按照图下操作如果回复True,就表示成功。万里长征终于踏出第一步!!!

python3
import torch
import torchvision
print(torch.cuda.is_available())

jetson nano部署yolov5以及出现的一些问题解决方法_第6张图片

yolov5下载及测试
yolov5对于库的版本要求如下:
jetson nano部署yolov5以及出现的一些问题解决方法_第7张图片
安装库

sudo pip3 install matplotlib==3.2.2
sudo pip3 install --upgrade Cython	
sudo apt-get remove python-numpy
sudo pip3 install numpy==1.19.4
sudo pip3 install scipy==1.4.1.	

sudo pip3 install tqdm==4.61.2
sudo pip3 install seaborn==0.11.1
sudo pip3 install scikit-build==0.11.1	# 安装opencv需要这个包
sudo pip3 install opencv-python==4.5.3.56	
sudo pip3 install tensorboard==2.5.0 
sudo pip3 install --upgrade PyYAML==6.0
sudo pip3 install thop
sudo pip3 install pycocotools

在安装matplotlib时,我出现了一些问题,所以我选择了先安装numpy和scipy,在尝试安装matplotlib时,奇迹般的好了,不知道什么原因。在更新PyYAML时,我出现了无法更新的问题,大致问题描述是:
在这里插入图片描述
网上教程是使用

python3 -m pip install <库名字>

我试用了一下,没有解决。最终我找到了问题。我们忽略旧版本就行了,运行:

pip3 install --ignore-installed <库名>

到此,一切准备就绪,接下来就进行yolov5的测试,去github下载yolov5源码。

依旧是传输到nano板子上,进入目录运行detect.py。

在这里插入图片描述
jetson nano部署yolov5以及出现的一些问题解决方法_第8张图片
完成!!!
所有需要的工具全在下面链接。
百度网盘:
https://pan.baidu.com/s/1dYdTc3HsXPZjxVxEcSIGgg 提取码: 77iy
CSDN:
https://download.csdn.net/download/fichf/51241522

内容到此结束,谢谢捧场!

你可能感兴趣的:(jetson,nano,yolov5,etcher,深度学习,pytorch,python)