pytorch 在2019年快年底发布了pytorch mobile,用于移动端的部署,虽然比起TensorFlow lite晚了很久,终归还可以做一些事了。
pytorch mobile运行的远离是在手机端调用c++操作torchscript文件,因此我们要想能够运行训练好的模型,就必须转成torchscript文件。
转torchscript文件有专门的api,这里是一个例子:
import torch
import torchvision
resnet18 = torchvision.models.resnet18(pretrained=True)
resnet18.eval()
example_inputs = torch.rand(1, 3, 224, 224)
resnet18_traced = torch.jit.trace(resnet18, example_inputs = example_inputs)
resnet18_traced.save("resnet18_traced.pt")
我们可以看到调用了torch.jit.trace这个方法进行转换,转换成专门的文件后放到Android里面的assert文件夹下,我们就能读取这个模型
注意:上面的代码只是演示api,跟接下来跑这个程序无关,只是为了了解这个过程而已,另外我下面的链接其实已经包括了那个.pt文件,不需要自己去转换,这里只是要知道文件怎么来的
接下来运行的也是演示的官网的例子(5ehc)
【手把手搭建一个pytorch mobile 的Android APP】剩下的过程和之前TensorFlow lite是一样的
推荐阅读
- 模型部署|通过MACE在Android手机上部署深度学习模型
- Pytorch|超最简单的安卓端深度学习模型部署教程——pytorch2onnx2pdinfer2android
- 人工智能|PPF(Point Pair Features)原理及实战技巧
- 卷积|理解转置卷积与空洞卷积
- 神经网络|开源的回报要远大于成本,最新报告揭晓开源现状!
- 算法|【lstm预测】基于粒子群优化lstm预测matlab源码
- 回归预测|回归预测 | MATLAB实现Attention-LSTM(注意力机制长短期记忆神经网络)多输入单输出
- 回归预测|回归预测 | MATLAB实现CNN-LSTM(卷积长短期记忆神经网络)多输入单输出
- 时间序列|时序预测 | MATLAB实现CNN-LSTM(卷积长短期记忆神经网络)时间序列预测