转载自:
https://blog.csdn.net/BTUJACK/article/details/80803914
import tensorflow as tf
t = tf.truncated_normal_initializer(stddev=0.1, seed=1)
v = tf.get_variable('v', [1], initializer=t)
with tf.Session() as sess:
for i in range(1, 10, 1):
sess.run(tf.global_variables_initializer())
print(sess.run(v))
输出:
[-0.08113182]
[ 0.06396971]
[ 0.13587774]
[ 0.05517125]
[-0.02088852]
[-0.03633211]
[-0.06759059]
[-0.14034753]
[-0.16338211]
tf.truncated_normal_initializer 从截断的正态分布中输出随机值。
生成的值服从具有指定平均值和标准偏差的正态分布,如果生成的值大于平均值2个标准偏差的值则丢弃重新选择。
ARGS:
mean:一个python标量或一个标量张量。要生成的随机值的均值。
stddev:一个python标量或一个标量张量。要生成的随机值的标准偏差。
seed:一个Python整数。用于创建随机种子。查看 tf.set_random_seed 行为。
dtype:数据类型。只支持浮点类型。
这是神经网络权重和过滤器的推荐初始值。