【问题标题】:Load a heavy CoreML model from a remote source从远程源加载重型 CoreML 模型
【发布时间】:2021-08-15 12:08:34
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: ios machine-learning coreml coremltools


    【解决方案1】:

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

    【讨论】:

    • 嗨,马蒂斯!同样,使用这种预加载机制,我在加载 MLModel 时甚至没有调用 predict 时会出现奇怪的内存峰值。只需初始化它(2-3GB RAM 不做任何事情)。模型重量小于 stackoverflow.com/questions/67968988/… 谢谢大家的帮助,没有它就不能在这里!
    猜你喜欢
    • 1970-01-01
    • 2019-11-15
    • 2019-05-20
    • 2021-07-02
    • 2017-12-29
    • 1970-01-01
    • 2019-02-20
    • 2018-07-07
    • 2021-09-02
    相关资源
    最近更新 更多