tensorflow中的命名空间运用

import tensorflow as tf
g1=tf.Graph()
g2=tf.Graph()
# x1=tf.constant([[1,2],[2,1]])
# y1=tf.constant(2)
# z1=tf.subtract(x1,y1)
with g1.as_default():
with tf.name_scope("Scope_A"): #创建一个命名空间,可以使用相同变量
asub=tf.subtract(1,2,name="A_sub")
amul=tf.multiply(asub,3,name="B_mul")
with tf.name_scope("Scope_B"):
badd=tf.add(5,3,name="B_add")
bmul=tf.multiply(badd,3,name="B_div")
g1res=tf.add(amul,bmul,name="g1result")
with g2.as_default():
with tf.name_scope("Scope_C"):
a=tf.placeholder(tf.float32,shape=(),name="input_a")
b=tf.placeholder(tf.float32,shape=(),name="input_b")
c=tf.add(a,b)
g2res=tf.pow(c,2,name="g2result")
with tf.Session(graph=g1) as sess1:
s1= sess1.run(g1res)
print(s1)
with tf.Session(graph=g2) as sess2:
s2=sess2.run(g2res,feed_dict={a:12,b:22})
print(s2)
import tensorflow as tf
g1=tf.Graph()
with g1.as_default():
y=tf.Variable(0.)
with tf.name_scope("Scope_C"):
a=tf.placeholder(tf.float32,shape=(),name="input_a")
b=tf.placeholder(tf.float32,shape=(),name="input_b")
with tf.name_scope("Scope_A"):
asub=tf.subtract(a,b,name="A_sub")
amul=tf.multiply(asub,3,name="B_mul")
with tf.name_scope("Scope_B"):
badd=tf.add(a,b,name="B_add")
bmul=tf.multiply(badd,3,name="B_div")
g1res=tf.add(amul,bmul,name="g1result")
result=y.assign(y+g1res)
init=tf.initialize_all_variables()
with tf.Session(graph=g1) as sess1:
sess1.run(init)
s1=sess1.run(result,feed_dict={a:28,b:9})
print (s1)
with tf.Session(graph=g1) as sess2:
sess2.run(init)
s2=sess2.run(result,feed_dict={a:12,b:22})
print(s2)