准备 CoreML 模型时出错:CoreML 代码生成不支持“<something>”

Posted

技术标签:

【中文标题】准备 CoreML 模型时出错:CoreML 代码生成不支持“<something>”【英文标题】:Error preparing CoreML model: "<something>" is not supported for CoreML code generation 【发布时间】:2017-11-23 03:35:16 【问题描述】:

我正在修改 this tutorial 的代码,但出现此错误:

为代码生成准备 CoreML 模型“Resnet50.mlmodel”时出错: 不支持 Target 的主要语言“Swift Interface” CoreML 代码生成。请将 COREML_CODEGEN_LANGUAGE 设置为 首选语言

之前使用“Places205-GoogLeNet”模型编译的项目。

其他人有同样的经历吗?

【问题讨论】:

【参考方案1】:

在您的应用目标的项目设置视图中,将设置 COREML_CODEGEN_LANGUAGE 更改为 Swift

默认设置 Automatic 在 Xcode 9 beta 中并非在所有情况下都能正常工作。

苹果开发者名单here也提到了这个问题。

【讨论】:

【参考方案2】:

所以基本上如果你有多个模型 XCode 不会自动生成代码并报错。

从资源文件夹中删除以前的模型解决了这个问题。

看起来一个应用只能安装一个模型。

【讨论】:

以上是关于准备 CoreML 模型时出错:CoreML 代码生成不支持“<something>”的主要内容,如果未能解决你的问题,请参考以下文章

将 keras 模型转换为 coreml 时出错(“InputLayer”对象不可迭代)

后台运行coreml时出错:Error计算NN输出错误

将 PyTorch 模型与 CoreML 一起使用时输入尺寸重塑

如何估计 CoreML 模型的最大运行时占用空间(以兆字节为单位)

初始化 CoreML 模型时崩溃:Error Domain=com.apple.CoreML Code=0 "Error in declaring network."

如何在将图像提供给 CoreML 模型之前对其进行预处理?