带塔命名空间,可在经过多GPU训练的模型上进行推断(tensorflow)

时间:2019-02-04 18:26:12

标签: tensorflow multi-gpu

大家好。

说明:在着名的CIFAR-10教程之后,我以数据并行方式在多个GPU上训练了一个模型,即具有多个模型图副本,每个副本位于其{{1 }} tf.name_scope()tower_0等,并在这些范围之间共享可训练的变量。

我的需要:为了简化和统一,在推理过程中命名输入张量(例如,与未在多GPU上训练的模型具有相同的图形,因此没有{ {1}}在他们的图表中的顶级域名范围),我想在保存“ .meta”文件时从图表中删除顶级域名tower_1

我尝试过的事情:

  1. [没有用] ,例如在参数tower_N设置为tower_N的情况下使用tf.train.export_meta_graph()。首先,此函数在图deeply inside上执行更改。因此,我无法在最终图形中使用它。其次,如果我准备了整个事情,直接加载export_scope并与tower_0一起使用,在这种情况下,加载未定义的未绑定输入会遇到问题。

  2. [工作但很丑] ,在训练时,请保留meta_graph.export_scoped_meta_graph()种“裸”的模型,即不使用其unbound_inputs_col_name=None名称范围。这样,在我的图形中,我将始终只得到模型的一个顶层副本,该副本具有所需的张量命名。

我将不胜感激,因为在多个GPU上进行训练时保持图形整洁的任务似乎很自然...

0 个答案:

没有答案
相关问题