Я пытаюсь изучить структуру 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.
Что я делаю неправильно?
Любая помощь приветствуется!
image
- этоUIImage
, тогда нет, вы не можете слепо преобразовать его в любой другой класс. - person rmaddy   schedule 19.01.2019