如何在纯 Playground 文件中获取 CoreML
Posted
技术标签:
【中文标题】如何在纯 Playground 文件中获取 CoreML【英文标题】:How To Get CoreML In Pure Playground Files 【发布时间】:2018-08-26 15:48:35 【问题描述】:我正在使用 .playground 文件,但我似乎无法将我的 CoreML
模型添加到其中。我将它拖到 Resources 文件夹中,这是我的代码:
func predict(image: CGImage)
let model = try! VNCoreMLModel(for: Inceptionv3().model)
let request = VNCoreMLRequest(model: model, completionHandler: results)
let handler = VNSequenceRequestHandler()
try! handler.perform([request], on: image)
但是,我收到错误消息:
使用未声明类型 Inceptionv3
有人可以帮帮我吗?
【问题讨论】:
如果您在 Xcode 中执行相同的过程,它应该为您生成一个头文件集。将它们复制到 Playground 中 你能再具体一点吗?我正在使用 Swift,而 Xcode 从未为我生成头文件集。 要像你一样使用它,Xcode 必须为模型生成一个头文件或 swift 文件。它可能在派生数据文件夹中,但它必须存在于某处。像一个普通的 ios 项目一样制作 【参考方案1】:编译器引发此错误,因为它找不到您尝试实例化其对象的类 Inceptionv3 的声明。
只要您有一个常规的 Xcode 项目,就会自动为您创建此类。如果你想在 Swift Playground 中使用它,你需要手动添加这个文件:
首先,创建一个常规 Xcode 项目(例如一个 iOS 应用程序)并在那里集成您的 mlmodel。然后 Xcode 将自动为该模型生成一个接口。这些正是您的项目中缺少的文件,并且包含 Inceptionv3 类的定义。
here 已询问并回答了同样的问题。在那里您还可以找到显示如何查找自动生成的类的图像。
【讨论】:
以上是关于如何在纯 Playground 文件中获取 CoreML的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Swift 在 Playground 中获取用户交互事件