Skip to main content

概要

Metaflow は、ML ワークフローを作成して実行するために Netflix が開発したフレームワークです。 このインテグレーションでは、Metaflow の steps and flows にデコレーターを適用することで、パラメーターと Artifacts を W&B に自動的にログし、カスタムのロギングコードを記述しなくても、Metaflow で構築したワークフロー全体で Experiments をトラッキングし、リネージを確認できるようになります。
  • ステップ をデコレートすると、その ステップ 内の特定のタイプに対してログするかどうかを切り替えられます。
  • フローをデコレートすると、その フロー 内のすべての ステップ に対してログするかどうかを切り替えられます。

クイックスタート

以下のセクションでは、W&B で認証し、必要なライブラリをインストールして、Metaflow のステップと フロー に wandb_log デコレータを追加する方法を説明します。

サインアップしてAPIキーを発行する

APIキーは、お使いのマシンをW&Bに認証するために使用します。APIキーはユーザープロフィールから発行できます。
より手早く行うには、User Settings にアクセスしてAPIキーを作成してください。APIキーはすぐにコピーし、パスワードマネージャーなどの安全な場所に保存してください。
W&B AppでAPIキーを確認するには:
  1. 右上にあるユーザープロフィールアイコンをクリックします。
  2. User Settings を選択し、API Keys セクションまでスクロールします。

wandb ライブラリをインストールしてログインする

wandb ライブラリをローカルにインストールしてログインするには、次の手順を実行します。
wandb バージョン 0.19.8 以下では、plum-dispatch の代わりに fastcore バージョン 1.8.0 以下 (fastcore<1.8.0) をインストールしてください。
  1. APIキーを WANDB_API_KEY 環境変数に設定します。<> で囲まれた値はご自身のものに置き換えてください。
  2. wandb ライブラリをインストールしてログインします。

フローとステップをデコレートする

ステップをデコレートすると、そのステップ内の特定のタイプについてログをオンまたはオフにできます。この例では、インテグレーションが start 内のすべてのデータセットとモデルをログします。

プログラムからデータにアクセスする

flows と steps をデコレートすると、フロー が実行されるたびに、runs からパラメーターと artifacts が W&B に送信されます。記録された情報には、3 つの方法でアクセスできます。ログを記録している元の Python プロセス内で wandb クライアントライブラリ を使用する方法、Web アプリの UI を使用する方法、または Public API を使用してプログラムからアクセスする方法です。Parameter は W&B の config に保存され、Overview タブ で確認できます。datasetsmodelsothersW&B Artifacts に保存され、Artifacts タブ で確認できます。基本的な Python の型は W&B の summary dict に保存され、Overview タブで確認できます。API を使用して外部からこの情報をプログラムで取得する方法の詳細については、Public API ガイド を参照してください。

クイックリファレンス

wandb_log kwargs

よくある質問

以下のセクションでは、logging の動作、サポートされるデータタイプ、Artifacts のリネージに関するよくある質問にお答えします。

具体的に何がログされますか

wandb_log がログするのはインスタンス変数のみです。ローカル変数がログされることはありません。これにより、不要なデータがログされるのを防げます。

どのデータ型がログされますか

W&B は次のタイプをサポートしています。

ログする挙動を設定する

Artifactのリネージのトラッキング

ステップ Aの出力であり、ステップ Bの入力でもあるartifactがある場合、W&BはリネージDAGを自動的に構築します。 この挙動の例については、このMetaflow integration example notebookと、対応するArtifacts pageを参照してください