我已经克隆了这个仓库:
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}
为什么查询被取消?