def __init__(self, vocab_dict, dropout_rate, embed_dim, hidden_dim, bidirectional=True):
super(AoAReader, self).__init__()
self.vocab_dict = vocab_dict
self.hidden_dim = hidden_dim
self.embed_dim = embed_dim
self.dropout_rate = dropout_rate
self.embedding = nn.Embedding(vocab_dict.size(),
self.embed_dim,
padding_idx=Constants.PAD)
self.embedding.weight.data.uniform_(-0.05, 0.05)
input_size = self.embed_dim
self.gru = nn.GRU(input_size, hidden_size=self.hidden_dim, dropout=dropout_rate,
bidirectional=bidirectional, batch_first=True)
# try independent gru
#self.query_gru = nn.GRU(input_size, hidden_size=self.hidden_dim, dropout=dropout_rate,
# bidirectional=bidirectional, batch_first=True)
for weight in self.gru.parameters():
if len(weight.size()) > 1:
weigth_init.orthogonal(weight.data)
评论列表
文章目录