如何修复此错误? (调用实例方法“预测”时没有完全匹配)

问题描述 投票:0回答:1

我正在努力将一个将图像输入集成到 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 上找到任何对我有用的答案。任何帮助将不胜感激!

swift xcode coreml
1个回答
0
投票

您需要一个

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

© www.soinside.com 2019 - 2024. All rights reserved.