def init_params(self, trainable=True, **kwargs):
i_shape, k_shape = self.shapes
# Compute effective number of neurons per filter. Ignores padding.
conv_out = i_shape[0] * i_shape[1]
if hasattr(self, 'pool_side'): conv_out /= self.pool_side**2
elif hasattr(self, 'pool_width'): conv_out /= self.pool_width
self.params['W'] = xavier_init(self.n_visible, self.n_hidden * conv_out,
shape=k_shape + [self.n_hidden],
name='W', trainable=trainable, dtype=self.dtype)
self.params['bhid'] = tf.Variable(tf.zeros(self.n_hidden, dtype=self.dtype),
name='bhid', trainable=trainable)
self.params['bvis'] = tf.Variable(tf.zeros(i_shape, dtype=self.dtype),
name='bvis', trainable=trainable)
评论列表
文章目录