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のタイミング” の続きを読む

クラウド型GPUのコスト比較

前回GPUの強化・更新について悩みました。
今回買う場合と借りる場合を比較してみます。
クラウド型GPUとは、いわゆるレンタルサーバのGPUです(今名付けました)

自分で買うのをためらう理由はいくつかあります。

自分で買う場合のデメリット

  1. 実質的にPCをもう一台組まないといけない
  2. フル稼働している時の、騒音(フアン等)が不安
  3. 連続フル稼働している時の電気代や稼働維持も考慮する必要がある
  4. 不要になった時の処分が大変

レンタルの場合のメリット

  1. 騒音・電気代の心配がいらない
  2. 稼働維持の心配がいらない(停電やサーバダウン等)
  3. 研究が終了(飽きたとかw)した場合に、処分が不要
  4. 経費として計上しやすい(と思われる)

“クラウド型GPUのコスト比較” の続きを読む