为什么我的项目无法识别 Inceptionv3 机器学习模型?

Why is Inceptionv3 Machine Learning model not recognized on my project?

我正在 Swift 使用 Inception v3 机器学习模型构建一个基本的图像识别应用程序。 我将 Inceptionv3.mlmodel 拖放到我的项目文件夹中,并确保勾选了 "Copy items if needed" 选项。

检测函数内部:

func detect(image: CIImage) {

    guard let model = try? VNCoreMLModel(for: Inceptionv3().model) else {
        fatalError("Loading CoreML Model Failed!")
    }

    let request = VNCoreMLRequest(model: model) { (request, error) in
        guard let results = request.results as? [VNClassificationObservation] else {
            fatalError("Model failed to process")
    }

        if let firstResult = results.first {
            self.navigationItem.title = firstResult.identifier
        }

}

我收到以下消息:

Use of unresolved identifier 'Inceptionv3'

此外,当我在项目浏览器上单击 Inceptionv3.mlmodel 文件时,我收到此消息:

Interface generation only available with valid target

但我知道它应该是这样的:

Inceptionv3 (Swift generated source)

旁边有一个小箭头,可让您访问 class。

有什么想法吗?

似乎是某种错误。这可能会有所帮助,删除文件引用并尝试再次添加它。

这对我有用。干杯

确保选中您的目标成员资格。

不是拖放,而是右键单击项目并单击 "Add Files To Project"。然后添加模型文件。这对我有用。

我遇到了同样的问题。我通过在桥接头中添加 inceptionv3 来解决。

问题是您无法在导入模型文件之前让代码行存在。

删除模型文件,在它询问时删除引用。现在添加回模型库文件。返回注释的代码行并直接在下面键入同一行代码并允许 xcode 预测您要使用 'Incepetionv3' 模型文件。该错误现在将消失。

Xcode 不喜欢在引用文件时剪切和粘贴代码行,但更重要的是,在编写代码行之前文件必须存在。