如何解决预热 CoreML MLModel
在我对 MLModel
的第一次预测时,我发现结果慢了 3 到 4 倍。似乎一旦您运行第一个预测,它就会加热模型。找不到任何关于它的官方信息。
预热模型的正确方法是什么?在应用启动时使用虚拟数据在异步线程上调用它?
解决方法
正如@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:)
编译的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。