def __init__(self, N_SOURCE_VOCAB, N_TARGET_VOCAB, N_EMBED, N_HIDDEN, train=True):
super(EncDecModel, self).__init__(
# Encoder
enc_embed=L.EmbedID(N_SOURCE_VOCAB, N_EMBED),
enc_lstm_1=L.LSTM(N_EMBED, N_HIDDEN),
enc_lstm_2=L.LSTM(N_HIDDEN, N_HIDDEN),
# Decoder initializer
enc_dec_1_c=L.Linear(N_HIDDEN, N_HIDDEN),
enc_dec_1_h=L.Linear(N_HIDDEN, N_HIDDEN),
enc_dec_2_c=L.Linear(N_HIDDEN, N_HIDDEN),
enc_dec_2_h=L.Linear(N_HIDDEN, N_HIDDEN),
# Decoder
dec_embed=L.EmbedID(N_TARGET_VOCAB, N_EMBED),
dec_lstm_1=L.LSTM(N_EMBED, N_HIDDEN),
dec_lstm_2=L.LSTM(N_HIDDEN, N_HIDDEN),
dec_output=L.Linear(N_HIDDEN, N_TARGET_VOCAB),
)
for param in self.params():
param.data[...] = self.xp.random.uniform(-0.08, 0.08, param.data.shape)
self.train = train
self.src_vocab_size = N_SOURCE_VOCAB
self.trg_vocab_size = N_TARGET_VOCAB
self.embed_size = N_EMBED
self.hidden_size = N_HIDDEN
enc_dec_model.py 文件源码
python
阅读 20
收藏 0
点赞 0
评论 0
评论列表
文章目录