我已经使用Keras API构建并训练了一个模型。现在,我需要创建一个有效的框架来对大量输入样本进行推理。棘手的部分是,并非所有样本都从一开始就可用,而是在推断时根据先前样本的结果进行选择。
我可以为此创建一个基本的管道,一个过程选择要放入队列的样本,第二个过程来检索并预处理它们。然后,这些样本将通过Keras的model.predict_on_batch(batch)
馈送到GPU上的模型(开始时仅初始化一次)。
但是,这将非常慢。我宁愿在GPU上有一个小的队列,以便在下一批从RAM转移到GPU时没有加载时间。
使用Tensorflow Dataset API和prefetch_to_device
[1]似乎可以实现。但是,将Dataset API与Keras模型一起使用进行推断似乎也不是直接的:
tf.data.Dataset
的推论:[2,[3],但是答案在给定的代码片段旁边并没有真正的解释性。另外,我不确定如何为我的Keras模型检查点.hdf5-文件使用建议。我不熟悉没有keras抽象的普通tensorflow代码,因此我可能已经监督了参考文献中显而易见的内容。非常感谢您提供详细的解释或指向更多资源的指示。