【问题标题】:How To Get CoreML In Pure Playground Files如何在纯 Playground 文件中获取 CoreML
【发布时间】: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 项目一样制作

标签: swift xcode swift-playground coreml


【解决方案1】:

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

只要您有一个常规的 Xcode 项目,就会自动为您创建此类。如果你想在 Swift Playground 中使用它,你需要手动添加这个文件:

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

here 已询问并回答了同样的问题。在那里您还可以找到显示如何查找自动生成的类的图像。

【讨论】:

    猜你喜欢
    • 2020-05-26
    • 2018-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-06
    • 1970-01-01
    相关资源
    最近更新 更多