捷徑

torchx.tracker

概觀 & 用法

備註

原型,請自主承擔風險,API 可能會變更

執行機器學習作業的實務人員經常需要追蹤資料,例如

  • 作業輸入
    • 組態
      • 模型組態

      • HPO 參數

    • 資料
      • 版本

      • 來源

  • 作業結果
    • 指標

    • 模型存放位置

  • 概念性作業群組

AppRun介面提供實驗和製成品追蹤解決方案,且支援透過提供 TrackerBase 轉接器實作來封裝外掛追蹤實作。

範例用法

使用追蹤 API 的範例 程式碼

追蹤器設定

要啟用追蹤,需要下列條件

  1. 使用 .torchxconfig 在啟動器端上定義追蹤主機端 (加入點/模組和組態)

  2. 使用加入點 (規格) 在使用者作業中新增加入點

1. 啟動器端組態

使用者可以在 .torchxconfigtorchx:tracker 區段定義任意數量的追蹤主機端,其中
  • 金鑰:追蹤器的任意名稱,名稱會用於組態其屬性

    在 [tracker:<TRACKER_NAME>] 中

  • 值:必須在使用者作業中可用的加入點模組工廠方法。值會注入到

    使用者作業並且用來建構追蹤器實作。

[torchx:tracker]
tracker_name=<entry_point_or_module_factory_method>

每個追蹤器都可以再於 [tracker:<TRACKER NAME>] 區段中設定 (目前限制為 config 參數)

[tracker:<TRACKER NAME>]
config=configvalue

例如,.torchxconfig 可能設定為

[torchx:tracker]
tracker1=tracker1
tracker2=backend_2_entry_point
tracker3=torchx.tracker.mlflow:create_tracker

[tracker:tracker1]
config=s3://my_bucket/config.json

[tracker:tracker3]
config=my_config.json

2. 使用者作業組態 (進階)

必須在 [torchx.tracker] 群組中檢索上一步驟中定義的加入點值並在使用者作業中呼叫 (依據套件/發行機制) 才能建立 TrackerBase 的 экземпляр。

在發行中的加入點使用 entry_points.txt 中定義的加入點來達成,例如

[torchx.tracker]
entry_point_name=my_module:create_tracker_fn

取得 AppRun 執行個體

使用 app_run_from_env()

>>> import os; os.environ["TORCHX_JOB_ID"] = "scheduler://session/job_id" # Simulate running job first
>>> from torchx.tracker import app_run_from_env
>>> app_run = app_run_from_env()

參考文獻 TrackerBase 執行

FsspecTracker 提供追蹤器後端參考執行。GitHub 範例 目錄 提供如何在使用者應用程式設定及使用的範例。

查詢資料

  • CmdTracker 揭露使用者在 CLI 階層可用的操作
    • torchx tracker list jobs [–parent-run-id RUN_ID]

    • torchx tracker list metadata RUN_ID

    • torchx tracker list artifacts [–artifact ARTIFACT_NAME] RUN_ID

  • 或者,後端執行可揭露 UI 以供使用者使用。

class torchx.tracker.AppRun(id: str, backends: Iterable[TrackerBase])[source]

揭露追蹤器 API 至工作階層,並應為封裝該模組執行的唯一 API。

此 API 仍為實驗性質,未來可能變更。

參數:
  • id (str) – 追蹤器 API 使用的工作識別碼

  • backends (Iterable[TrackerBase]) – 將使用來保留資料的 TrackerBase 執行清單。

類別 torchx.tracker.api.TrackerBase[來源]

追蹤解決方案實作/服務的抽象。

這個 API 仍為實驗性質,未來可能會大幅變更。

類別 torchx.tracker.backend.fsspec.FsspecTracker(fs: AbstractFileSystem, root_dir: str)[來源]

使用 Fsspec 抽象實作 TrackerBase,在持續資料時具有使用各種儲存選項的優點。

重要提示:torchx.tracker.api API 仍為實驗性質,因此尚未對未來的版本提供向下相容性的保證。

每個執行個體都會有一個包含 metadata、artifact、source 和 descendants 資料子目錄的目錄。

類別 torchx.cli.cmd_tracker.CmdTracker[來源]

原型 TorchX 追蹤器子指令,允許透過與追蹤器實作互動來查詢資料。

重要提示:指令和引數可能會在未來修改。

支援的指令
  • tracker list jobs [–parent-run-id RUN_ID]

  • tracker list metadata RUN_ID

  • tracker list artifacts [–artifact ARTIFACT_NAME] RUN_ID

Документи

取得 PyTorch 的完整開發人員文件。

檢視文件

教學課程

取得初學者和進階開發者的深入教學課程

檢視教學課程

資源

尋找開發資源並取得問題解答

檢視資源