当前位置: 首页 > news >正文

树莓派4/5:运行Yolov5n模型(文末附镜像文件)

〇、前言

因国内网络问题,可直接烧录文末镜像文件,或者按照本教程进行手动操作。

 

一、实验目的

在树莓派4B运行Yolov5n模型。

 

二、实验条件

1、Windows 11计算机:安装了Mobaxterm

2、树莓派4B:64Bit Lite OS,安装了miniforge

如果树莓派未安装系统,请先查看以下链接。

http://t.csdnimg.cn/3erlihttp://t.csdnimg.cn/3erli如果树莓派未安装miniforge或未添加清华镜像源,请先查看以下链接。

http://t.csdnimg.cn/t3cgFhttp://t.csdnimg.cn/t3cgF

 

三、实验准备

1、更新软件

sudo apt update
sudo apt upgrade

2、安装opencv python

sudo apt install python3-opencv

3、安装git

sudo apt install git

 

四、添加多个PIP镜像源(可选)

1、打开pip下载源配置文件

mkdir -p $HOME/.pip && nano $HOME/.pip/pip.conf

2、添加多个pip镜像源

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple[install]
extra-index-url =https://mirrors.aliyun.com/pypi/simple/https://pypi.org/simple

编辑完成后,使用CTRL+X关闭文件,并键入Y,最后按Enter。

 

五、实验环境

1、创建pytorch环境

conda create -n pytorch python==3.8

2、激活pytorch环境

conda activate pytorch

3、安装pytorch

conda install pytorch torchvision cpuonly -c pytorch

4、安装yolov5

# 官方地址
git clone https://github.com/ultralytics/yolov5  # clone
# 加速地址
git clone https://mirror.ghproxy.com/https://github.com/ultralytics/yolov5  # clonecd yolov5
pip install -r requirements.txt  # install

因国内网络问题,安装过程可能比较久,耐心等候即可。在安装过程中,如果某个库安装失败,手动使用pip或conda安装后,再安装一遍完整的依赖项即可。

 

六、实验过程

1、将USB摄像头连接到树莓派。

2、在pytorch虚拟环境中,在yolov5文件夹中运行以下代码。

python detect.py --weights yolov5n.pt --source 0

如果成功运行,则弹窗显示当前推理过程,并在Mobaxterm中打印检测结果。

6f16bebda12c4d4a83be362964699f29.png

 

七、镜像下载

根据上述操作,完整备份一个镜像,以下为镜像的基本信息。

f740855cec4642c3bb62486b5e74d5ed.png

文件较大,请从百度网盘下载。需要使用≥16GB的SD卡。

[待添加]

 

如果SD卡>16GB,可利用raspi-config扩容。

sudo raspi-config

依次选择Advanced Options >> Expand Filesystem,完成后退出raspi-config,然后重启系统。

sudo reboot

重启后,树莓派将完成扩容。

 

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • LVS实验——部署DR模式集群
  • VSCODE platformio ESP32-S3 内置 JTAG 接口断点单步调试笔记
  • 【云服务器系列】基于华为云OBS实现Picgo和Typora的完美融合
  • 常见硬件工程师面试题(四)
  • 自动化测试 — selenium + Java
  • Docker最佳实践(四):安装redis
  • IDEA彻底卸载以及安装总结
  • 江科大/江协科技 STM32学习笔记P21
  • 加密案例分享:电子设备制造行业
  • 鸿蒙(API 12 Beta2版)媒体开发【Audio Kit简介】音频服务
  • python实战:数据分析基础知识
  • MySQL——索引(三)删除索引
  • 【Nacos无压力源码领读】(二) 集成 LoadBalancer 与 OpenFeign
  • flink1.18 编译遇到的问题
  • AI入门指南(二):算法、训练、模型、大模型是什么?
  • 【个人向】《HTTP图解》阅后小结
  • Android优雅地处理按钮重复点击
  • CentOS7简单部署NFS
  • create-react-app做的留言板
  • es6--symbol
  • JavaScript工作原理(五):深入了解WebSockets,HTTP/2和SSE,以及如何选择
  • JavaScript异步流程控制的前世今生
  • Java超时控制的实现
  • JSDuck 与 AngularJS 融合技巧
  • Linux快速复制或删除大量小文件
  • Mybatis初体验
  • NSTimer学习笔记
  • Shell编程
  • TypeScript实现数据结构(一)栈,队列,链表
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 主流的CSS水平和垂直居中技术大全
  • 没有任何编程基础可以直接学习python语言吗?学会后能够做什么? ...
  • ​HTTP与HTTPS:网络通信的安全卫士
  • ### RabbitMQ五种工作模式:
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • #数据结构 笔记一
  • $(function(){})与(function($){....})(jQuery)的区别
  • $.type 怎么精确判断对象类型的 --(源码学习2)
  • (02)Hive SQL编译成MapReduce任务的过程
  • (02)vite环境变量配置
  • (k8s)Kubernetes本地存储接入
  • (初研) Sentence-embedding fine-tune notebook
  • (附源码)计算机毕业设计SSM教师教学质量评价系统
  • (转)Android学习笔记 --- android任务栈和启动模式
  • .NET C# 使用 SetWindowsHookEx 监听鼠标或键盘消息以及此方法的坑
  • .Net Core中的内存缓存实现——Redis及MemoryCache(2个可选)方案的实现
  • .net 发送邮件
  • .NET/C# 在 64 位进程中读取 32 位进程重定向后的注册表
  • /使用匿名内部类来复写Handler当中的handlerMessage()方法
  • @31省区市高考时间表来了,祝考试成功
  • @Async注解的坑,小心
  • @test注解_Spring 自定义注解你了解过吗?
  • [ C++ ] STL priority_queue(优先级队列)使用及其底层模拟实现,容器适配器,deque(双端队列)原理了解
  • [2019.2.28]BZOJ4033 [HAOI2015]树上染色