Tensorflow学习笔记——会话的使用

内容为学习实战Google深度学习框架的原创整理笔记

会话的使用

import tensorflow as tf
a = tf.constant([1.0, 2.0], name = 'a')
b = tf.constant([2.0, 3.0], name = 'b')
result = a + b + a
sess = tf.Session()
with sess.as_default():
    print(result.eval()) #当默认会话被指定后,可通过Tensor.eval()函数来计算一个张量的取值
sess.close()

结果:

[ 4.  7.]

下面两个命令实现同样的功能,注意比较:

sess = tf.Session()
print(sess.run(result))
print(result.eval(session=sess))
sess.close()

结果:

[ 4.  7.]
[ 4.  7.]

在IPython等交互式环境下,通过tf.InteractiveSession()函数可直接构建默认会话:

sess = tf.InteractiveSession()
print(result.eval())
sess.close()

结果:

[ 4.  7.]

variable与get_variable的区别

import tensorflow as tf
#w1 = tf.Variable(tf.random_normal([2,3],stddev=1,seed=1))
#w2 = tf.Variable(tf.random_normal([3,1],stddev=1,seed=1))
w1 = tf.get_variable("w1",initializer=tf.random_normal_initializer()(shape = [2,3]))
w2 = tf.get_variable("w2",initializer=tf.random_normal_initializer(seed=1)(shape = [3,1]))

# TensorFlow的这两个关于Variable的op,无论是哪个,即使是带有initializer,也必须在会话里初始化一下
x = tf.constant([[0.7,0.9]])
a = tf.matmul(x,w1)
y = tf.matmul(a,w2)
sess = tf.Session()
sess.run(tf.global_variables_initializer())
print(sess.run(y))
sess.close()

结果:

[[-3.08349299]]

variable与get_variable的区别: 还可以参考博客

猜你喜欢

转载自blog.csdn.net/cunyizhang/article/details/78949668
今日推荐