def __call__(self, input):
b_size = input.shape[0]
input_data = input[:(b_size/2)]
initial = input[(b_size/2):]
input_data = input_data.dimshuffle(2, 0, 1)
initial = initial.dimshuffle(2, 0, 1)
me = self.dropout(T.ones_like(input_data[0]))
mh = self.dropout(T.ones_like(self.encoder(input_data[0])))
def step(e, h, me, mh):
ig = sigmoid(self.encode_igate(me * e) + self.recode_igate(mh * h))
fg = sigmoid(self.encode_fgate(me * e) + self.recode_fgate(mh * h))
return self.activation(fg * self.recoder(mh * h) + ig * self.encoder(me * e))
h = theano.scan(step, sequences=[input_data, initial], non_sequences=[me, mh], outputs_info=None)[0]
return h.dimshuffle(1, 2, 0)
LSTM1DLayerWithInit.py 文件源码
python
阅读 23
收藏 0
点赞 0
评论 0
评论列表
文章目录