TensorFlow(colab)+TPUでの再現性の確保

TensorFlowの再現性確保にかなり苦労したので残しておきます。

※)以下は ver1.13.1のtf.keras.Modelを使用し、fit()で実行しています。

shimizuはハイパーパラメータを試行錯誤するのに、ループの中で条件を変更して結果を一覧表示する方法をとっています。

mxnetの時は簡単で、ループの最初にseedをセットして再初期化するだけで上手くいきました。

np.random.seed(1234)
mx.random.seed(1234)

ところが、TensorFlowだとこれが上手くいきません・・・

“TensorFlow(colab)+TPUでの再現性の確保” の続きを読む

EarlyStoppingの仕様誤解とcallbackのタイミング

TensorFlow+TPUの実装がうまくいくようになって、そろそろ本格的にFXのレート予想の研究に入ろうと思ってたところ、1つ問題が発生しました。

いくら計算が高速なTPUとはいえ、毎回5,000、10,000エポックを回すのは大変時間がかかります。

そこで計算結果の進捗が止まった時に計算をストップするようにしました。

そう、EarlyStopping()です。

ところがこれが想定通りに機能してくれません・・・

“EarlyStoppingの仕様誤解とcallbackのタイミング” の続きを読む