调用VNCoreMLModel停止使用其他模型

时间:2018-11-10 07:31:59

标签: swift xcode machine-learning computer-vision

我已经克隆了这个仓库:

https://github.com/austintt/CoreMLVision

我添加了一个名为cats-dogs-VGG16.mlmodel的VGG16模型的变体,它具有两个输出。已使用Apple的CoreMLTools将其从Tensorflow模型转换为CoreML:https://github.com/apple/coremltools

makePredictions中的ViewController.swift代码已更改为如下所示:

    func makePredictions(image: UIImage) {
        do {
//            let model = try VNCoreMLModel(for: Inceptionv3().model)
            let model = try VNCoreMLModel(for: cats_dogs_VGG16_1().model)
            let request = VNCoreMLRequest(model: model, completionHandler: displayPredictions)
            let handler = VNImageRequestHandler(cgImage: image.cgImage!)
            try handler.perform([request])
        } catch {

        }
    }

当然,当第一行let model =执行时,一切都很好。这是预期的功能。

当代码如上时,每行上都有一个调试停止点,执行到let model =行,然后停止并显示以下消息:

2018-11-10 07:14:40.207095+0000 MachineVisionExample[6686:955791] [espresso] [Espresso::handle_ex_] exception=Unsupported engine type
2018-11-10 07:14:40.772336+0000 MachineVisionExample[6686:956284] [discovery] errors encountered while discovering extensions: Error Domain=PlugInKit Code=13 "query cancelled" UserInfo={NSLocalizedDescription=query cancelled}

为什么查询被取消?

0 个答案:

没有答案