def __init__(self, incoming, unchanged_W, unchanged_W_shape,
oov_in_train_W, oov_in_train_W_shape,
p=0.5, rescale=True, dropout_mask=None,
**kwargs):
super(CustomEmbedding, self).__init__(incoming, **kwargs)
self.output_size = unchanged_W_shape[1]
self.unchanged_W = self.add_param(unchanged_W, unchanged_W_shape,
name="unchanged_W",
trainable=False,
regularizable=False)
self.oov_in_train_W = self.add_param(oov_in_train_W,
oov_in_train_W_shape, name='oov_in_train_W')
self.W = T.concatenate([self.unchanged_W, self.oov_in_train_W])
self.p = p
self.rescale = rescale
if dropout_mask is None:
dropout_mask = RandomStreams(_rng.randint(1, 2147462579)).binomial(self.W.shape,
p=1 - self.p,
dtype=self.W.dtype)
self.dropout_mask = dropout_mask
评论列表
文章目录