我有:
init1 = tf.random_normal_initializer(0., 0.02)
init2 = tf.keras.initializers.RandomNormal(mean=0.0, stddev=0.02)
当用于创建 tf.Variables 时,这两个似乎都给出了相似的结果:
tf.Variable(init1(shape=[3], dtype=tf.float32))
>> <tf.Variable 'Variable:0' shape=(3,) dtype=float32, numpy=array([-0.02076386, 0.02649704, -0.01076219], dtype=float32)>
tf.Variable(init2(shape=[3], dtype=tf.float32))
>> <tf.Variable 'Variable:0' shape=(3,) dtype=float32, numpy=array([ 0.01218272, -0.00031702, -0.00397457], dtype=float32)>
当与张量流层一起使用时:
tfa.layers.InstanceNormalization(gamma_initializer=init1)
就tfa.layers.InstanceNormalization(gamma_initializer=init2)
我而言。
使用一种代替另一种,以及何时使用有tf.random_normal_initializer
什么区别?tf.keras.initializers.RandomNormal