jetson nano 部署yolov5s

一、配置系统(列出来了步骤,详细内容网上很多)
下载系统
SD卡格式化
把下载的系统烧录进SD卡
插卡开机,进行一些初始化设计
我的系统是ubuntu 18.4 cuda 10.2 python是nano自带的3.6

二、使用官网的镜像,没有更换源,配置环境
1.更新系统和包

sudo apt-get update
sudo apt-get upgrade或sudo apt-get full-upgrade

可能报错:nvidia-l4t-bootloader的错误
解决办法:参照 jetson nano 部署yolov5s(从配置环境到推理)
2.安装pip3

sudo apt-get install python3-pip python3-dev -y

3.安装jtop,可以在终端查看自己电脑cpu和gpu情况

sudo -H pip3 install jetson-stats
sudo jtop

三、修改Nano板的显存
1.打开终端输入:

sudo gedit /etc/systemd/nvzramconfig.sh

2.修改nvzramconfig.sh文件:
在打开的文档中找到mem值,修改mem的值,如下:
找到的 mem = $((("${totalmem}"/2/"${NRDEVICES}")*1024))
我们修改的 mem = $((("${totalmem}"*2/"${NRDEVICES}")*1024))
把 / 修改为 *
3.重启:
reboot
4.终端输入:free -hsudo jtop
可查看到swap已经变为7.7G

四、配置cuda
我们下载完系统,是自带cuda的,但需要配置环境变量才能使用,打开命令行添加环境变量即可,我这里是cuda10.2如果不是使用我的镜像就需要根据自己的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 ,就可以成功看到自己的cuda版本了

五.配置所需要的库(配置就完了,少配置了后面安装包会出错)

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 gfortran -y
sudo apt-get install libjpeg-dev -y
sudo apt-get install libopenmpi2 -y
sudo apt-get install libopenblas-dev -y
sudo apt-get install libjpeg-dev zlib1g-dev -y

安装opencv所需要的支持包

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

更新cmke,这一步是必须的,因为arm架构的很多东西都要从源码编译

wget http://www.cmake.org/files/v3.13/cmake-3.13.0.tar.gz
tar xpvf cmake-3.13.0.tar.gz cmake-3.13.0/  #解压
cd cmake-3.13.0/
./bootstrap --system-curl   # 漫长的等待,做一套眼保健操...
make -j4 #编译  同样是漫长的等待...
echo 'export PATH=~/cmake-3.13.0/bin/:$PATH' >> ~/.bashrc
source ~/.bashrc #更新.bashrc

解决大容量U盘兼容的问题
之后的步骤可能需要使用U盘把文件拷入开发板,但是对于大容量设备可能会出现无法挂载,一条安装命令解决

sudo apt-get install exfat-utils

六、配置yolov5所需环境

1.安装torch和torchvision
我所配置的是1.8的torch和0.9的torchvision
文件我已经上传在下面链接,其中torch是编译好的直接安装就行了,torchvision需要我们编译一下

链接:https://pan.baidu.com/s/1cGS-gYdnEvT-9M0ve3hacg
提取码:01F6

下载好之后把里面的torch和torchvision文件夹弄到nano中

先在PC端下载torch,然后用U盘COPY到Nano中,再安装,见下

sudo pip3 install 把torch.whl拖到终端中

安装需要略漫长的等待…
2、然后对于torchvision这里没有现成的要编译

cd torchvision   # 进入到这个包的目录下
export BUILD_VERSION=0.9.0
sudo python3 setup.py install       # 安装(估计要20分钟不止吧)

3、检查一下我们的这俩东西下载好没

python3
import torch
import torchvision
print(torch.cuda.is_available())    # 这一步如果输出True那么就成功了!
quit()  # 最后退出python编译

4、破坑指南
可能的错误,主要是依赖包问题,我在安装时并未遇到,应该是之前手动安装了包。
①import torchvision 出错,错误如下

原因:缺少pillow包
解决方法:sudo pip3 install pillow
②but我安装pillow报错

Command"/usr/bin/python3-u-c"importsetuptools,tokenize;__file__='/tmp/pip-build-pj404zn8/pillow/setup.py';f=getattr(tokenize,'open',open)(__file__);code=f.read().replace('\r\n','\n');f.close();exec(compile(code,__file__,'exec'))"install--record/tmp/pip-ch8hv_jb-record/install-record.txt--single-version-externally-managed--compile"failedwitherrorcode1in/tmp/pip-build-pj404zn8/pillow/

安装pillow时报错,
原因:缺少支持包
解决方法:安装支持包sudo apt-get install libjpeg-dev
5.安装剩下支持yolov5的requirement.txt中所需要的包

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 -i https://pypi.tuna.tsinghua.edu.cn/simple      #这个用源的下载速度很快
sudo pip3 install --upgrade PyYAML  # 我升级到了5.4.1 也可以sudo pip3 install PyYAML==5.4.1
sudo pip3 install thop
sudo pip3 install pycocotools

安装以上包的时候有的会很慢,不要以为是卡着了,其实实在努力安装中,耐心等待。

接下来就进行yolov5的测试,去github下载yolov5源码。
依旧是传输到nano板子上,进入目录运行detect.py。


减小内存损耗
关闭用户图形界面。
sudo systemctl set-default multi-user.target
sudo reboot
开启用户图形界面。
sudo systemctl set-default graphical.target
sudo reboot

jetson nano 部署yolov5s相关推荐

  1. jetson nano 部署yolov5s(从配置环境到推理)

    前言 前几天完成了在树莓派上部署yolov5s,但是效果实在不好,大概0.3的fps,在老师的支持下又买了一块jetson nano的板子,开始折腾. 以下是拿到板子装过系统,从更换源到实现yolov ...

  2. Jetson nano部署YOLOv7

    目录 前言 一.YOLOv7模型训练 1. 项目的克隆和必要的环境依赖 1.1 项目的克隆 1.2 项目代码结构整体介绍 1.3 环境安装 2. 数据集和预训练权重的准备 2.1 数据集 2.2 预训 ...

  3. Jetson nano部署YOLOv8

    目录 前言 一.YOLOv8模型训练 1. 项目的克隆和必要的环境依赖 1.1 项目的克隆 1.2 项目代码结构整体介绍 1.3 环境安装 2. 数据集和预训练权重的准备 2.1 数据集 2.2 预训 ...

  4. Jetson Nano部署YOLOv5与Tensorrtx加速——(自己走一遍全过程记录)

    说在前面 搞了一下Jetson nano和YOLOv5,网上的资料大多重复也有许多的坑,在配置过程中摸爬滚打了好几天,出坑后决定写下这份教程供自己备忘. 事先声明,这篇文章的许多内容本身并不是原创,而 ...

  5. Jetson nano部署Yolov5目标检测 + Tensor RT加速(超级详细版)

            一.准备工具   二.烧录         三.搭配环境         四.试跑Yolov5         五.tensorRT部署yolov5 前言: 在工作或学习中我们需要进行 ...

  6. Jetson Nano 部署(5):: Jetson Nono YOLOv5实战部署流程

    文章目录 1. 烧入系统镜像 1) 下载系统镜像 2) 格式化 SD 卡 3) 使用 Etcher 写入镜像 4) 使用 SD卡开机 2. 远程登录工具安装 1)安装和使用远程登录工具PuTTY 2) ...

  7. Jetson nano部署Yolov5 ——从烧录到运行 1:1复刻全过程

    前言 因为一次竞赛接触了jetson nano和yolov5,网上的资料大多重复也有许多的坑,在配置过程中摸爬滚打了好几天,出坑后决定写下这份教程供大家参考 事先声明,这篇文章的许多内容本身并不是原创 ...

  8. jetson nano yolov5部署及USB摄像头实时检测 初次尝试

    (1条消息) Jetson nano部署Yolov5 --从烧录到运行 1:1复刻全过程_IamYZD的博客-CSDN博客_jetson nano部署yolov5 1.yolov5部署 学校发的板子不 ...

  9. JETSON NANO 4GB(SUB版)部署YOLOv5s

    家人们好,第一次写.今天写写这几天部署的YOLOv5s. 硬件设备:JETSON NANO 4GB(B01公版/SUB版) 参考教程:yolov5 部署jetson nano(通用) 保姆级教学_奶茶 ...

最新文章

  1. 用tarball实现liferay自动安装部署15-复制定制后的catalina.sh
  2. Android 利用源码调试 详解TouchEvent 事件分发机制
  3. Android Studio快捷键——编辑篇
  4. Reg Infomation
  5. 公众号推荐:Python入门、统计学、推荐系统、机器学习、深度学习、数据分析...
  6. 解决 Maven 报错 Non-resolvable parent POM ... was cached in the local repository, resolution will not be
  7. HZOJ 大佬(kat)
  8. 面向对象的故事~数据底层操作告诉了我们接口,抽象类,继承与多态性的使用~续(TestBase继承ITest是多余的?)...
  9. C++/CLI学习入门数组
  10. c语言怎么打开已经保存的文件,保存打开文件之后,怎么也不能在显示函数中出来。。...
  11. github webhook php,github 利用webhook配置代码自动发布
  12. HDU2897 邂逅明下
  13. VS编程,几个好用的Visual Studio插件推荐(一)
  14. Big Endian 和 Little Endian 详解
  15. NTFS交换数据流隐藏文件
  16. 伯努利大数定理(揭示了频率和概率的关系)
  17. 没有对公账户怎么开通认证微信公众号?
  18. EC2 Auto Scaling知识点
  19. NODE.JS DM数据库驱动简介及搭建
  20. 《后浪》- 那些口口声声 “一代不如一代”的人 应该看看你们

热门文章

  1. Win10系统更新卡住了怎么办?如何修复?
  2. Python程序员难招人?月入30K程序员告诉你答案
  3. python爬虫,python学习,如何用python爬取视频资源
  4. Mac安装Jadx反编译工具
  5. 没有对公账户怎么开通认证微信公众号?
  6. BAT大牛分享如何在最短的时间升职为阿里Java架构师
  7. 作者:吴力波(1974-),女,复旦大学大数据学院教授、副院长、博士生导师...
  8. CentOS 7 YUM安装MariaDB 10.1
  9. Arithmetic Progressions
  10. 年轻人“新宠”冷泡茶:能否开启下一个“立顿时代”?