tf.random_normal
函数用于从服从指定正态分布的数值中取出指定个数的值:
tf.random_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=None, name=None)
shape
:输出张量的形状。mean
:正态分布的均值。stddev
是正态分布的标准差。dtype
:输出的类型。seed
:随机数种子,是一个整数。name
:操作的名称。
以下程序定义一个w1
变量:
import tensorflow as tf
w1 = tf.Variable(tf.random_normal([2, 3], stddev=1, seed=1))
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
print(w1)
print(sess.run(w1))
执行结果:
<tf.Variable 'Variable:0' shape=(2, 3) dtype=float32_ref>
[[-0.8113182 1.4845988 0.06532937]
[-2.4427042 0.0992484 0.5912243 ]]
变量w1
声明之后并没有被赋值,需要在Session
中调用run(tf.global_variables_initializer())
方法初始化之后才会被具体赋值。tf
中张量与常规向量不同的是,执行print(w1)
输出的是w1
的形状和数据类型等属性信息,获取w1
的值需要调用sess.run(w1)
方法。