def build_model(tparams, options):
alphaHiddenDimSize = options['alphaHiddenDimSize']
betaHiddenDimSize = options['betaHiddenDimSize']
x = T.tensor3('x', dtype=config.floatX)
reverse_emb_t = x[::-1]
reverse_h_a = gru_layer(tparams, reverse_emb_t, 'a', alphaHiddenDimSize)[::-1] * 0.5
reverse_h_b = gru_layer(tparams, reverse_emb_t, 'b', betaHiddenDimSize)[::-1] * 0.5
preAlpha = T.dot(reverse_h_a, tparams['w_alpha']) + tparams['b_alpha']
preAlpha = preAlpha.reshape((preAlpha.shape[0], preAlpha.shape[1]))
alpha = (T.nnet.softmax(preAlpha.T)).T
beta = T.tanh(T.dot(reverse_h_b, tparams['W_beta']) + tparams['b_beta'])
return x, alpha, beta
评论列表
文章目录