import numpy as np import matplotlib.pyplot as plt from DefinitionOfAll import sequence from DefinitionOfAll.Adam import Adam from DefinitionOfAll.Trainer import Trainer from DefinitionOfAll.eval_seq2seq import eval_seq2seq from DefinitionOfAll.AttentionSeq2seq import AttentionSeq2seq from DefinitionOfAll.seq2seq import Seq2seq from DefinitionOfAll.peeky_seq2seq import PeekySeq2seq (x_train, t_train), (x_test, t_test) = sequence.load_data('date.txt') char_to_id, id_to_char = sequence.get_vocab() x_train, x_test = x_train[:, ::-1], x_test[:, ::-1] vocab_size = len(char_to_id) wordvec_size = 16 hidden_size = 256 batch_size = 128 max_epoch = 10 max_grad = 5.0 model = AttentionSeq2seq(vocab_size, wordvec_size, hidden_size) model2 = Seq2seq(vocab_size, wordvec_size, hidden_size) model3 = PeekySeq2seq(vocab_size, wordvec_size, hidden_size) optimizer = Adam() trainer = Trainer(model, optimizer) acc_list = [] for epoch in range(max_epoch):
import numpy as np import matplotlib.pyplot as plt from DefinitionOfAll import sequence from DefinitionOfAll.Adam import Adam from DefinitionOfAll.Trainer import Trainer from DefinitionOfAll.eval_seq2seq import eval_seq2seq from DefinitionOfAll.seq2seq import Seq2seq (x_train, t_train), (x_test, t_test) = sequence.load_data('addition.txt') char_to_id, id_to_char = sequence.get_vocab() vocab_size = len(char_to_id) wordvec_size = 16 hideen_size = 128 batch_size = 128 max_epoch = 25 max_grad = 5.0 model = Seq2seq(vocab_size, wordvec_size, hideen_size) optimizer = Adam() trainer = Trainer(model, optimizer) acc_list = [] for epoch in range(max_epoch): trainer.fit(x_train, t_train, max_epoch=1, batch_size=batch_size, max_grad=max_grad) correct_num = 0 for i in range(len(x_test)): question, correct = x_test[[i]], t_test[[i]]
from DefinitionOfAll import sequence (x_train, t_train), (x_test, t_test) = \ sequence.load_data('addition.txt', seed=1984) char_to_id, id_to_char = sequence.get_vocab() print(x_train.shape, t_train.shape) #결과 (45000, 7) (45000, 5) print(x_test.shape, t_test.shape) #결과 (5000, 7) (5000, 5) print(x_train[0]) #결과 [ 3 0 2 0 0 11 5] print(t_train[0]) #결과 [ 6 0 11 7 5] print(''.join([id_to_char[c] for c in x_train[0]])) #결과 71+118 print(''.join([id_to_char[c] for c in t_train[0]])) #결과 _189
import numpy as np from DefinitionOfAll import sequence import matplotlib.pyplot as plt from DefinitionOfAll.AttentionSeq2seq import AttentionSeq2seq (x_train, t_train), (x_test, t_test) = \ sequence.load_data('date.txt') char_to_id, id_to_char = sequence.get_vocab() x_train, x_test = x_train[:, ::-1], x_test[:, ::-1] vocab_size = len(char_to_id) wordvec_size = 16 hidden_size = 256 model = AttentionSeq2seq(vocab_size, wordvec_size, hidden_size) model.load_params() _idx = 0 def visualize(attention_map, row_labels, column_labels): fig, ax = plt.subplots() ax.pcolor(attention_map, cmap=plt.cm.Greys_r, vmin=0.0, vmax=1.0) ax.patch.set_facecolor('black') ax.set_yticks(np.arange(attention_map.shape[0])+0.5, minor=False) ax.set_xticks(np.arange(attention_map.shape[1])+0.5, minor=False) ax.invert_yaxis() ax.set_xticklabels(row_labels, minor=False) ax.set_yticklabels(column_labels, minor=False) global _idx