定义两个不同的图

import tensorflow as tf

g1 = tf.Graph()
with g1.as_default():
    v = tf.get_variable("v", [1], initializer = tf.zeros_initializer()) # 设置初始值为0

g2 = tf.Graph()
with g2.as_default():
    v = tf.get_variable("v", [1], initializer = tf.ones_initializer())  # 设置初始值为1

with tf.Session(graph = g1) as sess:
    tf.global_variables_initializer().run()
    with tf.variable_scope("", reuse=True):
        print(sess.run(tf.get_variable("v")))

with tf.Session(graph = g2) as sess:
    tf.global_variables_initializer().run()
    with tf.variable_scope("", reuse=True):
        print(sess.run(tf.get_variable("v")))

[0.]
[1.]

2.张量的概念

a = tf.constant([1.0, 2.0], name="a")
b = tf.constant([2.0, 3.0], name="b")

print(a.eval())

result = a + b
print(result) # Tensor("add:0", shape=(2,), dtype=float32)

sess = tf.InteractiveSession ()
print(result.eval()) # [3. 5.]
  1. 会话的使用
    3.1 创建和关闭会话
# 创建一个会话。
sess = tf.Session()

# 使用会话得到之前计算的结果。
print(sess.run(result))

# 关闭会话使得本次运行中使用到的资源可以被释放。
sess.close()

[3. 5.]

3.2 使用with statement 来创建会话

with tf.Session() as sess:
    print(sess.run(result))

[3. 5.]

3.3 指定默认会话

sess = tf.Session()
with sess.as_default():
    print(result.eval())

[3. 5.]

sess = tf.Session()
# 下面的两个命令有相同的功能。
print(sess.run(result)) # [3. 5.]
print(result.eval(session=sess)) # [3. 5.]

[3. 5.]
[3. 5.]

  1. 使用tf.InteractiveSession构建会话
sess = tf.InteractiveSession ()
print(result.eval()) # [3. 5.]
sess.close()

sess = tf.InteractiveSession()
with sess.as_default():
    print(sess.run(result)) # [3. 5.]
sess.close()

[3. 5.]
[3. 5.]

  1. 通过ConfigProto配置会话
config=tf.ConfigProto(allow_soft_placement=True, log_device_placement=True)
sess1 = tf.InteractiveSession(config=config)
sess2 = tf.Session(config=config)