TFRecordを自作して最低限のCIFAR-10を訓練するまで
4.8k{icon} {views} TFRecordを自作して、とりあえずCIFAR-10を訓練するための最低限の処理を書きました。なんでもBytesListに格納する方法です。 TFRecordについて TFReco […]...
tf.functionの再トレースによる訓練の低速化について確かめる
7.5k{icon} {views} TensorFlow2.0において、tf.functionを使うと計算が高速化することはよく知られていますが、その代償として入力のshapeが可変の場合に「再トレース」が発生し訓練が […]...
TensorFlow2.0のTPUでモデルを保存したり、CPUと相互運用する方法
3.3k{icon} {views} TensorFlow2.0+Colab TPUでモデルを保存する方法、CPUとTPUで保存した係数を相互運用する方法、TPUを意識したモデルの保存方法を見ていきます。 環境 CPU: […]...
TensorFlow2.0で訓練の途中に学習率を変える方法
8.9k{icon} {views} TensorFlow2.0で訓練の途中に学習率を変える方法を、Keras APIと訓練ループを自分で書くケースとで見ていきます。従来のKerasではLearning Rate Sch […]...
KerasのLearningRateSchedulerとPyTorchのLambdaLRの微妙な違い
4.7k{icon} {views} 学習率の調整は大事です。エポック後に学習率を減衰させる際、現在のエポックを引数として更新後の学習率を返す関数を与えると便利なことが多いです。この操作はKeras,PyTorchどちら […]...
PyTorchで行列(テンソル)積としてConv2dを使う
4.1k{icon} {views} PyTorchではmatmulの挙動が特殊なので、思った通りにテンソル積が取れないことがあります。この記事では、基本的な畳み込み演算である「Conv2D」を使い、Numpyのドット積 […]...
WarmupとData Augmentationのバッチサイズ別の精度低下について
4.5k{icon} {views} 大きいバッチサイズで訓練する際は、バッチサイズの増加にともなう精度低下が深刻になります。この精度低下を抑制することはできるのですが、例えばData Augmentationのようなデ […]...
データのお気持ちを考えながらData Augmentationする
27.4k{icon} {views} Data Augmentationの「なぜ?」に注目しながら、エラー分析をしてCIFAR-10の精度向上を目指します。その結果、オレオレAugmentationながら、Wide R […]...
TPUでも大きなバッチサイズに対して精度を出す
4.2k{icon} {views} TPUでは大きなバッチサイズを適用することが訓練の高速化につながりますが、これは精度と引き換えになることがあります。大きなバッチサイズでも精度を出す方法を論文をもとに調べてみました。 […]...
Affinity LossをCIFAR-10で精度を求めてひたすら頑張った話
9.2k{icon} {views} 不均衡データに対して有効性があると言われている損失関数「Affinity loss」をCIFAR-10で精度を出すためにひたすら頑張った、というひたすら泥臭い話。条件10個試したらや […]...