Trackio documentation

ランの管理のためのPython API

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

ランの管理のためのPython API

Trackioは、プロジェクト内のランをプログラムで管理できるPython APIクラス(trackio.Api())を提供しています。このAPIはwandb.Api()に似ており、ランの削除、プロジェクト間のランの移動、およびラン情報のアクセスを行うためのメソッドを提供します。

注: これは、API エンドポイント付きの Web サーバーとして Trackio ダッシュボードを実行するTrackio as an API Serverとは異なります。Python API(trackio.Api())は、ローカルの Trackio データベース内のランを管理するためのクライアントサイドのインターフェースです。

基本的な使用方法

import trackio

# Initialize the API
api = trackio.Api()

# Get all runs in a project
runs = api.runs("my_project")

# Access individual runs
for run in runs:
    print(f"Run: {run.name}, Project: {run.project}")
    print(f"Config: {run.config}")

# Or access by index
first_run = runs[0]

ランの削除

api = trackio.Api()
runs = api.runs("my_project")

# Delete a specific run
run = runs[0]
success = run.delete()  # Returns True if successful

プロジェクト間のランの移動

api = trackio.Api()
runs = api.runs("source_project")

# Move a run to a different project
run = runs[0]
success = run.move("target_project")  # Returns True if successful

# After moving, the run object's project is updated
print(run.project)  # "target_project"

ランを移動すると、関連するすべてのデータが転送されます:

  • すべてのメトリクスとログ
  • 実行設定
  • システムメトリクス
  • メディアファイル(画像、動画、音声)

実行はソースプロジェクトから完全に削除され、ターゲットプロジェクトに追加されます。

API リファレンス

Api

Trackio Python APIのメインエントリポイントです。

api = trackio.Api()

メソッド

  • runs(project: str) -> Runs: 指定されたプロジェクトのランのコレクションを返します。プロジェクトが存在しない場合はValueErrorを発生させます。

実行

イテレーションとインデックスアクセスをサポートするランのコレクション。

runs = api.runs("my_project")
len(runs)  # Number of runs
runs[0]    # First run
for run in runs:  # Iterate over runs
    ...

実行

プロジェクト内の単一のランを表します。

プロパティ

  • id: Trackio が内部で使用している安定した実行識別子
  • name: 人間が読みやすい実行名です。複数の実行が同じ名前を共有できます。
  • project: このランが属するプロジェクト
  • config: 実行の設定辞書(遅延読み込み)

注: 複数の実行が同じnameを共有できます。Trackioは内部でid識別子を使用してそれらを区別します。

メソッド

  • delete() -> bool: 実行をプロジェクトから削除します。成功した場合はTrue、それ以外の場合はFalseを返します。
  • move(new_project: str) -> bool: ランを別のプロジェクトに移動します。成功した場合はTrue、それ以外の場合はFalseを返します。移動が成功すると、ランのprojectプロパティが更新されます。

例

プロジェクト全体の実行をすべて一覧表示

import trackio
from trackio.sqlite_storage import SQLiteStorage

api = trackio.Api()

# Get all projects
projects = SQLiteStorage.get_projects()

# List runs in each project
for project in projects:
    print(f"\nProject: {project}")
    runs = api.runs(project)
    for run in runs:
        print(f"  - {run.name}")

古い実行をクリーンアップ

api = trackio.Api()
runs = api.runs("my_project")

# Delete runs older than a certain date
from datetime import datetime
cutoff_date = datetime(2024, 1, 1)

for run in runs:
    if run.config and "_Created" in run.config:
        created = datetime.fromisoformat(run.config["_Created"])
        if created < cutoff_date:
            run.delete()
            print(f"Deleted old run: {run.name}")

移動して実行を整理する

api = trackio.Api()

# Move all runs from "experiments" to "archive"
source_runs = api.runs("experiments")
for run in source_runs:
    run.move("archive")
    print(f"Moved {run.name} to archive")
Update on GitHub