一、文件转化:先将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,希望可以帮助大家节省编译时间~
以上就是全部内容了,如有疑问和错误欢迎私信~