2

在我对MLModel. 似乎一旦您运行第一个预测,它就会加热模型。找不到任何关于它的官方信息。

预热模型的正确方法是什么?在应用程序启动时使用虚拟数据在异步线程上调用它?

4

1 回答 1

1

正如@Alladinian 提到的,从 iOS 14 开始,您可以使用该MLModel.load(contentsOf:...)功能。
这是预加载本地.mlmodel文件的用法示例:

if let url = Bundle.main.url(forResource: "myModel", withExtension: "mlmodelc") {
    let config = MLModelConfiguration()
    MLModel.load(contentsOf: url, configuration: config) { [weak self] result in
        switch result {
            case .success(let model):
                print("Model loaded and ready.")
                let modelWrapper = MyModelWrapper(model: model)
            case .failure(let error):
                print("Error loading model: \(error)")
        }
    }
}

如果要预加载外部获取的模型,请确保使用MLModel.compileModel(at:).

于 2021-05-31T15:22:01.607 回答