2017-07-02 48 views
0

我有使用tensorflow一個下面的代碼:tensorflow總結 - 寫多個圖形

g1 = tf.Graph() 
g2 = tf.Graph() 

with g1.as_default(): 
    a = tf.constant(3) 
    b = tf.constant(4) 
    c = tf.add(a, b) 

with g2.as_default(): 
    x = tf.constant(5) 
    y = tf.constant(2) 
    z = tf.multiply(x, y) 

writer = tf.summary.FileWriter("./graphs", g1) 
writer = tf.summary.FileWriter("./graphs", g2) 
writer.close() 

而且在tensorboard,我得到這個:

enter image description here

但它缺少第一個圖表。有沒有辦法繪製兩個圖?

回答

2

您第二次致電tf.summary.FileWriter會覆蓋您的第一個文件。

如果您通過在打開第二個作者之前關閉第一個作者來寫入其他文件,會發生什麼?

警告tensorflow:每次運行發現多個圖事件,或者有一個包含graph_def的元圖,以及一個或多個圖事件。用最新的事件覆蓋圖形。

所以看起來張量板還沒有準備好處理多個圖。我們應該擔心嗎?引用Yaroslav Bulatov

在一個過程中使用多個圖通常是一個可怕的錯誤。

EDIT

。注意,tensorflow Graph可以承載幾個,非連接的組件,有效地代表幾個不同的曲線圖。例如,

import tensorflow as tf 

g = tf.Graph() 
with g.as_default(): 
    a = tf.constant(3) 
    b = tf.constant(4) 
    c = tf.add(a, b) 

    x = tf.constant(5) 
    y = tf.constant(2) 
    z = tf.multiply(x, y) 

writer = tf.summary.FileWriter("./graphs", g) 
writer.close() 

結果如下

enter image description here

這就是爲什麼使用幾個Graph一般不需要S的原因之一。