Пример #1
0
from common_train import Trainer
from lm_loss import LogLoss
from lstm_dataset import S2SDataSet
from lstm_graph import BiLSTMEncodeGraph
from ndnn.sgd import Adam
from vocab_dict import get_dict

vocab_dict, idx_dict = get_dict()

train_ds = S2SDataSet(vocab_dict, idx_dict, "bobsue-data/bobsue.seq2seq.train.tsv")
dev_ds = S2SDataSet(vocab_dict, idx_dict, "bobsue-data/bobsue.seq2seq.dev.tsv")
test_ds = S2SDataSet(vocab_dict, idx_dict, "bobsue-data/bobsue.seq2seq.test.tsv")

dict_size = len(vocab_dict)
hidden_dim = 200
batch_size = 50

trainer = Trainer()
graph = BiLSTMEncodeGraph(LogLoss(), Adam(eta=0.001, decay=0.99), dict_size, hidden_dim)
trainer.train(idx_dict, 100, 's2s_bilstm', graph, train_ds, dev_ds, test_ds, 50)
Пример #2
0
from common_train import Trainer
from lm_loss import LogLoss
from lstm_dataset import S2SDataSet
from lstm_graph import LSTMEncodeGraph, BiLSTMEncodeGraph, BowEncodeGraph
from ndnn.sgd import Adam
from vocab_dict import get_dict

vocab_dict, idx_dict = get_dict()

train_ds = S2SDataSet(vocab_dict, idx_dict, "bobsue-data/bobsue.seq2seq.train.tsv")
dev_ds = S2SDataSet(vocab_dict, idx_dict, "bobsue-data/bobsue.seq2seq.dev.tsv")
test_ds = S2SDataSet(vocab_dict, idx_dict, "bobsue-data/bobsue.seq2seq.test.tsv")

dict_size = len(vocab_dict)
hidden_dim = 200
batch_size = 50

trainer = Trainer()

lstm_graph = LSTMEncodeGraph(LogLoss(), Adam(eta=0.001, decay=0.99), dict_size, hidden_dim)
trainer.train(idx_dict, 100, 's2s_lstm', lstm_graph, train_ds, dev_ds, test_ds, 50)

bilstm_graph = BiLSTMEncodeGraph(LogLoss(), Adam(eta=0.001, decay=0.99), dict_size, hidden_dim)
trainer.train(idx_dict, 100, 's2s_bilstm', bilstm_graph, train_ds, dev_ds, test_ds, 50)

bow_graph = BowEncodeGraph(LogLoss(), Adam(eta=0.001, decay=0.99), dict_size, hidden_dim)
trainer.train(idx_dict, 100, 's2s_bow', bow_graph, train_ds, dev_ds, test_ds, 50)
Пример #3
0
from common_train import Trainer
from lstm_dataset import LSTMDataSet
from lstm_graph import LogGraph
from ndnn.sgd import Adam
from vocab_dict import get_dict

vocab_dict, idx_dict = get_dict()

train_ds = LSTMDataSet(vocab_dict, idx_dict, "bobsue-data/bobsue.lm.train.txt")
dev_ds = LSTMDataSet(vocab_dict, idx_dict, "bobsue-data/bobsue.lm.dev.txt")
test_ds = LSTMDataSet(vocab_dict, idx_dict, "bobsue-data/bobsue.lm.test.txt")

dict_size = len(vocab_dict)
hidden_dim = 200
batch_size = 50

graph = LogGraph(Adam(eta=0.001, decay=0.99), dict_size, hidden_dim)

trainer = Trainer()
trainer.train(idx_dict, 100, 'lm_logloss', graph, train_ds, dev_ds, test_ds,
              50)
Пример #4
0
from common_train import Trainer
from ndnn.rnn.lm_loss import LogLoss
from ndnn.rnn.lstm_dataset import S2SDict, S2SDataSet
from ndnn.rnn.lstm_graph import BiLSTMDecodeGraph
from ndnn.store import ParamStore

dict = S2SDict(["data/part.train", "data/whole.test"])

test_ds = S2SDataSet(dict.enc_dict, dict.dec_dict, "data/whole.eval")

hidden_dim = 100
batch_size = 50

trainer = Trainer()

lstm_graph = BiLSTMDecodeGraph(LogLoss(), len(dict.enc_dict),
                               len(dict.dec_dict), hidden_dim, 10)
store = ParamStore("part_part.mdl")
lstm_graph.load(store.load())

counter = 0

for batch in test_ds.batches(1):
    if counter > 10:
        break
    counter += 1
    lstm_graph.build_graph(batch)
    lstm_graph.test()
    print(dict.enc_translate(batch.data[0]))
    print(dict.dec_translate(lstm_graph.out.value))
Пример #5
0
from common_train import Trainer
from ndnn.rnn.lm_loss import LogLoss
from ndnn.rnn.lstm_dataset import S2SDict, S2SDataSet
from ndnn.rnn.lstm_graph import BiLSTMEncodeGraph
from ndnn.sgd import Adam

dict = S2SDict(["data/part.train", "data/whole.test"])

train_ds = S2SDataSet(dict.enc_dict, dict.dec_dict, "data/part.train")
test_ds = S2SDataSet(dict.enc_dict, dict.dec_dict, "data/whole.test")

hidden_dim = 200
batch_size = 50

trainer = Trainer()

lstm_graph = BiLSTMEncodeGraph(LogLoss(), Adam(eta=0.001, decay=0.99),
                               len(dict.enc_dict), len(dict.dec_dict),
                               hidden_dim)
trainer.train(100, 'part_whole', lstm_graph, train_ds, test_ds, test_ds, 50)
Пример #6
0
from common_train import Trainer
from lstm_dataset import LSTMDataSet
from lstm_graph import HingeGraph
from ndnn.sgd import Adam
from vocab_dict import get_dict

vocab_dict, idx_dict = get_dict()

train_ds = LSTMDataSet(vocab_dict, idx_dict, "bobsue-data/bobsue.lm.train.txt")
dev_ds = LSTMDataSet(vocab_dict, idx_dict, "bobsue-data/bobsue.lm.dev.txt")
test_ds = LSTMDataSet(vocab_dict, idx_dict, "bobsue-data/bobsue.lm.test.txt")

dict_size = len(vocab_dict)
hidden_dim = 200
batch_size = 50

trainer = Trainer()

# Share Embedding
sem_graph = HingeGraph(Adam(eta=0.001), dict_size, hidden_dim, -1, False)
trainer.train(idx_dict, 100, 'lm_hingeloss_sem', sem_graph, train_ds, dev_ds, test_ds, 50)

all_graph = HingeGraph(Adam(eta=0.001), dict_size, hidden_dim, -1, True)
trainer.train(idx_dict, 100, 'lm_hingeloss_all', all_graph, train_ds, dev_ds, test_ds, 50)

r100_graph = HingeGraph(Adam(eta=0.001), dict_size, hidden_dim, 100, True)
trainer.train(idx_dict, 100, 'lm_hingeloss_r100', all_graph, train_ds, dev_ds, test_ds, 50)

r10_graph = HingeGraph(Adam(eta=0.001), dict_size, hidden_dim, 10, True)
trainer.train(idx_dict, 100, 'lm_hingeloss_r10', all_graph, train_ds, dev_ds, test_ds, 50)
Пример #7
0
from common_train import Trainer
from lm_loss import LogLoss
from lstm_dataset import S2SDataSet
from lstm_graph import AttentionGraph
from ndnn.sgd import Adam
from vocab_dict import get_dict

vocab_dict, idx_dict = get_dict()

train_ds = S2SDataSet(vocab_dict, idx_dict,
                      "bobsue-data/bobsue.seq2seq.train.tsv")
dev_ds = S2SDataSet(vocab_dict, idx_dict, "bobsue-data/bobsue.seq2seq.dev.tsv")
test_ds = S2SDataSet(vocab_dict, idx_dict,
                     "bobsue-data/bobsue.seq2seq.test.tsv")

dict_size = len(vocab_dict)
hidden_dim = 200
batch_size = 50

trainer = Trainer()

attention_graph = AttentionGraph(LogLoss(), Adam(eta=0.001), dict_size,
                                 hidden_dim)
trainer.train(idx_dict, 100, 's2s_attention', attention_graph, train_ds,
              dev_ds, test_ds, 50)
Пример #8
0
from common_train import Trainer
from multiline_ds import MultilineDataset
from multiline_graph import MultiLSTMEncodeGraph
from ndnn.rnn.lm_loss import LogLoss
from ndnn.sgd import Adam

hidden_dim = 200
num_line = 10

train_ds = MultilineDataset("data/ml.train", num_line)
test_ds = MultilineDataset("data/ml.test", num_line)

trainer = Trainer()

lstm_graph = MultiLSTMEncodeGraph(LogLoss(), Adam(eta=0.001, decay=0.99),
                                  len(test_ds.enc_dict), len(test_ds.dec_dict),
                                  hidden_dim, 10)
trainer.train(100, 'mline', lstm_graph, train_ds, test_ds, test_ds, 1)