前言:
最近开始着手准备毕设,因此开始接触使用jetson nano并且着手开始配置yolov5环境。在挣扎示错几天之后终于是完成了!在此脱坑之际,我将我遇到的一些错误进行汇总,将整个过程进行复刻供大家参考。其中一些环境的配置是根据社区大佬们经验分享进行的。参考链接如下:
镜像下载问题:
博客中大多是分享的2019.3月的镜像,我们可以进入英伟达官网进行镜像的下载,本人使用的是jetson nano B01和2G版本不同,下载时注意不要下载出错,4G版本的镜像名字如下图。
下载地址:
https://developer.nvidia.com/zh-cn/embedded/downloads
下载的镜像文件大小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
选择xftp,输入jetson nano的host和name,在jetson nano终端中输入ifconfig,本人连接了实验室的WIFI,所以在wlan0处有自己的地址,直接输入到host里面就行了,接着将自己的nano名字输入就可以直接连接了。
进入系统
网上一下教程让我们先进行换源,本人没有进行换源(被镜像烧录工具整出心理阴影了)。换源的步骤前面参考的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
安装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())
yolov5下载及测试
yolov5对于库的版本要求如下:
安装库
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。
完成!!!
所有需要的工具全在下面链接。
百度网盘:
https://pan.baidu.com/s/1dYdTc3HsXPZjxVxEcSIGgg 提取码: 77iy
CSDN:
https://download.csdn.net/download/fichf/51241522
内容到此结束,谢谢捧场!