CNN中对需要训练的参数进行合适的初始化非常重要,tensorflow提供一些初始化参数的方法。
所有的初始化方法都定义在init_ops.py中。
tf.random_normal_initializer()
tf.truncated_normal_initializer()
tf.random_uniform_initializer()
The Glorot uniform initializer, also called Xavier uniform initializer.
tf.glorot_normal_initializer()
tf.uniform_unit_scaling_initializer()
tf.variance_scaling_initializer()
使用示例:
import tensorflow as tf
value = [0, 1, 2, 3, 4, 5, 6, 7]
init1 = tf.constant_initializer(value)
init2 = tf.glorot_normal_initializer()
with tf.Session() as sess:
v1 = tf.get_variable(name='v1', shape=[8], initializer=init1)
v1.initializer.run()
print(v1.eval())
v2 = tf.get_variable(name='v2', shape=[8], initializer=init2)
v2.initializer.run()
print(v2.eval())
更多使用示例可参考:TensorFlow初始化器