如何在Swift Playground中使用.mlmodel?

时间:2018-03-27 05:33:12

标签: swift swift-playground coreml

我已将.mlmodel转换为.mlmodelc,我已将其放入资源文件夹中。我正在使用Vision frameworkMNIST模型,遵循本教程(https://www.youtube.com/watch?v=bOg8AZSFvOc),但使用swift playground。

我缺少什么? (我正在使用.playground文件,而不是.playgroundbook文件)

代码行:

 guard let visionModel = try? VNCoreMLModel(for: MNIST().modelc) else {fatalError("can not load Vision ML model")}

错误讯息:

  

使用未定义的标识符'MNIST'

屏幕截图:image of playground

2 个答案:

答案 0 :(得分:0)

编译器引发此错误,因为它无法找到类MNIST的声明,您尝试实例化对象。

首先,创建一个常规的Xcode项目(例如iOS应用程序)并在那里集成你的mlmodel。然后Xcode将自动为该模型生成一个接口。这些正是项目中缺少的文件,包含MNIST类的定义。

点击小->按钮将引导您进入这些课程。请注意,在Apple的示例中,该模型被命名为" MarsHabitatPricer" Here you can find the generated interface classes

答案 1 :(得分:0)

默认情况下,Playground无法识别.mlmodel文件,因此我们需要一个iOS项目来帮助我们找到已编译的mlmodelc文件夹,并将mlmodelc文件夹复制到Playground的资源文件夹中,以及自动生成的帮助器类到Playground的源文件夹,并将其更改为public。然后就可以了!

尝试这个项目: https://github.com/DocRace/AnimalClassifier-Swift-Playground