大きなデータセットのために、私はkeras model fittingを(forループ内で)反復して適用しています。私の目標は、データセットを100パーツに分割し、各パーツを一度に読み込み、fit()メソッドを適用することです。keras model fit()を繰り返し適用すると、学習率のステータスはどのくらいですか?
私の質問:各イテレーションでは、fit()方法は、私がモデルのコンパイル時に設定初期学習率(LR = 0.1)から始まるのでしょうか?または、最後に更新された学習率を覚えて、fit()メソッドの新しい呼び出しに直接適用します。
# Define model
my_model()
# Set the optimizer
sgd = SGD(lr=0.1, decay=1e-08, momentum=0.9, nesterov=False)
# Compile model
model.compile(loss='categorical_crossentropy', optimizer=sgd, metrics=['accuracy'])
# Fit model and train
for j in range(100):
print('Data extracting from big matrix ...')
X_train = HDF5Matrix(path_train, 'X', start=st, end=ed)
Y_train = HDF5Matrix(path_train, 'y', start=st, end=ed)
print('Fitting model ...')
model.fit(X_train, Y_train, batch_size=100, shuffle='batch', nb_epoch=1,
validation_data=(X_test, Y_test))