我正在尝试学习Apple的CoreML框架,并为此创建了一个非常简单的CoreML模型,该模型将告诉您图像显示的是苹果还是香蕉。为此,我在Assets.xcassets目录中有一个苹果的图像,当我按下按钮时,我希望将此图像传递到我的模型中,希望获得关于它的正确信息。
@IBAction func applePressed(_ sender: Any){
let image = cropImage(imageToCrop: UIImage(named: "apple")!)
guard let fruitName = try? model.prediction(image: image as! CVPixelBuffer) else{
fatalError("Unexpected runtime error.")
}
print(fruitName.classLabel)
}
现在我遇到一个错误。我得到的错误是
Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, subcode=0x0)
错误在行旁边
guard let fruitName = try? model.prediction(image: image as! CVPixelBuffer) else{
fatalError("Unexpected runtime error.")
}
我不确定是什么引起了错误。我能想到的唯一原因是我没有正确格式化图像。该模型需要一个CVPixelBuffer,我不确定从UIImage到CVPixelBuffer的转换是否正确。
我在做什么错了?
感谢所有帮助!