升级到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.")
}
}
}
Kris。昨天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);
}
}];
}