是否可以使用 Vision coreML 执行批量预测

Posted

技术标签:

【中文标题】是否可以使用 Vision coreML 执行批量预测【英文标题】:Is it possible to perform batch prediction with Vision coreML 【发布时间】:2019-10-16 07:40:18 【问题描述】:

我正在使用Vision 框架(位于coreML 之上)对照片进行预测。由于coreML 2 可以进行批量预测(一次多张照片),但我不确定Vision 是否也支持它。至少我没有找到。

【问题讨论】:

目前似乎没有。请注意,在 ios 上,无论如何您并没有真正从批处理中获得巨大的速度提升。 @Matthijs Hollemans - 我看到在 Mac OS 上增益约为 30%。是不是比 iOS 少?为什么? 也许这取决于任务。如果单个预测只使用一点 GPU,那么 GPU 不会很忙,运行速度也会变慢。在那种情况下,做一个批处理会让 GPU 做更多的工作,这也让它运行得更快。但是,如果单个预测已经完成了大量 GPU 工作,那么 GPU 将已经以最高速度运行。此外,批量处理意味着必须少做 CPU GPU 同步。在 Mac 上可能比在 iOS 上更贵,因为 CPU 和 GPU 使用不同的内存。但实际上,唯一确定的方法是尝试并测量。 【参考方案1】:

答案是肯定的(从 iOS 12 开始): https://developer.apple.com/documentation/coreml/mlmodel/2962866-predictions

【讨论】:

以上是关于是否可以使用 Vision coreML 执行批量预测的主要内容,如果未能解决你的问题,请参考以下文章

Swift中Vision / CoreML对象识别器的精度

Vision 和 CoreML – CGImagePropertyOrientation 需要错误的类型

CoreML试水--图片识别

CoreML Vision 人脸检测的输入图像尺寸要求是啥

Swift 中 Vision/CoreML 对象识别器的精度

Apple Vision Framework:通过观察检测微笑或幸福的面孔?