我正在创建一个基于神经网络的应用程序,CoreML
模型大小约为 150MB。所以,很明显我不能在应用程序中发布它。
为了克服这个问题,我了解到这篇文章,提到您可以CoreML
在设备上下载和编译模型。
我做了并且我在我的设备上下载了,但问题是我不能像原始模型那样做预测。就像,原始模型UIImage
作为输入但是MLModel
是MLFeatureProvider
,任何人都可以解决我如何对我的模型进行类型转换并将其用作原始模型?
do {
let compiledUrl = try MLModel.compileModel(at: modelUrl)
let model = try MLModel(contentsOf: compiledUrl)
debugPrint("Model compiled \(model.modelDescription)")
//model.prediction(from: MLFeatureProvider) //Problem
//It should be like this
//guard let prediction = try? model.prediction(image: pixelBuffer!) else {
// return
//}
} catch {
debugPrint("Error while compiling \(error.localizedDescription)")
}