@weave.op でデコレートした関数またはメソッドのことです。デフォルトでは Op の名は関数名となり、関連する Call にも同じ表示名が付きます。
カスタムの表示名を設定すると、Weights & Biases UI で Call を識別しやすくなります。同じ Op の Call を区別したい場合や、入力値やタイムスタンプなどの動的なコンテキストを表示したい場合、Call の名をチームの命名規則に合わせたい場合に活用できます。
特定の Op のすべての Call の表示名は、いくつかの方法で上書きできます。必要なスコープ (単一の Call、Op のすべての Call、または Op 自体) に応じて、適切な方法を選択してください。
- Python
- TypeScript
-
Op を呼び出す際に表示名を変更します。次の例では、
__weave辞書を使用して、Op の表示名より優先される Call の表示名を設定します。 -
Call ごとに表示名を変更します。次の例では、
Op.callメソッドを使用してcallオブジェクトを返します。その後、そのオブジェクトとcall.set_display_nameを使用して表示名を設定できます。 -
特定の Op に属するすべての Call の表示名を変更します。次の例では、
@weave.op関数デコレーター自体に新しい表示名を設定し、その Op のすべての Call に適用します。call_display_nameには、callオブジェクトを受け取り、string を返す関数も指定できます。関数の実行時に、Weave はcallオブジェクトを自動的に渡します。これを使用すると、関数名、Call の入力、フィールドなどに基づいて名前を動的に生成できます。各 Call の名前に実行時のコンテキストを反映させたい場合に便利です。 よくある使用例の 1 つは、関数名にタイムスタンプを追加することです。.attributesを使用してカスタムメタデータをログすることもできます。 -
Op 自体の表示名を変更します。Op に関連付けられた Call は同じ表示名を持つため、Op の名前を変更することが、その Op が生成するすべての Call の名前を変更する最も直接的な方法です。Op 自体の名前を上書きすると、Call の表示名も変わります。これには次の 2 つの方法があります。
-
Call をログする前に、Op の
nameプロパティを設定します。 -
Op デコレーターの
nameオプションを設定します。
-
Call をログする前に、Op の
名前の長さの制限
- Op 名: 最大 128 文字です。Weave は各 Op をオブジェクトとしてパブリッシュするため、Op 名には オブジェクトの命名規則 も適用されます。Python SDK は、オブジェクト名と同じ方法で Op 名を書き換えます。たとえば、
@weave.op(name="My Custom Op Name")の場合、Op はMy-Custom-Op-Nameとしてパブリッシュされます。 - Call の表示名: 最大 1,024 文字です。Python SDK は、これより長い表示名を末尾が
...になるように 1,024 文字に切り詰め、警告をログします。TypeScript SDK も、1,000 文字を超える表示名に対して同様の処理を行います。