def build_encoder_network(num_inputs, num_hidden):
input = T.TensorType('float32', [None]*3)('input')
B, L = input.shape[0:2]
l_in = InputLayer((None, max_seq_len, num_inputs))
l_mask = InputLayer(shape=(None, max_seq_len))
l_enc = MyLSTMLayer(l_in, num_hidden, mask_input=l_mask, grad_clipping=grad_clip,
nonlinearity=lasagne.nonlinearities.rectify, only_return_final=True)
params = lasagne.layers.get_all_params(l_enc)
hid_out, _ = lasagne.layers.get_output(l_enc, {l_in: input})
tvars = [input, l_mask.input_var]
return hid_out, tvars, theano.function(tvars, hid_out), params
评论列表
文章目录