import tensorflow as tf
import numpy as np
sess = tf.Session()
def variable_init(size):
in_dim = size[0]
#计算随机生成变量所服从的正态分布标准差
w_stddev = 1. / tf.sqrt(in_dim / 2.)
return tf.random_normal(shape=size, stddev=w_stddev)
def variable_init(size):
# He initialization: sqrt(2./dim of the previous layer)
# np.random.randn(layers_dims[l], layers_dims[l-1]) * np.sqrt(2./layers_dims[l-1])
in_dim = size[0]
out_dim = size[1]
return np.random.randn(in_dim, out_dim) * np.sqrt(2./in_dim)
sess.run(variable_init([2,3]))
array([[-1.8757054 , -1.1076592 , 0.70838064], [-0.5223602 , -0.5380756 , 0.47503483]], dtype=float32)
variable_init([2,3])
array([[-1.2229257 , 0.60203326, -1.1791672 ], [ 2.1850308 , 0.15628994, 1.35896603]])
sess.run(tf.nn.softmax(np.array([-2.,3., 0., -2])))
array([0.00633705, 0.94050111, 0.04682479, 0.00633705])
tf.nn.sigmoid?