import pickle

file = open('./Data/T2_data_train.pt', 'rb')
df = pickle.load(file)[:120]

German_corpus = Corpus()
English_corpus = Corpus()
German_corpus.load_vocab('./Parameters/German_corpus1k.pt')
English_corpus.load_vocab('./Parameters/English_corpus1k.pt')

German_vectorizer = WordsToVec(German_corpus, 150)
English_vectorizer = WordsToVec(English_corpus, 150)

German_vectorizer.load_model_state('./Parameters/German_vectors_150d')
English_vectorizer.load_model_state('./Parameters/English_vectors_150d')

my_translator = Translator(German_corpus,
                           English_corpus,
                           German_vectorizer,
                           English_vectorizer,
                           dec_GRU_count=2,
                           enc_GRU_count=2,
                           hidden_size=128,
                           use_feedforward=True)

# my_translator.train(df, epochs=50, batch_size=32, lr=0.001, lr_reduce=0.1)

my_translator.load_model('./Parameters/translator_feedforwardatt_epoch50.pt')

my_translator.reinforce_train(df, epochs=50, batch_size=32)
Example #2
0
#coding:utf-8
from Translator import Translator

# 英日翻訳のテスト

en_lines = open('en-test.txt').read().split('\n')

epoch_num = 100
for epoch in range(epoch_num):
    model = Translator()
    modelfile = "./model/en2ja-" + str(epoch) + ".model"
    model.load_model(modelfile)
    for i in range(len(en_lines) - 1):
        en_words = en_lines[i].lower().split()
        ja_words = model.test(en_words)
        print("{0}: {1}".format(epoch, ' '.join(ja_words)))