背景:不懂安卓开发,希望能使用大模型编码完成安卓应用生成,调用算法模型进行预测。
模型准备:
pip方案安装pcnn;
然后需要将pytorch训练完成的算法模型保存为torchscript模型,然后使用pcnn转换为ncnn的模型格式(.param和.bin)
部署方案
方案一:使用kivy+buildozer【失败】
- kivy是使用Python编写应用程序,使用它调用ncnn模型,可以跨平台运行,包含andriod;
- buildozer是一个程序打包工具,可以将Python程序打包成安卓或ios应用(中间也会下载SDK)。
kivy和buildozer的安装都是很方便的,pip即可安装,但最大的问题是:buildozer只能在linux环境下才能打包,window上要打包模型为安卓应用,要么直接放弃buildozer,换一个打包工具,要么就尝试一下下面的折腾路线:
(1)使用window自带的WSL:安装不难,如安装一个Ubuntu22.05.LST,也能顺利完成builder安装,但在打包过程中提示需要安装依赖库,此时出现了要装A提示要先安装B,然后安装B有提示需要安装A这种问题,然后尝试卸载某一个也无法成功。die了。
(2)使用docker:最好的是能找到直接可用buildozer镜像,但没有找到,所以自己自己从头开始搭建一个镜像:centos7+Python3.7+builder,这个方案最后失败在centos自带的python2和我安装的Python3冲突,应为yum依赖于自带的Python2,卡在使用yum安装依赖库上。die*2
解决思路:换一个操作系统或者考虑修改yum使其支持Python3
总结:上面两个曲线救国的方式在安装buildozer的依赖库时,都存在着非常多的问题,很不顺利。
方案二:使用andriod studio【失败】
直接使用andriod studio来开发应用。
这个的学习成本要更高一些,若不看教程,安装和编译都是问题。
第一步:安装好软件,然后跑通一个示例项目,了解整个编译流程。
第二步:发送需求给大模型,让大模型完成应用程序的编码,生成整个安卓项目,进行编译。
失败点1:几个gardle的配置改过来改过去,总是不对;
失败点2:大模型生成的ncnn的配置不对。
总结:完全靠大模型直接生成一个可用的项目,还是有点期望过高了,最好能找到一个别人的类似项目进行跑通,理解后再自己迁移为自己的算法应用。
我还会在尝试一下,成功后再来更新