Tensorflow:保存并恢复张量的输出

Tensorflow:保存并恢复张量的输出,tensorflow,Tensorflow,我希望使用tensorflow实现类似的功能 我只能找到关于保存和恢复变量(权重)的文档。然而,像#2-2一样,我想利用隐藏层(张量)的输出作为另一个模型的输入。这可以做到吗?据我所知,在创建不同的计算图之后,不可能将它们链接起来。但是,您有几个选项 选项2:创建一个大型图形并使用 因此,您还将结束三个不同的会话,并且需要将第一个会话的输出提供给其他两个会话中的一个 # Get the output _output_layer = sess.run(output_layer, {placeho

我希望使用tensorflow实现类似的功能


我只能找到关于保存和恢复变量(权重)的文档。然而,像#2-2一样,我想利用隐藏层(张量)的输出作为另一个模型的输入。这可以做到吗?

据我所知,在创建不同的计算图之后,不可能将它们链接起来。但是,您有几个选项

选项2:创建一个大型图形并使用

因此,您还将结束三个不同的会话,并且需要将第一个会话的输出提供给其他两个会话中的一个

# Get the output
_output_layer = sess.run(output_layer, {placeholder: ...})
if _output_layer < 0:
    something = sess1.run(something_1, {...})
else:
    something = sess2.run(something_2, {...})
#获取输出
_output_layer=sess.run(output_layer,{占位符:…})
如果输出层<0:
something=sess1.run(something_1,{…})
其他:
something=sess2.run(something_2,{…})

正如您所看到的,如果您能够避开控制流op,那么您的代码将非常简单。将所有内容都放在一个图中的另一个优点是,整个图是可微的,您可以在稍后阶段根据损失情况训练模型第一阶段的参数。

btw,graph\u editor可用于将内容连接在一起,即graph\u editor.ge。reroute\u a2b\ts(新输入,旧输入)将“连接起来”新的输入张量,旧的输入用于
# Build the first graph
with tf.Graph().as_default() as graph:
    output_layer, placeholder = build_my_model()

# Build the second two graphs
with tf.Graph().as_default() as graph_1:
    something_1 = do_something_1()
with tf.Graph().as_default() as graph_2:
    something_2 = do_something_2()
# Get the output
_output_layer = sess.run(output_layer, {placeholder: ...})
if _output_layer < 0:
    something = sess1.run(something_1, {...})
else:
    something = sess2.run(something_2, {...})