问题描述
升级到Xcode 12和Swift 5.3后,我的MLmodel似乎不再正常工作,之前我没有任何问题。我确信这是一个简单的修复程序,只是我不知道如何修复。
let WpredictionModel = _14Win()
func calculateWin() {
guard let prediction = try? WpredictionModel.prediction(//all of my input data) else {
fatalError("Unexpected runtime error.")
}
我遇到了错误 不建议使用“ init()”:改用init(configuration :)并适当地处理错误。 在WpredictionModel声明之后。
我也得到这个错误。
@available(macOS 11.0,iOS 14.0,tvOS 14.0,watchOS 7.0,*)
class func load(contentsOf modelURL: URL,configuration: MLModelConfiguration = MLModelConfiguration(),completionHandler handler: @escaping (Swift.Result<_14Win,Error>) -> Void) {
MLModel.__loadContents(of: modelURL,configuration: configuration) { (model,error) in
if let error = error {
handler(.failure(error))
} else if let model = model {
handler(.success(_14Win(model: model)))
} else {
fatalError("SPI failure: -[MLModel loadContentsOfURL:configuration::completionHandler:] vends nil for both model and error.")
}
}
}
解决方法
克里斯。 昨天Xcode12更新后,我遇到了同样的问题!
Xcode从我的mlmodel文件自动生成以下代码。 但是“ MLModel”没有“ loadContentsOfURL ...”。 自动生成的文件不可编辑,我无能为力...
+ (void)loadContentsOfURL:(NSURL *)modelURL configuration:(MLModelConfiguration *)configuration completionHandler:(void (^)(AIASCore * _Nullable model,NSError * _Nullable error))handler {
[MLModel loadContentsOfURL:modelURL
configuration:configuration
completionHandler:^(MLModel *model,NSError *error) {
if (model != nil) {
AIASCore *typedModel = [[AIASCore alloc] initWithMLModel:model];
handler(typedModel,nil);
} else {
handler(nil,error);
}
}];
}