TF图的推理和训练版本

时间:2017-08-14 16:52:13

标签: tensorflow tensorflow-serving

生成用于推理时间与训练时间的图表的推荐方法是什么?基本上,对于训练,图形将需要各种组件用于数据输入和扩充,包括一些自定义操作,而在推理时,整个子图可以由占位符替换。

如果目标是最小化推理时间模型的大小,我应该如何设置?我也不想在任何仅用于培训的自定义操作中链接。

我主要担心的是"权利"这样做的方式。基本上是为了保证我可以使用tf.train.Saver()将训练图恢复到推理图中而没有任何兼容性问题?

1 个答案:

答案 0 :(得分:0)

确保推理图没有兼容性问题的一个很好的起点是使用元图。有详细的教程https://www.tensorflow.org/programmers_guide/meta_graph

  1. 推荐它的主要原因是tf.train.import_meta_graph中提供了clear_devices标志,可用于从检查点中删除设备依赖关系。
  2. 其他好处包括能够检索训练期间使用的超参数,并在集合中保存有趣的操作(输入占位符)以便于检索。
  3. 它还有助于代码重用性,因为您可以编写一个不包含图形定义但使用元数据加载相同的推理函数。如果我正在训练一个在训练期间验证并用作特征提取器的模型,我发现这非常有用。