首页 > 解决方案 > 从远程源加载重型 CoreML 模型

问题描述

我们有一个很重的 CoreML 模型(170MB~),我们想将它包含在我们的 iOS 应用程序中。

由于我们不希望应用程序大小那么大,我们创建了一个较小的模型(性能较低),我们可以直接包含它,我们的目的是在应用程序启动时下载重模型,并在重模型时在两者之间切换模型已下载。

我们最初的想法是使用Apple 的 CoreML 模型部署解决方案,但很快我们发现这对我们来说是不可能的,因为 Apple 要求MLModel存档最大为 50MB。
所以问题是,有没有一种替代解决方案来从远程源加载 CoreML 模型,类似于 Apple 的解决方案,以及如何实现它?

任何帮助,将不胜感激。谢谢!

标签: iosmachine-learningcoremlcoremltools

解决方案


将 mlmodel 文件放在您拥有的服务器上,使用您喜欢的方法将其下载到应用程序的 Documents 文件夹中,创建下载文件的 URL,MLModel.compileModel(:at)用于编译它,使用编译后的模型初始化 MLModel(或自动生成的类)。


推荐阅读