图中元素移入移除主图
有时候,我们需要把某个元素独立出来,让图的结构更加清晰。
如,我们的图中有3个loss,都需要一个train的name_scope处理,那就可以把train模块单独拎出来,让3个loss接入就好了。
如
以以下代码为例:
代码来源于自己写的一篇关于tf.placeholder()的博客
https://blog.csdn.net/lllxxq141592654/article/details/84944718
import tensorflow as tf
# case1:简单点的情况
import tensorflow as tf
# case1:简单点的情况
x = tf.placeholder(tf.float32)
y = x*x
# case2:复杂点的情况
s = tf.placeholder(tf.int16) # tf默认的整数类型其实是32
t = tf.placeholder(tf.int16)
u = t + s +tf.constant(1, dtype=tf.int16)
v= tf.placeholder(tf.int16)
w = u * v
init = tf.global_variables_initializer
with tf.Session() as sess:
print(sess.run(y, feed_dict={x: 3.0}))
print(sess.run(w, feed_dict={s: 1, t: 3, v: 2}))
writer = tf.summary.FileWriter("logs", sess.graph) # 文件写在该.py文件同级
代码可以生成graph,自己用浏览器打开就好了。
如图
图中,选中某个元素,右上角会出现该元素的属性,其中有一个是Remove from main graph,以下图为例
操作后如下图所示
可以看到,移出主图,就在界面中开辟了一块新的位置。
记住一点:无论再怎么移出移入,图的逻辑是不变的!
可以看出,被移出的元素,在主图中变成了虚线,在子图中保持实线,而与之逻辑相连的那个元素(本例中为add),在子图中变成了虚线。并且,主子图中,同一元素会被同时选中。
图中相同元素组合到一起
以以下代码为例:
代码来源于自己写的一篇关于tf.placeholder()的博客
https://blog.csdn.net/lllxxq141592654/article/details/84944718
import tensorflow as tf
# case1:简单点的情况
import tensorflow as tf
# case1:简单点的情况
x = tf.placeholder(tf.float32)
y = x*x
# case2:复杂点的情况
s = tf.placeholder(tf.int16) # tf默认的整数类型其实是32
t = tf.placeholder(tf.int16)
u = t + s +tf.constant(1, dtype=tf.int16)
v= tf.placeholder(tf.int16)
w = u * v
init = tf.global_variables_initializer
with tf.Session() as sess:
print(sess.run(y, feed_dict={x: 3.0}))
print(sess.run(w, feed_dict={s: 1, t: 3, v: 2}))
writer = tf.summary.FileWriter("logs", sess.graph) # 文件写在该.py文件同级
代码可以生成graph,自己用浏览器打开就好了。
如图
选中某个元素后,右上角属性对话框中,有一个Group this series of nodes
点击后如下图所示:
双击组合的节点,可以展开(不可逆)
与原图对比后,发现逻辑并没有改变,只是那个操作会隐藏一些逻辑细节。