gpt4 book ai didi

swift - 下载自定义 CoreML 模型并加载以供使用 [Swift]

转载 作者:行者123 更新时间:2023-11-30 08:45:34 27 4
gpt4 key购买 nike

我正在创建一个基于神经网络的应用程序,CoreML 模型大小约为 150MB。因此,很明显我无法在应用程序内发送它。

为了解决这个问题,我开始了解这个article ,提到您可以在设备上下载并编译 CoreML 模型。

我做了并在我的设备上下载,但问题是我无法像原始模型一样进行预测。就像,原始模型将 UIImage 作为输入,但 MLModelMLFeatureProvider,任何人都可以解决如何将类型转换为我的模型吗?模型并使用它作为原始?

do {
let compiledUrl = try MLModel.compileModel(at: modelUrl)
let model = try MLModel(contentsOf: compiledUrl)
debugPrint("Model compiled \(model.modelDescription)")
//model.prediction(from: MLFeatureProvider) //Problem
//It should be like this
//guard let prediction = try? model.prediction(image: pixelBuffer!) else {
// return
//}
} catch {
debugPrint("Error while compiling \(error.localizedDescription)")
}

最佳答案

当您将 mlmodel 文件添加到项目中时,Xcode 会自动为您生成一个源文件。这就是为什么您之前能够编写 model.prediction(image: ...) 的原因。

如果您在运行时编译 mlmodel,则您没有该特殊的源文件,您需要自己调用 MLModel API。

这里最简单的解决方案是将 mlmodel 文件添加到您的项目中,将自动生成的源文件复制粘贴到新的源文件中,并将其与您在运行时编译的 mlmodel 一起使用。 (复制生成的源代码后,您可以再次从 Xcode 项目中删除 mlmodel。)

此外,如果您的模型是 150MB,您可能需要考虑通过选择更适合移动设备的架构来制作它的小版本。 (不是 VGG16,您目前似乎正在使用它。)

关于swift - 下载自定义 CoreML 模型并加载以供使用 [Swift],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52347827/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com