我正在努力将一个将图像输入集成到 Xcode 项目中的模型,但我遇到了一个错误:调用实例方法“预测”时没有完全匹配
import SwiftUI
import CoreML
let testImage:Image = Image("testHappyImage")
func testing(image: Image) ->
DDAMFNOutput? {
do {
let config = MLModelConfiguration()
let model = try DDAMFN(configuration: config)
let prediction = try model.prediction(image)
// ^ This line is giving me the error that says: No exact matches in call to instance method 'prediction'
return prediction
} catch {
}
return nil
}
这是模型接受图像输入的证明。 testHappyImage 是一个 112 x 112 彩色图像。这是 mlmodel 元数据的屏幕截图 -->
我不知道这个错误意味着什么,也不知道我应该从哪里开始修复它。
我找不到有关此错误的任何官方苹果文档,也没有在 Stack Overflow 上找到任何对我有用的答案。任何帮助将不胜感激!
您需要一个
CGImage
,而不是 SwiftUI Image
。您可以使用 ImageRenderer
将其中一种转换为另一种。
guard let image = ImageRenderer(content: Image("1")).cgImage else {
// cannot convert - handle this appropriately
return
}
Xcode 应该为您生成一个名为
DDAMFNInput
的类 - 将其实例传递给 predictions
。将您之前创建的 CGImage
传递给其初始化程序。
let input = DDAMFNInput(imageWith: image)
// you can also use DDAMFNInput(imageAt: url) if you have a URL
let predictions = try model.prediction(input: input)
然后您可以访问
predictions.linear_0
、predictions.x_201
等