W&Bによる機械学習モデルの保存と復元
この記事では、Weights & Biasesを使用した機械学習モデルの保存方法と復元方法について見ていきます。
Created on August 15|Last edited on August 15
Comment
紹介
このノートブックでは、Weights & Biasesを使用した機械学習モデルの保存方法と復元方法について見ていきます。
W&Bによって、モデルの再現に必要なすべてのもの(重み、アーキテクチャー、予測、コードなど)を安全な場所に保存できます。
W&Bではモデルをトレーニングし直す必要がなく、パフォーマンスを数日後、数週後、または数ヶ月後に確認できるため便利です。導入準備を整える前に、以前トレーニングしたすべてのモデルのパフォーマンスを比較して、パフォーマンスが最適なモデルを復元できます。
皆さんが理解できるように、作業用のコードサンプルと簡単なデモを提供するためにColabを作成しました。
機械学習モデルを保存する
ファイルを保存してrunに関連づける方法は2種類あります。
- wandb.save(ファイル名)の使用。
- ファイルをwandb runディレクトリーに保存すると、runの最後にそのファイルがアップロードされます。
ファイルが作成されている時にファイルを同期したい場合は、ファイル名またはglobをwandb.saveで指定できます。
# 「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フォルダーに復元して、スクリプト内でアクセスする方法を見てみましょう。
一般的なユースケース:
- モデルアーキテクチャーまたは、過去のrunによって生成された重みを復元する
- 失敗した場合に、最後のチェックポイントからトレーニングを再開する(重要な詳細事項については再開のセクションを参照してください)
# 「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)
Related Articles
How to save and load models in PyTorch
This article is a machine learning tutorial on how to save and load your models in PyTorch using Weights & Biases for version control.
Using Artifacts to Build an End to End ML Pipeline
Data collection to model deployment and back again!
An Introduction to Weights & Biases Artifacts
This article introduces Weights & Biases Artifacts, which offer lightweight dataset versioning, and gives an easy-to-follow example so that you can see how they work.
Organize Your Machine Learning Pipelines With Artifacts in Weights & Biases
In this article, we'll look at how to use W&B Artifacts to store and keep track of datasets, models, and evaluation results across machine learning pipelines.
Add a comment
Iterate on AI agents and models faster. Try Weights & Biases today.