Jetson nano搭载YOLOv5

目录

一、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进行写入。

Jetson nano搭载YOLOv5_第1张图片

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	# 更新pip

pip3 install Cython # 安装Cython

pip3 install numpy # 安装numpy

pip3 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.0

python3 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	#摄像头测试

你可能感兴趣的:(目标检测)