#swift #xcode #computer-vision #arkit #coreml
#swift #xcode #компьютерное зрение #arkit #coreml
Вопрос:
В настоящее время я создаю новое приложение и пытаюсь интегрировать модель Core ML с Vision в свое приложение … к сожалению, Xcode показывает мне это сообщение: невозможно преобразовать значение типа ‘MobileNetV2’ в ожидаемый тип аргумента ‘VNCoreMLModel’
Как я могу это решить?
Вот мой код ниже:
let config = MLModelConfiguration()
guard let coreMLModel = try? MobileNetV2(configuration: config),
let visionModel = try? VNCoreMLModel(for: coreMLModel.model) else {
fatalError("Couldn't load model!")
}
let classificationRequest = VNCoreMLRequest(model: coreMLModel, completionHandler: classificationCompleteHandler)
classificationRequest.imageCropAndScaleOption = VNImageCropAndScaleOption.centerCrop
visionRequests = [classificationRequest]
loopCoreMLUpdate()
}
Ответ №1:
В этой строке не должно использоваться coreMLModel
, но visionModel
:
let classificationRequest = VNCoreMLRequest(model: coreMLModel, completionHandler: classificationCompleteHandler)
Комментарии:
1. Я почти уверен, что то, что я написал, правильно. Вы должны передать экземпляр VNCoreMLModel в VNCoreMLRequest, но то, что вы передаете, является экземпляром MobileNetV2. Это буквально то, что говорится в сообщении об ошибке Xcode.
2. Мой плохой … это наконец сработало! Большое спасибо за вашу помощь!