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

时间:2017-07-27 08:54:25

标签: swift machine-learning image-recognition

我正在使用Inception v3机器学习模型在Swift中构建一个基本的图像识别应用程序。 我拖放了项目文件夹中的Inceptionv3.mlmodel,并确保勾选了“如果需要复制项目”选项。

检测功能内部:

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
        }

}

我收到以下消息:

  

使用未解析的标识符'Inceptionv3'

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

  

界面生成仅适用于有效目标

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

  

Inceptionv3(Swift生成源)

旁边有一个小箭头,可让您访问该课程。

有什么想法吗?

5 个答案:

答案 0 :(得分:10)

确保检查目标会员资格。

答案 1 :(得分:2)

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

这对我有用。干杯

答案 2 :(得分:2)

而不是拖放,右键单击项目,然后单击"将文件添加到项目"。然后添加模型文件。这对我有用。

答案 3 :(得分:2)

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

答案 4 :(得分:0)

问题是在导入模型文件之前不能存在代码行。

删除模型文件,在询问时删除引用。现在添加模型库文件。回到注释的代码行,直接键入相同的代码行,并允许xcode预测你想要使用' Incepetionv3'模型文件。错误现在会消失。

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

相关问题