Jetson nano搭载YOLOv5

目录 一、Jetson nano环境烧录 1.硬件准备 2.软件准备 3.烧录过程 4.启动Jetson Nano 二、YOLOV5环境配置 1.

目录

一、Jetson nano环境烧录

1.硬件准备

2.软件准备

3.烧录过程

4.启动Jetson Nano

二、YOLOV5环境配置

1.基础环境设置

配置CUDA

修改显存

 2.YOLO环境配置

配置pytorch

搭建YOLOv5


一、Jetson nano环境烧录

1.硬件准备

Jetson Nano(这里用的是4G的板子)、SD卡(32G及以上)、SD读卡器、Nano电源、Nano外接显示器、键盘鼠标、网线。

2.软件准备

①SD Card Formatter(用于格式化SD卡)

(百度网盘链接:链接:https://pan.baidu.com/s/1hv2MyVYkoVa7OUSBA_WP3g 
提取码:5021 )

②系统镜像(百度网盘链接:链接:https://pan.baidu.com/s/1MBLsqOSL3chDnTDVobXifw 
提取码:5021 )

③ 烧录镜像软件:Etcher

(百度网盘链接:https://pan.baidu.com/s/1tMqK-xLQOXvzcIjCrl2UVg 
提取码:5021 )

3.烧录过程

①读卡器插在电脑上使用SD Card Formatter格式化(默认格式化即可)。

②点开Etcher,点击Select image选择刚下载的系统镜像(镜像文件格式为.zip),再从Select drive中选择要烧录的SD卡,最后选择Flash进行写入。

4.启动Jetson Nano

 烧录完成后将SD卡插入Nano中,接上显示器、键盘鼠标、网线和电源,上电后可以看到系统界面。

二、YOLOV5环境配置

1.基础环境设置

系统中内置了CUDA,所以这里只需要配置环境变量即可。

配置CUDA

# 打开文档
sudo gedit ~/.bashrc
# 在文档末尾添加
export CUDA_HOME=/usr/local/cuda-10.2
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-10.2/bin:$PATH
# 保存
source ~/.bashrc
nvcc -V	#如果配置成功可查看CUDA的版本号

修改显存

命令如下:

sudo gedit /etc/systemd/nvzramconfig.sh
'''
修改mem = $((("${totalmem}"/2/"${NRDEVICES}")*1024))
为mem = $((("${totalmem}"/2/"${NRDEVICES}")*4096)) # 不要复制粘贴,可能会导致修改不成功
'''
# 保存

修改显存后重启Nano

reboot
# 重启之后
free -h #可以看到swap已经变成7.7G

 2.YOLO环境配置

配置pytorch

1.下载torch-1.8.0-cp36-cp36m-linux_aarch64.whl

(链接:https://pan.baidu.com/s/1hf9QVgW2PMoiwGnlQYZgJQ 
提取码:5021 )

(也可以官网上下载,需要科学上网。)

2.安装依赖

sudo apt-get update
sudo apt-get upgrade
sudo apt-get dist-upgrade
sudo apt-get install python3-pip libopenblas-base libopenmpi-dev

(pip指令默认国外源,可能速度会很慢,这里提供阿里源和清华源可以换源下载)

mkdir ~/.pip
sudo gedit ~/.pip/pip.conf
# 阿里源
[global]
index-url=http://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com
# 清华源
[global]
index-url=https://pypi.tuna.tsinghua.edu.cn/simple/
[install]
trusted-host=https://pypi.tuna.tsinghua.edu.cn

 继续安装

pip3 install --upgrade pip	# 更新pippip3 install Cython # 安装Cythonpip3 install numpy # 安装numpypip3 install torch-1.8.0-cp36-cp36m-linux_aarch64.whl #注意在存放该文件下的位置打开终端运行sudo apt-get install libjpeg-dev zlib1g-dev libpython3-dev libavcodec-dev libavformat-dev libswscale-dev

3.安装 torchvision

git clone --branch v0.9.0 https://github.com/pytorch/vision torchvision  
# 下载torchvision完成后会有一个torchvision的文件夹
# 遇到You are in 'detached HEAD' state提示,不用管。
# 如果torchvision下载不成功,可能是Pillow==9.2.0和Python3.6.9版本不匹配导致,可以将Pillow降级至Pillow==8.4.0 
# 卸载当前版本 pip3 uninstall Pillow
# 安装旧版本 pip3 install Pillow==8.4.0#进入到torchvision这个文件夹,右键打开终端
export BUILD_VERSION=0.9.0python3 setup.py install --user

 4.验证torch和torchvision是否成功

python3
import torch
print(torch.__version__)	#注意version前后都是两个横杠
#安装成功可以看到版本号import torchvision
print(torchvision.__version__) #注意version前后都是两个横杠
#安装成功可以看到版本号

搭建YOLOv5

git clone https://github.com/ultralytics/yolov5.git		#也可以在电脑中下载后拷贝到jetson nano中
python3 -m pip install --upgrade pip
cd yolov5
pip3 install -r requirements.txt # 下载不成功可以换源试试 或者打开文件 一个一个下载
python3 -m pip list		#可查看python中安装的包
# 测试yolov5
python3 detect.py --source 0 --weights yolov5n.pt --img 640	#摄像头测试