【问题标题】:Using CoreML Word Tagger on iOS 12.4在 iOS 12.4 上使用 CoreML Word Tagger
【发布时间】:2020-05-31 22:26:30
【问题描述】:

我使用迁移学习和动态嵌入训练了一个 Core ML 文本分类器。效果很好,但是当我尝试在运行 iOS 12.4 的设备上进行测试时,它无法预测并给了我错误:

Error Domain=com.apple.CoreML Code=0 "Prediction failed" UserInfo={NSLocalizedDescription=Prediction failed}

我在模拟器上运行时也遇到此错误。我确保该模型只能在运行 iOS 12+ 的设备上使用。 iOS 13 不支持此型号吗?我看到这些新功能是在这个 WWDC 上发布的,但我希望/假设它们是向后兼容的。我弄错了吗?如果此模型无法在 iOS 12 设备上运行,是否有任何方法可以将模型导出。最后,我是否可以在任何地方找到每个 iOS 支持的型号列表。

非常感谢!

【问题讨论】:

    标签: ios swift coreml coremltools createml


    【解决方案1】:

    Core ML 3 引入的新功能无法在旧设备上运行,只能在 iOS 13 及更高版本上运行。

    但是,如果您的模型具有此类功能,我会在加载模型时收到错误消息。调试输出窗格是否显示任何其他消息?

    【讨论】:

    • 感谢您的回复!我检查了是否可用(iOS 12)并消除了所有警告。除此之外没有其他错误或警告。我使用 Create ML 应用程序创建了模型并将其添加到我的项目中。在 iOS 13 上运行良好。你知道是否有一个列表,列出了哪些文本分类器在 iOS 12 和 13 上可用。我在任何地方都找不到。
    • 是的,我的书中有这样一个列表(个人资料中的链接)。 ;-) 自 Core ML 2 (iOS 12) 起支持 TextClassifier 和 WordTagger,但 Gazetteer 和 WordEmbedding 在 Core ML 3 (iOS 13) 中是新的。我认为没有其他文本模型(当然,你也可以在神经网络中处理文本)。
    • 太棒了。我去看看书。如果 iOS 12 支持 TextClassifier,为什么我会遇到这个问题?是因为我使用的是动态嵌入吗?
    【解决方案2】:

    刚刚在 10 分钟时从 WWDC 2019 video 中找到了答案。用于文本分类的迁移学习是 iOS 13 的新功能,为了节省空间,在 iOS 13 设备上部署了预训练模型。当您使用迁移学习训练模型时,此模型会修改设备上的预训练模型。这就是为什么在 iOS 12 上使用带有迁移学习的 TextClassifier 不起作用的原因

    【讨论】:

      猜你喜欢
      • 2020-09-02
      • 2021-06-24
      • 1970-01-01
      • 1970-01-01
      • 2020-03-07
      • 1970-01-01
      • 2020-03-02
      • 2014-01-12
      • 2019-12-20
      相关资源
      最近更新 更多