【问题标题】:Inference and training versions of TF graphsTF 图的推理和训练版本
【发布时间】:2017-08-14 16:52:12
【问题描述】:

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

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

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

【问题讨论】:

    标签: tensorflow tensorflow-serving


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2019-07-23
      • 1970-01-01
      • 2019-07-11
      • 2019-01-22
      • 1970-01-01
      • 2020-05-11
      • 2021-12-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多