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)