【教程】基于TensorFlow Lite的yolov5部署过程

一、文件转化:先将pt文件转化为tflite,我是基于zldrobit大神的pull代码进行文件转化和后续部署的。但刚开始关于pt文件的转换我是采用yolov5官方的方法,不过按着zldrobit大神的代码部署到安卓机上时应用程序会出现闪退的情况,排除手机内存、应用程序本身等问题之后,我猜想可能是权重文件转化的问题,后来就重新按着zldrobit大神转换了一次,便完成部署。因为常常遇到网络问题,我有时会喜欢手动下载并安装:

1、首先下载并解压项目zip安装包(文件我上传至云,链接:https://pan.baidu.com/s/1t8jwWtykt11YKpyugGPSjA ,提取码:sgt6)

2、安装环境依赖库:进入该项目文件夹,然后执行命令安装所需要的库

pip install -r requirements.txt
pip install tensorflow==2.4.0

3、文件转化:将下载的yolov5的权重文件“yolov5s.pt”放到weights文件夹里,然后执行命令:

python  models/tf.py --weight weights/yolov5s.pt --cfg models/yolov5s.yaml --img 320

如此便得到转化后的.tflite文件:

生成的.tflite文件我也放置至此,提取码xtd1。

4、将转化后的文件存放到assets文件夹里,路径如下:

 

二、部署到安卓端:

因为本人之前没有安装过java和Android studio,所以顺带安装配置一下。

(一)java环境配置 

先下载jdk:👉下载链接👈,然后根据这个教程就可以完成配置,但这里想说明两点:

(1)新建->变量名"JAVA_HOME",变量值"D:\Java\jdk-17.0.2"(即JDK的安装路径)

(2)编辑——变量名"Path"——点击"新建"——输入"%JAVA_HOME%\bin"——点击"确定",再次点击编辑——变量名"Path"——"新建"——输入"%JAVA_HOME%\jre\bin",点击确定。

(二)安装Android studio

在官网上下载即可。网上安装教程也比较多,可以参考一下。但个人觉得这些教程有些比较复杂,完全可以自己到官网下载后并一路傻瓜式安装。

(三)部署

1、打开Android studio:因为喜欢干净的桌面所以没有创建快捷方式,可以在Android studio的安装文件里的bin文件夹打开exe执行文件,如下图所示:

2、打开工程文件:如果安装后首次进入Android studio界面的,会在界面中部看到有个“open”选项,点击然后选择刚下载大神文件里的“android”工程文件就可以。但我现在写这篇博文的时候已经打开过几次了,所以就以我的界面简单示意一下:

打开之后稍微等下一下,因为会自动加载相关依赖,这时候可以同时进行下一步。

 3、开启手机的开发者模式:先用USB连接手机和电脑,然后打开开发者模式,不同品牌手机的启发方式不同,以我实验的oppo为例,设置——关于手机——版本号连续点击7次,即可进入开发者模式——退出到设置界面——其他设置——开发者选项——点击打开按钮——打开USB调试模式,此时手机已经处于了开发者模式。

4、进入AS调试:在此之前,先安装自己手机的Android SDK,Tools——SDK Manager——SDK Platforms——根据自己手机的版本选择对应版本,我的是8.1,所以勾选了8.1,具体如下所示:

 然后进入调试,Run——Run app——选择自己的手机,点击——注意观察手机弹出框——操作手机,安装,打开——完成,附上最后效果图:

 ps:有的教程可能还有安装驱动什么的,但是我没有安装,如果照我写的这样不能完成部署,或许可以试试安装一下。

在学习这个部署的过程中我还发现了一个模型在线转换器,安利给大家👉就是我👈,可以进行多种文件转化,比如onnx——ncnn,希望可以帮助大家节省编译时间~

以上就是全部内容了,如有疑问和错误欢迎私信~

  • 4
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
基于YOLOv5的图像识别模型可以通过可视化部署来实现,以下是一种可能的部署方式: 1. 模型换:首先,将训练好的YOLOv5模型换为适合部署的格式,例如ONNX或TensorFlow Lite。这可以使用YOLOv5官方提供的工具或第三方库进行换。 2. Web应用开发:使用Web开发技术(如HTML、CSS、JavaScript等),创建一个用户界面,用于上传图像并进行目标检测。可以使用图像上传组件、预览组件和结果显示组件来实现交互体验。 3. 后端服务:搭建一个后端服务,用于接收前端上传的图像,并调用模型进行目标检测。可以使用Python的Web框架(如Flask或Django)来实现后端逻辑,并使用适当的图像处理库加载模型并进行预测。 4. 模型推理:在后端服务中,使用加载的模型对上传的图像进行推理,得到目标检测的结果。根据模型输出的坐标和类别信息,可以在图像上绘制边界框和标签,以可视化检测结果。 5. 前后端通信:前端和后端之间通过API进行数据传输和交互。前端将上传的图像发送给后端,并接收后端返回的目标检测结果,用于在界面上展示。 6. 部署到服务器:将Web应用和后端服务部署到服务器上,确保可以通过公网访问。可以选择云服务提供商(如AWS、Azure、华为云等)来部署和托管应用,也可以使用自己的服务器进行部署。 通过以上步骤,基于YOLOv5的图像识别模型可以以可视化的方式部署到Web应用中,用户可以通过上传图像并观察检测结果来体验模型的性能。这种部署方式可以方便用户在不具备深度学习环境的情况下,使用图像识别模型进行目标检测。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值