Skip to main content

W&Bによる機械学習モデルの保存と復元

この記事では、Weights & Biasesを使用した機械学習モデルの保存方法と復元方法について見ていきます。
Created on August 15|Last edited on August 15
このレポートは、Lavanya Shuklaによる「Saving and Restoring Machine Learning Models with W&B」の翻訳です。



紹介

このノートブックでは、Weights & Biasesを使用した機械学習モデルの保存方法と復元方法について見ていきます。
W&Bによって、モデルの再現に必要なすべてのもの(重み、アーキテクチャー、予測、コードなど)を安全な場所に保存できます。
W&Bではモデルをトレーニングし直す必要がなく、パフォーマンスを数日後、数週後、または数ヶ月後に確認できるため便利です。導入準備を整える前に、以前トレーニングしたすべてのモデルのパフォーマンスを比較して、パフォーマンスが最適なモデルを復元できます。
皆さんが理解できるように、作業用のコードサンプルと簡単なデモを提供するためにColabを作成しました。




機械学習モデルを保存する

ファイルを保存してrunに関連づける方法は2種類あります。
  1. wandb.save(ファイル名)の使用。
  2. ファイルをwandb runディレクトリーに保存すると、runの最後にそのファイルがアップロードされます。
ファイルが作成されている時にファイルを同期したい場合は、ファイル名またはglobをwandb.saveで指定できます。
以下は、わずか数行のコードでこれを実行する方法です。全ての例については、このcolabを参照してください。
# 「model.h5」はwandb.run.dirに保存され、トレーニング終了時にアップロードされます。
model.save(os.path.join(wandb.run.dir, "model.h5"))

# モデルファイルを現在のディレクトリーから手動で保存します。
wandb.save('model.h5')

# 「ckpt」が含まれる既存のファイルをすべて保存します。
wandb.save('../logs/*ckpt*')

# 以下に書き込む時に、「checkpoint」で始まるファイルをすべて保存します:
wandb.save(os.path.join(wandb.run.dir, "checkpoint*"))
保存済みのモデルを表示するには、runページに移動し、 Files(ファイル) タブをクリックしてから、モデルファイルをクリックします。こちらの例をご覧ください。
保存と復元に関するよくある質問のドキュメントをご覧ください。

機械学習モデルを復元する

モデルのチェックポイントなど、ファイルをローカルrunフォルダーに復元して、スクリプト内でアクセスする方法を見てみましょう。
一般的なユースケース:
  • モデルアーキテクチャーまたは、過去のrunによって生成された重みを復元する
  • 失敗した場合に、最後のチェックポイントからトレーニングを再開する(重要な詳細事項については再開のセクションを参照してください)
以下は、わずか数行のコードでこれを実行する方法です。全ての例については、このcolabを参照してください。
# 「lavanyashukla」ユーザーによる特定のrunからモデルファイル「model.h5」を復元します
# 「10pr4joa」runからの「save_and_restore」プロジェクト内で
best_model = wandb.restore('model.h5', run_path="lavanyashukla/save_and_restore/10pr4joa")

# フレームワークがファイル名を期待する場合(例:Keras内など)、返されたオブジェクトの「name」属性を使います
model.load_weights(best_model.name)
詳細については、復元ドキュメントをご覧ください。


Iterate on AI agents and models faster. Try Weights & Biases today.