コード例 #1
0
batch_size = 20
wordvec_size = 200
hidden_size = 200  #RNNの隠れ状態ベクトルの要素数
time_size = 35  #RNNを展開するサイズ
lr = 20.0
max_epoch = 10
max_grad = 0.25
dropout = 0.5

#学習データの読み込み
file_name = "./text/owakachi.txt"
file = open(file_name, encoding='utf-8')
corpus, word_to_id, id_to_word = preprocess(file)

if config.GPU:
    corpus = to_gpu(corpus)

#corpus_test = preprocess(file)
vocab_size = len(word_to_id)
#print(vocab_size)

#print(word_to_id)
xs = corpus[:-1]
ts = corpus[1:]

#モデルの生成
model = BetterLstmlm(vocab_size, wordvec_size, hidden_size, dropout)
optimizer = SGD(lr)
trainer = RnnlmTrainer(model, optimizer)  #モデルの学習

best_ppl = float('inf')
コード例 #2
0
ファイル: train_better_rnnlm.py プロジェクト: yydevelop/study
batch_size = 20
wordvec_size = 650
hidden_size = 650
time_size = 35
lr = 20.0
max_epoch = 40
max_grad = 0.25
dropout = 0.5

# 学習データの読み込み
corpus, word_to_id, id_to_word = ptb.load_data('train')
corpus_val, _, _ = ptb.load_data('val')
corpus_test, _, _ = ptb.load_data('test')

if config.GPU:
    corpus = to_gpu(corpus)
    corpus_val = to_gpu(corpus_val)
    corpus_test = to_gpu(corpus_test)

vocab_size = len(word_to_id)
xs = corpus[:-1]
ts = corpus[1:]

model = BetterRnnlm(vocab_size, wordvec_size, hidden_size, dropout)
optimizer = SGD(lr)
trainer = RnnlmTrainer(model, optimizer)

best_ppl = float('inf')
for epoch in range(max_epoch):
    trainer.fit(xs, ts, max_epoch=1, batch_size=batch_size,
                time_size=time_size, max_grad=max_grad)
コード例 #3
0
ファイル: train_rnnlm.py プロジェクト: Gil-jung/DSBookStudy
# 하이퍼파라미터 설정
batch_size = 20
wordvec_size = 100
hidden_size = 100   # RNN의 은닉 상태 벡터의 원소 수
time_size = 35      # RNN을 펼치는 크기
lr = 20.0
max_epoch = 4
max_grad = 0.25

# 학습 데이터 읽기
corpus, word_to_id, id_to_word = ptb.load_data('train')
corpus_test, _, _ = ptb.load_data('test')

if config.GPU:
    corpus = to_gpu(corpus)
    corpus_test = to_gpu(corpus_test)

vocab_size = len(word_to_id)
xs = corpus[:-1]
ts = corpus[1:]

# 모델 생성
model = Rnnlm(vocab_size, wordvec_size, hidden_size)
optimizer = SGD(lr)
trainer = RnnlmTrainer(model, optimizer)

# 기울기 클리핑을 적용하여 학습
trainer.fit(xs, ts, max_epoch, batch_size, time_size, max_grad, eval_interval=20)
trainer.plot(ylim=(0, 500))
コード例 #4
0
from dataset import ptb


# ハイパーパラメータの設定
window_size = 5
hidden_size = 100
batch_size = 100
max_epoch = 10

# データの読み込み
corpus, word_to_id, id_to_word = ptb.load_data('train')
vocab_size = len(word_to_id)

contexts, target = create_contexts_target(corpus, window_size)
if config.GPU:
    contexts, target = to_gpu(contexts), to_gpu(target)

# モデルなどの生成
model = CBOW(vocab_size, hidden_size, window_size, corpus)
# model = SkipGram(vocab_size, hidden_size, window_size, corpus)
optimizer = Adam()
trainer = Trainer(model, optimizer)

# 学習開始
trainer.fit(contexts, target, max_epoch, batch_size)
trainer.plot()

# 後ほど利用できるように、必要なデータを保存
word_vecs = model.word_vecs
if config.GPU:
    word_vecs = to_cpu(word_vecs)
コード例 #5
0
ファイル: learn_lstm.py プロジェクト: pickybeak/chatbot
hidden_size = 300
time_size = 10
lr = 0.01
max_epoch = 5
max_grad = 5.0
dropout = 0.5

# 학습 데이터 읽기
preprocessing.load_data('../dataset/ChatbotData.csv', scaled_size=False)
corpus_val, corpus_train = preprocessing.divide_test_train(
    preprocessing.corpus, test_rate=0.1)
corpus_test, corpus_train = preprocessing.divide_test_train(corpus_train,
                                                            test_rate=0.1)

if config.GPU:
    corpus = to_gpu(corpus_train)
    corpus_val = to_gpu(corpus_val)
    corpus_test = to_gpu(corpus_test)

vocab_size = len(preprocessing.word_to_id)

xs = sum(corpus_train, [])[:-1]
ts = sum(corpus_train, [])[1:]
corpus_val = sum(corpus_val, [])
corpus_test = sum(corpus_test, [])

model = BetterRnnlm(vocab_size, wordvec_size, hidden_size, dropout)
# optimizer = SGD(lr)
optimizer = Adam(lr=lr)
trainer = RnnlmTrainer(model, optimizer)