def __init__(self, input_dimension: int, output_dimension: int, hidden_dimension: int, attention: bool = False):
super().__init__()
with super().init_scope():
self._embed_input = L.EmbedID(input_dimension, hidden_dimension)
self._embed_output = L.EmbedID(output_dimension, hidden_dimension)
self._encoder = L.NStepLSTM(
n_layers=1,
in_size=hidden_dimension,
out_size=hidden_dimension,
dropout=0.1)
self._decoder = L.NStepLSTM(
n_layers=1,
in_size=hidden_dimension,
out_size=hidden_dimension,
dropout=0.1)
# Embed ???????????????????
self._extract_output = L.Linear(hidden_dimension, output_dimension)
self._use_attention = attention
if attention:
self._attention_layer = L.Linear(2 * hidden_dimension, hidden_dimension)
else:
self._attention_layer = None
self._hyper_params = (input_dimension, output_dimension, hidden_dimension, attention)
评论列表
文章目录