def construct(self, input_tv):
T_ = self._declare_mat('T', self.in_dim, self.out_dim)
T_.clip_gradient = self.prm('clip_gradient')
T_.l2_project = self.prm('l2_project')
T_.l2_projection_axis = 1
n_timesteps = input_tv.shape[0]
window_size = self.prm('win_size')
self.out_dim = window_size * self.out_dim
output_tv = T_[input_tv.flatten()].reshape(
[n_timesteps, self.out_dim])
if self.prm('do_dropout'):
T_.dropout_retention_freq = self.prm('dropout_retention_freq')
dropout_mask = dropout_mask_creator(
self.out_dim, self.prm('dropout_retention_freq'))
self.output_tv = output_tv * dropout_mask
else:
self.output_tv = output_tv
return (T_,)
评论列表
文章目录