雑多な技術系メモ

自分用のメモ。内容は保証しません。よろしくお願いします。

kerasの基本操作

誤差関数を自分用にカスタマイズ

掛け算など

keras.io

学習モデルの保存と読み込み

保存

モデル自体の保存とパラメータの保存

model.save("test_model.h5")
model.save_weights("test_weights.h5")

読み込み

モデルの読み込み

from keras.models import load_model

model = load_model("test_model.h5")
model.load_weights("test_weights.h5")

simple rnn

alice_chargen_rnn.pyについてのメモ

print("Vectorizing input and label text...")
X = np.zeros((len(input_chars), SEQLEN, nb_chars), dtype=np.bool)
y = np.zeros((len(input_chars), nb_chars), dtype=np.bool)
for i, input_char in enumerate(input_chars):
    for j, ch in enumerate(input_char):
        X[i, j, char2index[ch]] = 1
    y[i, char2index[label_chars[i]]] = 1

このプログラムでは、
各センテンス読み込み学習して、出力する。

LSTM

PAD:パディング用
UNK:辞書にない文字

(None, MAX_SENTENCE, 1) (バッチサイズ、センテンスの長さ、文字のインデックス)

用語

1epoch

訓練データをすべて学習

batch__size

訓練データの勾配を計算するバッチサイズ