「ヒドラで実験を追跡し続けましょう」
Let's continue tracking experiments in Hydra.
YAMLファイルを使用してハイパーパラメーターを設定し、研究をスピードアップしましょう!
はじめに
コードにバグがないものを最初の試行で書くことは不可能であるように、最初の試行で正しいモデルをトレーニングすることも不可能です。
機械学習やディープラーニングの経験がある方は、モデルの適切なハイパーパラメーターを選ぶのに多くの時間を費やす必要があることを知っています。これらのハイパーパラメーターには、学習率、バッチサイズ、出力のクラス数などがありますが、これらは一部の一般的なものであり、プロジェクトには数百ものパラメーターが存在する場合もあります。
ハイパーパラメーターを変更することで、異なる結果(良いものや悪いもの)が得られる可能性があり、ある時点で行ったすべてのテストを追跡するのは非常に困難です。
私が長い間行っていた方法は次のとおりです:これらのハイパーパラメーターを手作業でエクセルシートに書き留め、各実験の結果、例えば損失値を隣に書き留めるというものでした。後に「進化」し、ハイパーパラメーターのための設定ファイルを作成し、テストしたいさまざまな値を記入しました。後で、それらの値を読み取り、トレーニング関数に挿入するためのカスタムPython関数を作成していました。YAMLファイルは基本的には階層的に構築されたファイルであり、次のようなキーと値を挿入することができます:
data: path: "data/ESC-50" sample_rate: 8000 train_folds: [1, 2, 3] val_folds: [4] test_folds: [5] batch_size: 8model: base_filters: 32 num_classes: 50 optim: lr: 3e-4seed: 0trainer: max_epochs: 10
後に、この全プロセスを簡単化し、さらに速くするオープンソースのフレームワークであるHydraを見つけました。
さあ、始めましょう!
PyTorchを使用してシンプルな機械学習プロジェクトを開発しているとします。通常通り、データセットのためのクラスを作成し、データローダーをインスタンス化し、モデルを作成してトレーニングします。この例では、コードをより整理するためにPyTorch Lightningを使用し、Kerasで行うようなTrainerオブジェクトを持つことにします。PyTorchに慣れている場合は、Lightningもすぐに理解できるでしょう。
We will continue to update VoAGI; if you have any questions or suggestions, please contact us!
Was this article helpful?
93 out of 132 found this helpful
Related articles