我有数以百万计的图像可供推断。我知道如何编写我自己的代码来创建批次并使用MxNet Module API将批次转发到训练有素的网络以获得预测。但是,创建批次会导致大量数据操作,而这些操作并未特别优化。
在进行任何优化之前,我想知道是否有一些推荐的批量预测/推断方法。更具体地说,由于这是一个常见的用例,我想知道是否有一个接口/ api可以进行常规的图像预处理,批量创建和推理给定训练模型(即符号文件和时期检查点)?
如果您使用的是标准预训练模型,我强烈建议您查看基于Apache MXNet的计算机视觉工具包gluoncv project。
他们拥有非常好的先进模型实现,有时甚至击败了科学论文中发表的原始结果。最酷的是它们还提供数据预处理代码 - 据我所知,这正是您所寻找的。 (见gluoncv.data.transforms.presets
包)。
我不知道你想做什么推断,比如图像分类,分割等,但是看一看list of tutorials,很可能你会找到你需要的。
除此之外,优化快速挂钟时间需要确保您的GPU 100%使用。您可能会发现查看this video以了解有关优化性能的提示和技巧的更多信息。它讨论了培训,但相同的技术适用于推理。