def linear(input, output_dim, scope=None, stddev=None):
if stddev:
norm = tf.random_normal_initializer(stddev=stddev)
else:
norm = tf.random_normal_initializer(
stddev=np.sqrt(2.0 / input.get_shape()[1].value)
)
const = tf.constant_initializer(0.0)
with tf.variable_scope(scope or 'linear'):
w = tf.get_variable(
'w',
[input.get_shape()[1], output_dim],
initializer=norm
)
b = tf.get_variable('b', [output_dim], initializer=const)
return tf.matmul(input, w) + b
评论列表
文章目录