如何将训练好的pytorch模型部署到安卓设备上
来源:投稿 作者:AI浩
编辑:学姐
这篇文章演示如何将训练好的pytorch模型部署到安卓设备上。我也是刚开始学安卓,代码写的简单。
环境:pytorch版本:1.10.0
# 模型转化
pytorch_android支持的模型是.pt模型,我们训练出来的模型是.pth。所以需要转化才可以用。
先看官网上给的转化方式:
这个模型在安卓对应的包:
注:pytorch_android_lite版本和转化模型用的版本要一致,不一致就会报各种错误。
目前用这种方法有点问题,我采用的另一种方法。
转化代码如下:
定义模型文件和转化后的文件路径。
load模型。(这里要注意,如果保存模型)
torch.save(model,'models.pth')
加载模型则是
model=torch.load('models.pth')
如果保存模型是
torch.save(model.state_dict(),"models.pth")
加载模型则是
model.load_state_dict(torch.load('models.pth'))
定义输入数据格式。
模型转化,然后再保存模型。
# 安卓部署
新建项目
新建安卓项目,选择Empy Activity,然后选择Next

然后,填写项目信息,选择安卓版本,我用的4.4,点击完成

导入包
导入pytorch_android的包

如果有参数报错请参照我的完整的配置,代码如下:
页面文件
页面的配置如下:
这个页面只有两个空间,一个展示图片,一个显示文字。

模型推理
新增assets文件夹,然后将转化的模型和待测试的图片放进去。

新增ImageNetClasses类,这个类存放类别名字。

代码如下:
在MainActivity类中,增加模型推理的逻辑。
完成代码如下:
然后运行。

【学姐带你玩AI】公众号开通留言功能了!
在【学姐带你玩AI】公众号的评论区留言——骚话说的好的/认真学习的/错误指正的会有神秘奖品掉落!
【学姐带你玩AI】公众号的评论区每周留言最多的会有大奖送出,具体请看下周一次条公告!
【学姐带你玩AI】公众号下周有留言活动哦!超级大大大大奖,请关注周一头条文章!