在tensorflow中组合多个图的最佳方法是什么?

时间:2019-03-20 00:09:01

标签: python tensorflow deep-learning

Multi Graph 我在张量流中有多个训练有素的图,我想将它们组合在一起以进行后处理,如图所示。

搜索了一段时间后,我能够找到一种常见的方法LINK。但是,通过这样做,我可能需要线性运行图形(一个接一个)。我的问题是,这是“整合”多个训练图的唯一方法吗?

编辑1: 图形代码,其中不包括训练步骤:


layer_def={
        "l1": 21,
        "l2": 42,
        "l3": 42,
        "l4": 84 ,
        "l5": 84,
        "l6": 168,
        "l7": 84,
        "l8": 42,
        "l9": 21,
        "l10": 16
        }

graph = tf.Graph()

input = tf.placeholder(tf.float32, [None, 128], name="Feature_Input")
with graph.as_default(): 
    with tf.name_scope("SampleOp"):
        input_layer = dense_layer_with_BN_l2(input, units=30)# it is a function warp of linear layer with batch-normalization and returns L2-norm
        for key, value in layer_def.items():
            input_layer = dense_layer_with_BN_l2(input_layer, value, name=key)
        K_gain = probability_sample(input_layer, 16) # it is a function warp of tfp.distributions.MultivariateNormalDiag.sample

sess = tf.Session(graph=graph)
sess.run(tf.global_variables_initializer())
saver = tf.train.Saver()
sess.run(K_gain ,feed_dict={input : 0})
save_path = saver.save(sess, "./model/SampleOp.ckpt")

Graph1 Graph2 Graph3 都使用不同的数据集进行训练,以期望具有不同的权重。

我目前正在做的是:


Graph1 = ImportGraph("./model/SampleOp1.ckpt")
Graph2 = ImportGraph("./model/SampleOp2.ckpt")
Graph3 = ImportGraph("./model/SampleOp3.ckpt")

Output1 = Graph1.run(FeedDict)
Output2 = Graph2.run(FeedDict)
Output3 = Graph3.run(FeedDict)

result = post_Processing([Output1, Output2, Output3])

我想知道是否还有其他有效的方法来“操纵”(“组合”,“整体”或任何其他)张量流图以达到我的目的。

0 个答案:

没有答案