无法在Pytorch mobile中加载Pytorch模型



我尝试使用pytorch移动flutter插件将模型加载到android应用程序中,该插件只是android pytorch包的包装器,但是当我尝试加载模型时,我得到以下调试语句

E/PyTorchMobile( 8111): assets/models/fullap.pt is not a proper model
E/PyTorchMobile( 8111): com.facebook.jni.CppException: [enforce fail at inline_container.cc:222] . file not found: archive/constants.pkl
E/PyTorchMobile( 8111): (no backtrace available)
E/PyTorchMobile( 8111):     at org.pytorch.NativePeer.initHybrid(Native Method)
E/PyTorchMobile( 8111):     at org.pytorch.NativePeer.<init>(NativePeer.java:25)
E/PyTorchMobile( 8111):     at org.pytorch.Module.load(Module.java:25)
E/PyTorchMobile( 8111):     at org.pytorch.Module.load(Module.java:35)
E/PyTorchMobile( 8111):     at io.fynn.pytorch_mobile.PyTorchMobilePlugin.onMethodCall(PyTorchMobilePlugin.java:58)
E/PyTorchMobile( 8111):     at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:262)

我使用火炬保存模型。从状态字典中加载后保存(模型、路径)。我也尝试过保存模型。你知道是什么问题吗?这个模型目前还没有被量化。

file not found: archive/constants.pkl 

确保你已经设置了正确的模型路径。

正如我在上面的评论中提到的,模型保存和模型加载之间的pytorch版本不同可能是一个问题。

在我的情况下,解决方案是优化pytorch移动文档中提到的torch脚本模型。现在我可以成功加载模型了。

最新更新