2017-12-27 34 views
1

でトレーニングを再開し、次のように私はkerasを使って簡単なLSTMモデルを構築し、訓練を受けた:kerasは異なる学習率

model = Sequential() 
model.add(LSTM(activation='tanh',input_dim=6,output_dim=50,return_sequences=False)) 
model.add(Dense(output_dim=1,activation = 'sigmoid')) 
model.compile(loss='binary_crossentropy', optimizer =optimizers.Adam(lr = 0.01),metrics=['accuracy']) 
model.fit(X_train,y_train,batch_size=256,nb_epoch=1000,validation_data = (X_test,y_test)) 
model.save('model_params.h5') 

モデルは、ほぼ収束しました。したがって、より小さな学習率(すなわち、0.001)を使用してトレーニングを再開することによってモデルを微調整したい。どうすればこれを達成できますか?

+0

ケラスモデルを保存すると、オプティマイザの状態も保存されます。単に 'load_model'コードをチェックすれば回避策が見つかります。 – Nain

+0

@Nain私は知っています。しかし、私はオプティマイザ(学習率)自体を変更したい。以前のモデルのパラメータを使用してモデルを再構築してモデルをコンパイルする必要があるのだろうかと思います。 – MTANG

+0

これをもう一度コンパイルする必要があります – Nain

答えて

0

あなただけのモデルを再度コンパイルする必要があります。

model.compile(loss='binary_crossentropy', 
       optimizer= optimizers.Adam(lr=0.001),...) 

をしかし通常は、Adamは非常に良いオプティマイザで、それらの変更を必要としません。その道を単独で見つけるのは普通です。

新しいオプティマイザを使用してコンパイルすると、トレーニングが異なることは非常に正常です。オプティマイザが調整するまでには、数エポックを要します。

+0

Gotcha。ありがとう。 – MTANG

+0

ありがとうございます。しかし、新しいユーザーとして私はそれを回答としてマークする方法を知らない。ボタンはどこにありますか? – MTANG

関連する問題