torchx.tracker¶
概觀 & 用法¶
備註
原型,請自主承擔風險,API 可能會變更
執行機器學習作業的實務人員經常需要追蹤資料,例如
- 作業輸入
- 組態
模型組態
HPO 參數
- 資料
版本
來源
- 作業結果
指標
模型存放位置
概念性作業群組
AppRun
介面提供實驗和製成品追蹤解決方案,且支援透過提供 TrackerBase
轉接器實作來封裝外掛追蹤實作。
範例用法¶
使用追蹤 API 的範例 程式碼。
追蹤器設定¶
要啟用追蹤,需要下列條件
使用 .torchxconfig 在啟動器端上定義追蹤主機端 (加入點/模組和組態)
使用加入點 (規格) 在使用者作業中新增加入點
1. 啟動器端組態¶
- 使用者可以在 .torchxconfig 中torchx: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 執行清單。