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):
Exemplo n.º 2
0
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]]
Exemplo n.º 3
0
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