本项目是一个简单的图像分类应用程序,演示了如何使用PyTorch Android API。此应用程序在静态图像上运行TorchScript序列化的TorchVision预训练的resnet18模型,该模型作为Android资产打包在应用程序内部。
1.模型准备
让我们从模型准备开始。如果您熟悉PyTorch,您可能应该已经知道如何训练和保存模型。如果您不这样做,我们将使用预先训练的图像分类模型(Resnet18),该模型包装在TorchVision中。要安装它,请运行以下命令:
pip install torchvision
要序列化模型,可以在HelloWorld应用的根文件夹中使用python 代码:
import torch
import torchvision
model = torchvision.models.resnet18(pretrained=True)
model.eval()
example = torch.rand(1, 3, 224, 224)
traced_script_module = torch.jit.trace(model, example)
traced_script_module.save("app/src/main/assets/model.pt")
如果一切正常,我们应该拥有我们的模型- model.pt在android应用程序的Assets文件夹中生成。它将被打包为android应用程序内部,asset并且可以在设备上使用。
2.从github克隆
git clone https://github.com/pytorch/android-demo-app.gitcd HelloWorldApp
如果已经安装了Android SDK和Android NDK,则可以使用以下命令将此应用程序安装到连接的android设备或模拟器上:
./gradlew installDebug
我们建议您在A