jetson nano 部署yolov5s
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 -h
或sudo 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相关推荐
- jetson nano 部署yolov5s(从配置环境到推理)
前言 前几天完成了在树莓派上部署yolov5s,但是效果实在不好,大概0.3的fps,在老师的支持下又买了一块jetson nano的板子,开始折腾. 以下是拿到板子装过系统,从更换源到实现yolov ...
- Jetson nano部署YOLOv7
目录 前言 一.YOLOv7模型训练 1. 项目的克隆和必要的环境依赖 1.1 项目的克隆 1.2 项目代码结构整体介绍 1.3 环境安装 2. 数据集和预训练权重的准备 2.1 数据集 2.2 预训 ...
- Jetson nano部署YOLOv8
目录 前言 一.YOLOv8模型训练 1. 项目的克隆和必要的环境依赖 1.1 项目的克隆 1.2 项目代码结构整体介绍 1.3 环境安装 2. 数据集和预训练权重的准备 2.1 数据集 2.2 预训 ...
- Jetson Nano部署YOLOv5与Tensorrtx加速——(自己走一遍全过程记录)
说在前面 搞了一下Jetson nano和YOLOv5,网上的资料大多重复也有许多的坑,在配置过程中摸爬滚打了好几天,出坑后决定写下这份教程供自己备忘. 事先声明,这篇文章的许多内容本身并不是原创,而 ...
- Jetson nano部署Yolov5目标检测 + Tensor RT加速(超级详细版)
一.准备工具 二.烧录 三.搭配环境 四.试跑Yolov5 五.tensorRT部署yolov5 前言: 在工作或学习中我们需要进行 ...
- Jetson Nano 部署(5):: Jetson Nono YOLOv5实战部署流程
文章目录 1. 烧入系统镜像 1) 下载系统镜像 2) 格式化 SD 卡 3) 使用 Etcher 写入镜像 4) 使用 SD卡开机 2. 远程登录工具安装 1)安装和使用远程登录工具PuTTY 2) ...
- Jetson nano部署Yolov5 ——从烧录到运行 1:1复刻全过程
前言 因为一次竞赛接触了jetson nano和yolov5,网上的资料大多重复也有许多的坑,在配置过程中摸爬滚打了好几天,出坑后决定写下这份教程供大家参考 事先声明,这篇文章的许多内容本身并不是原创 ...
- jetson nano yolov5部署及USB摄像头实时检测 初次尝试
(1条消息) Jetson nano部署Yolov5 --从烧录到运行 1:1复刻全过程_IamYZD的博客-CSDN博客_jetson nano部署yolov5 1.yolov5部署 学校发的板子不 ...
- JETSON NANO 4GB(SUB版)部署YOLOv5s
家人们好,第一次写.今天写写这几天部署的YOLOv5s. 硬件设备:JETSON NANO 4GB(B01公版/SUB版) 参考教程:yolov5 部署jetson nano(通用) 保姆级教学_奶茶 ...
最新文章
- 用tarball实现liferay自动安装部署15-复制定制后的catalina.sh
- Android 利用源码调试 详解TouchEvent 事件分发机制
- Android Studio快捷键——编辑篇
- Reg Infomation
- 公众号推荐:Python入门、统计学、推荐系统、机器学习、深度学习、数据分析...
- 解决 Maven 报错 Non-resolvable parent POM ... was cached in the local repository, resolution will not be
- HZOJ 大佬(kat)
- 面向对象的故事~数据底层操作告诉了我们接口,抽象类,继承与多态性的使用~续(TestBase继承ITest是多余的?)...
- C++/CLI学习入门数组
- c语言怎么打开已经保存的文件,保存打开文件之后,怎么也不能在显示函数中出来。。...
- github webhook php,github 利用webhook配置代码自动发布
- HDU2897 邂逅明下
- VS编程,几个好用的Visual Studio插件推荐(一)
- Big Endian 和 Little Endian 详解
- NTFS交换数据流隐藏文件
- 伯努利大数定理(揭示了频率和概率的关系)
- 没有对公账户怎么开通认证微信公众号?
- EC2 Auto Scaling知识点
- NODE.JS DM数据库驱动简介及搭建
- 《后浪》- 那些口口声声 “一代不如一代”的人 应该看看你们
热门文章
- Win10系统更新卡住了怎么办?如何修复?
- Python程序员难招人?月入30K程序员告诉你答案
- python爬虫,python学习,如何用python爬取视频资源
- Mac安装Jadx反编译工具
- 没有对公账户怎么开通认证微信公众号?
- BAT大牛分享如何在最短的时间升职为阿里Java架构师
- 作者:吴力波(1974-),女,复旦大学大数据学院教授、副院长、博士生导师...
- CentOS 7 YUM安装MariaDB 10.1
- Arithmetic Progressions
- 年轻人“新宠”冷泡茶:能否开启下一个“立顿时代”?