tensorflow Lite 2---- 移动端部署--yolov5+训练自己的数据集
一、模型移动端环境部署
可以参考:
tensorflow lite 1---- 移动端部署--object detection 官方历程手把手教程_行码阁119的博客-CSDN博客
二、训练模型
本文使用的yolov5为ultralytics公司的一个开源产品,由Glenn大佬实现,有很多合作的开发者参与了该项目,开发迭代速度非常快,三天两头就有更新。
本文训练采用的GOOGLE的colab,不用在自己环境配置pytorch,很方便。
当然这个需要翻墙,各位如果需要,可以去收一下:登录 — iKuuu VPN。这个目前是免费使用,如果使用不起,也可以花费5元一月,也便宜:登录 — Ari Connect 海外加速服务
且为了防止官方更新变化,本文将官方代码保存在自己github上,为了让本教程可以持续使用。
1、链接谷歌云盘
这一步,大家应把自己数据集上传谷歌云盘上。如果数据量大,可以参考:
colab怎么提高训练速度,特别对于第一步训练时间特别长 colab切换为1的版本_行码阁119的博客-CSDN博客_colab训练速度慢
我这里图片较小,上传到谷歌云盘如图所示(其中Labels和images是对应的关系):
其中label对应格式为:
如果数据集小的话,可以直接在网盘解压,打开。如果数据集大,按照一下步骤来。
2、首先复制官方源码:
! git clone https://github.com/ultralytics/yolov5.git
然后运行,下载依赖库:
!pip install -r /content/yolov5/requirements.txt
3、数据集准备(madir两条语句都要运行)
!mkdir /content/datasets/
!mkdir /content/datasets/coco128
%cp -av /content/drive/MyDrive/yolov5/images.zip /content/datasets/coco128/images
%cp -av /content/drive/MyDrive/yolov5/labels.zip /content/datasets/coco128/
然后对两个文件进行解压。
!pip install pyunpack
!pip install patool
from pyunpack import Archive
Archive('/content/datasets/coco128/labels.zip').extractall('/content/datasets/coco128')
Archive('/content/datasets/coco128/images.zip').extractall('/content/datasets/coco128')
上面完成后,会有以下界面:
然后对/content/yolov5/data/coco128.yaml进行修改为自己的数据集,并将官方下载数据集代码注释掉。
到这里,数据集准备完毕。可以开始训练。
4、训练模型
! python /content/yolov5/train.py
训练好的模型,会保存在:
三、将模型转换为Tflite文件:
float16型
! python /content/yolov5/export.py --weights /content/yolov5/runs/train/exp4/weights/best.pt --include tflite --img 320
int 8
python export.py --weights yolov5s.pt --include tflite --int8 --img 320 --data data/coco128.yaml
运行成功后,会有一下文件:
右击,点击下载。
四、模型移动到安卓端
1 、打开android studio(默认个人安装成功,没有,参考第一章)
2、下载官方android环境:
https://github.com/zldrobit/yolov5/tree/tf-android
3、加载环境
4、将tflite文件放入项目文件
只是这里有一点需要注意,就是tflite文件的命名。float16 和 int8命名不一样。
然后将tflite放入如下文件:
然后点run. 如果没有虚拟机,请自己网上收一下怎么安装虚拟机。如果要部署到移动端,请参考第一章节给链接。
5、安卓端移动结果展示
五、 补充
1、训练好的模型 移动端转移
是这样的 就是训练好的模型,需要发给远在天边的朋友,但是你会发现发送通过qq 远程 发送过去的app无法使用,安装不起。那么 需要你稍微改一下代码:
添加:
android.injected.testOnly=false
然后 在发送 即可
六、结语
如果大家有什么问题,欢迎留言,大家一起讨论。
tensorflow Lite 2---- 移动端部署--yolov5+训练自己的数据集相关推荐
- 出门问问:使用 TensorFlow Lite 在嵌入式端部署热词检测模型
文 / 出门问问信息科技有限公司 来源 | TensorFlow 公众号 1.背景 热词唤醒 (Keyword Spotting) 往往是用户对语音交互体验的第一印象,要做到准确快速.因此热词检测算法 ...
- Yolov5训练自己的数据集+TensorRT加速+Qt部署
本人由于项目要求,需要利用Yolov5网络训练自己的目标检测与分类模型,并利用TensorRT加速将其部署到Qt界面上.目前已经实现了整个流程,写下这篇博客供需要的各位参考.(本文描述的重点主要是在后 ...
- 手把手教你用YOLOv5训练自己的数据集(从Windows环境配置到模型部署)
[小白CV]手把手教你用YOLOv5训练自己的数据集(从环境配置到模型部署) 本文禁止转载 前言: 1. 安装Anaconda: 2. 创建虚拟环境: 3. 安装pytorch: 4. 下载源码和安装 ...
- Yolov5训练自己的数据集(详细完整版)
最近在网上看到有与本博客一模一样的,连图片都一样. 特此声明:这是原版,转载请附原文链接,谢谢. 这次我将大部分图片添加了水印 文章目录 一. 环境(不能含有中文路径) 二. 准备工作(文件夹及视频转 ...
- YOLOv5训练自己的数据集之详细过程篇
软硬件配置:Ubuntu + Tesla m40 24GB + cuda10.2 + anaconda 一.环境部署 1.源码下载 https://github.com/ultralytics/yol ...
- yolov5训练自己的数据集
How to Train YOLOv5 On a Custom Dataset 根据这篇文章下的数据集 YOLOv5训练自己的数据集 根据这篇文章,输入训练命令行 Hyperparameter ...
- 手把手教你使用YOLOV5训练自己的数据集并用TensorRT加速
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 前言 本文主要介绍目标检测YOLOV5算法来训练自己的数据集,并且使用TensorRT来对训练好的模型 ...
- YOLOv5训练自己的数据集实现视频的识别
写在前面 我本来是使用这个模型进行手写签名的定位,但是因为比赛的主办方原因,数据不允许公开,所以我使用动物世界的一段开头视屏来制作我的数据集.这整个模型跑通的过程中,我参考了很多不错的博客,写这篇博客 ...
- yolov5训练自己的数据集,OpenCV DNN推理
学更好的别人, 做更好的自己. --<微卡智享> 本文长度为4238字,预计阅读9分钟 前言 上一篇<OpenCV--自学笔记>搭建好了yolov5的环境,作为目标检测在应用中 ...
最新文章
- C++基本要点复习--------coursera程序设计实习(PKU)的lecture notes
- 最短路径问题----Dijkstra算法的解释
- [云炬ThinkPython阅读笔记]3.4 增加新函数
- silverlight-Canvas中1像素的线变成了2像素
- java引言_Java C++(引言一)
- 粗心能学计算机吗贴吧,考试丢分 , 真的是粗心那么简单吗?
- 测试u盘容量的软件哪家好,U盘容量检测工具
- 内外网共存环境迁移Exchange 2010至Exchange 2016
- 开机就提示“请安装TCP/IP协议,error=10106”的解决的方法
- 从全球价值链视角看,京东云数智供应链对未来经济有何影响?
- 用PS将图片或表格中的英文变成中文
- 4399积分小游戏刷分工具帮助
- 【简单数学】末日的传说
- docker 安装node
- 【论文阅读】【3d目标检测】Behind the Curtain: Learning Occluded Shapes for 3D Object Detection
- Make It a Chorus: Knowledge- and Time-aware Item Modeling for Sequential Recommendation sigir 20
- CBCT重建系列1:RTK从安装配置到Demo实现
- 利用Excel 2010的“图表模板”功能,快速创建新图表
- 架构系列之标准Web系统的架构分层
- 2022最新iApp内核开发的表白程序源码