Trackio documentation

Tham khảo API

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Tham khảo API

Chạy

lớp trackio.Run

< >

( url: str | Noneproject: strclient: typing.Optional[typing.Any]name: str | None = Nonerun_id: str | None = Nonegroup: str | None = Noneconfig: dict | None = Nonespace_id: str | None = Nonebucket_id: str | None = Noneserver_base_url: str | None = Nonewrite_token: str | None = Noneexisting_runs: list[str] | None = Noneinitial_last_step: int | None = Noneauto_log_gpu: bool = Falsegpu_log_interval: float = 10.0auto_log_cpu: bool = Falsecpu_log_interval: float = 10.0webhook_url: str | None = Nonewebhook_min_level: trackio.alerts.AlertLevel | str | None = Nonecapture_console: bool = False )

link_artifact

< >

( artifact: Artifacttarget_path: straliases: list[str] | None = Nonebucket_id: str | None = None )

Tham số

  • artifact (Artifact) — Phiên bản artifact cần liên kết. Phải là một Artifact đã được ghi log hoặc lấy về. Để liên kết một phiên bản hiện có cụ thể, hãy lấy nó trước bằng use_artifact("my-model:v3") và liên kết kết quả. Một artifact chưa bao giờ được ghi log sẽ được ghi log vào dự án của run này trước.
  • target_path (str) — Bộ sưu tập cần liên kết, dưới dạng "registry-<registry>/<collection>", ví dụ "registry-models/my-model". Registry phải đã tồn tại (xem trackio.Api().create_registry). Bộ sưu tập được tạo ở lần liên kết đầu tiên và kế thừa kiểu của artifact; các lần liên kết sau phải khớp với kiểu đó.
  • aliases (list[str], tùy chọn) — Các alias cần đặt trên phiên bản được liên kết, ví dụ ["staging"]. Một alias trỏ đến một phiên bản trong mỗi collection, do đó việc gán một alias mà một phiên bản khác đang giữ sẽ di chuyển alias đó. latest được quản lý tự động và luôn theo dõi phiên bản liên kết mới nhất; việc truyền tham số này ở đây sẽ không có tác dụng.
  • bucket_id (str, tuỳ chọn) — Bucket Hugging Face chứa registry, ví dụ "my-org/models-registry". Bắt buộc để liên kết từ một run ghi log vào một Space hoặc một máy chủ tự lưu trữ. Bỏ qua đối với registry cục bộ; mặc định là TRACKIO_REGISTRY_BUCKET_ID nếu biến đó được đặt.

Liên kết một phiên bản artifact vào một bộ sưu tập registry.

Liên kết là một con trỏ đến phiên bản nguồn: không có tệp nào được sao chép. Liên kết nhận số phiên bản tiếp theo trong bộ sưu tập (v0, v1, …), độc lập với các số phiên bản của chính sản phẩm nguồn. Việc liên kết một phiên bản đã có trong bộ sưu tập sẽ không tạo ra phiên bản mới: bạn nhận lại phiên bản hiện có, và các aliases bạn truyền vào vẫn được di chuyển.

Một registry cục bộ ghi lại liên kết cùng với dữ liệu của run, do đó nó chỉ khả dụng cho các run trên máy này. Truyền bucket_id để xuất bản vào một registry dựa trên bucket thay thế — đó cũng là cách một run ghi log vào một Space hoặc một server tự lưu trữ sẽ xuất bản, vì bucket có thể truy cập được từ cả hai phía.

use_artifact

< >

( artifact_or_name: trackio.artifact.Artifact | strtype: str | None = None )

Giải quyết một artifact và ghi nhận lần chạy này là một người tiêu dùng của nó.

Spec là một sản phẩm của dự án ("name", "name:vN", "name:alias") hoặc một vị trí trong registry ("registry-<registry>/<collection>[:vN|:alias]"), được phân giải thông qua các liên kết của collection đến phiên bản nguồn mà nó trỏ tới.

init

trackio.init

< >

( project: strname: str | None = Nonegroup: str | None = Nonespace_id: str | None = Noneserver_url: str | None = Nonedataset_id: str | None = Nonebucket_id: str | None = Noneconfig: dict | None = Noneresume: str = 'never'settings: typing.Any = Noneprivate: bool | None = Noneembed: bool = Trueauto_log_gpu: bool | None = Nonegpu_log_interval: float = 10.0auto_log_cpu: bool | None = Nonecpu_log_interval: float = 10.0webhook_url: str | None = Nonewebhook_min_level: trackio.alerts.AlertLevel | str | None = Nonecapture_console: bool | None = None ) → Run

Tham số

  • project (str) — Tên của dự án (có thể là một dự án hiện có để tiếp tục theo dõi hoặc một dự án mới để bắt đầu theo dõi từ đầu).
  • name (str, optional) — Tên của run (nếu không được cung cấp, một tên mặc định sẽ được tạo ra).
  • group (str, optional) — Tên của nhóm mà run này thuộc về, nhằm giúp tổ chức các run liên quan lại với nhau. Bạn có thể bật/tắt khả năng hiển thị của toàn bộ nhóm trên dashboard.
  • space_id (str, optional) — Nếu được cung cấp, dự án sẽ được ghi log vào một Hugging Face Space thay vì một thư mục cục bộ. Phải là tên Space hoàn chỉnh như “username/reponame” hoặc “orgname/reponame”, hoặc chỉ cần “reponame” trong trường hợp đó, Space sẽ được tạo trong namespace của người dùng Hugging Face đang đăng nhập. Nếu Space không tồn tại, nó sẽ được tạo. Nếu Space đã tồn tại, dự án sẽ được ghi log vào đó. Cũng có thể đặt thông qua biến môi trường TRACKIO_SPACE_ID. Bạn không thể ghi log vào một Space đã được frozen (chuyển sang static SDK); chỉ sử dụng trackio.sync(..., sdk="static") sau khi bạn hoàn tất việc ghi log. Có độ ưu tiên cao hơn server_url và TRACKIO_SERVER_URL khi có nhiều hơn một giá trị được đặt.
  • server_url (str, optional) — URL gốc của một máy chủ Trackio tự lưu trữ (http:// hoặc https://), hoặc URL truy cập ghi từ trackio.show(), có thể bao gồm tham số truy vấn write_token. Client sẽ gửi token đó trong mỗi yêu cầu (X-Trackio-Write-Token); bạn cũng có thể đặt TRACKIO_WRITE_TOKEN thay vì nhúng token vào URL. Khi được đặt, các chỉ số sẽ được gửi đến máy chủ đó qua HTTP thay vì tạo hoặc đồng bộ với một Hugging Face Space. Cũng có thể đặt thông qua biến môi trường TRACKIO_SERVER_URL. Bị bỏ qua khi space_id hoặc TRACKIO_SPACE_ID được đặt.
  • dataset_id (str, optional) — Đã ngừng hỗ trợ: việc lưu trữ dữ liệu trackio vào một Dataset của Hugging Face sẽ bị loại bỏ trong một phiên bản tương lai của trackio. Hãy sử dụng bucket_id (một Bucket của Hugging Face) thay thế.
  • bucket_id (str, optional) — ID của Hugging Face Bucket được sử dụng để lưu trữ metric. Mặc định, khi space_id được cung cấp và bucket_id không được đặt rõ, một bucket sẽ được tự động tạo từ space_id. Buckets cung cấp lưu trữ kiểu S3 mà không có chi phí git - cơ sở dữ liệu SQLite được lưu trực tiếp qua hf-mount trong Space. Chỉ định một Bucket với tên dạng “username/bucketname” hoặc chỉ “bucketname”.
  • config (dict, tuỳ chọn) — Một từ điển các tùy chọn cấu hình. Được cung cấp để tương thích với wandb.init().
  • resume (str, tùy chọn, mặc định là “never”) — Kiểm soát cách xử lý việc tiếp tục một run. Có thể là một trong các giá trị:
    • “must”: Bắt buộc phải tiếp tục chạy với tên đã cho, sẽ gây ra lỗi nếu run không tồn tại
    • “allow”: Tiếp tục chạy nếu run đã tồn tại, nếu không thì tạo một run mới
    • “never”: Không bao giờ tiếp tục một run, luôn tạo một run mới
  • private (bool, optional) — Có nên đặt Space ở chế độ riêng tư hay không. Nếu là None (mặc định), kho sẽ ở chế độ công khai trừ khi mặc định của tổ chức là riêng tư. Giá trị này bị bỏ qua nếu kho đã tồn tại.
  • settings (Any, tùy chọn) — Không được sử dụng. Được cung cấp để tương thích với wandb.init().
  • embed (bool, tùy chọn, mặc định là True) — Nếu đang chạy trong notebook Jupyter/Colab, xác định xem dashboard có nên được nhúng tự động vào cell khi gọi trackio.init() hay không. Đối với các lần chạy cục bộ, điều này sẽ khởi động dashboard Trackio cục bộ và nhúng nó. Đối với các lần chạy trên Space, điều này sẽ nhúng URL của Space. Trong Colab, dashboard cục bộ sẽ có thể truy cập qua URL chia sẻ công khai khi share=True.
  • auto_log_gpu (bool hoặc None, tùy chọn, mặc định là None) — Kiểm soát việc ghi log chỉ số GPU tự động. Nếu là None (mặc định), việc ghi log GPU sẽ được bật tự động khi nvidia-ml-py đã được cài đặt và phát hiện được GPU NVIDIA hoặc Apple M series. Đặt thành True để ép bật hoặc False để tắt.
  • gpu_log_interval (float, optional, mặc định là 10.0) — Khoảng thời gian tính bằng giây giữa các lần ghi log chỉ số GPU tự động. Chỉ được sử dụng khi auto_log_gpu=True.
  • auto_log_cpu (bool hoặc None, tùy chọn, mặc định là None) — Kiểm soát việc ghi log tự động các chỉ số CPU và RAM (tỷ lệ sử dụng, bộ nhớ, I/O đĩa, I/O mạng và cảm biến). Nếu None (mặc định), việc ghi log CPU sẽ được bật tự động khi psutil đã được cài đặt. Đặt thành True để buộc bật hoặc False để tắt.
  • cpu_log_interval (float, optional, mặc định là 10.0) — Khoảng thời gian tính bằng giây giữa các lần ghi log chỉ số CPU tự động. Chỉ được sử dụng khi tính năng ghi log CPU tự động được bật.
  • webhook_url (str, optional) — Một URL webhook để POST các payload cảnh báo khi trackio.alert() được gọi. Hỗ trợ URL webhook của Slack và Discord một cách tự nhiên (các payload được định dạng tự động). Cũng có thể được đặt thông qua biến môi trường TRACKIO_WEBHOOK_URL. Các cảnh báo riêng lẻ có thể ghi đè URL này bằng cách truyền webhook_url vào trackio.alert().
  • webhook_min_level (AlertLevel hoặc str, tùy chọn) — Mức cảnh báo tối thiểu cần thiết để kích hoạt việc gửi webhook. Ví dụ, AlertLevel.WARN chỉ gửi các cảnh báo WARN và ERROR đến điểm đến của webhook. Có thể được đặt thông qua TRACKIO_WEBHOOK_MIN_LEVEL.
  • capture_console (bool hoặc None, tùy chọn, mặc định là None) — Có nên thu thập mọi thứ mà script ghi ra stdout và stderr (bao gồm đầu ra của print() và logging) và lưu trữ cùng với run hay không. Đầu ra sẽ được hiển thị trên trang của run trong dashboard, nơi bạn cũng có thể tải xuống. Nếu None (mặc định), việc thu thập console chỉ được bật khi biến môi trường TRACKIO_CAPTURE_CONSOLE được đặt thành 1 hoặc true.

Trả về

Chạy

Một đối tượng [Run] có thể được sử dụng để ghi lại các chỉ số và kết thúc phiên chạy.

Tạo một dự án Trackio mới và trả về một đối tượng [Run].

log

trackio.log

< >

( metrics: dictstep: int | None = None )

Tham số

  • metrics (dict) — Một từ điển chứa các chỉ số cần ghi log.
  • step (int, tùy chọn) — Số bước. Nếu không được cung cấp, bước sẽ được tăng tự động.

Ghi log các chỉ số vào phiên chạy hiện tại.

log_gpu

trackio.log_gpu

< >

( run: trackio.run.Run | None = Nonedevice: int | None = None ) → dict

Tham số

  • run — Đối tượng Run tùy chọn. Nếu là None, sẽ sử dụng run hiện tại từ ngữ cảnh.
  • device — chỉ số thiết bị CUDA để thu thập chỉ số (chỉ dành cho GPU NVIDIA). Nếu là None, sẽ thu thập từ tất cả các GPU mà tiến trình này nhìn thấy. Tham số này bị bỏ qua đối với GPU Apple.

Trả về

dict

Các chỉ số GPU đã được ghi log.

Ghi các chỉ số GPU vào run hiện tại hoặc run được chỉ định dưới dạng các chỉ số hệ thống. Tự động phát hiện xem có GPU NVIDIA hay Apple khả dụng và gọi phương thức ghi log phù hợp.

Ví dụ:

import trackio

run = trackio.init(project="my-project")
trackio.log({"loss": 0.5})
trackio.log_gpu()
trackio.log_gpu(device=0)

log_system

trackio.log_system

< >

( metrics: dict )

Tham số

  • metrics (dict) — Một từ điển chứa các chỉ số hệ thống cần ghi log.

Ghi log các chỉ số hệ thống (GPU, v.v.) vào lượt chạy hiện tại bằng cách sử dụng dấu thời gian thay vì số bước.

log_artifact

trackio.log_artifact

< >

( artifact_or_path: trackio.artifact.Artifact | str | pathlib.Pathname: str | None = Nonetype: str | None = Nonealiases: list[str] | None = Noneoverwrite: bool = False )

Tham số

  • artifact_or_path (Artifact, str, hoặc Path) — Đối tượng cần ghi log (phải có ít nhất một tệp được thêm thông qua add_file hoặc add_dir), hoặc đường dẫn đến tệp hoặc thư mục cần ghi log như một đối tượng mới.
  • name (str, tùy chọn) — Tên artifact khi ghi log một đường dẫn. Mặc định là run-<run_id>-<basename>. Không được truyền cùng với một Artifact.
  • type (str, tùy chọn) — Loại artifact khi ghi log một đường dẫn (ví dụ: "model", "dataset"). Mặc định là "unspecified". Không được truyền cùng với một Artifact.
  • aliases (list[str], tùy chọn) — Các alias sẽ được xoay lên phiên bản kết quả, cùng với latest (được gán tự động mỗi khi một phiên bản mới được tạo). Các alias của bạn sẽ được xoay lên phiên bản ngay cả khi nội dung giống hệt nhau bị khử trùng lặp.
  • overwrite (bool, tùy chọn) — Nếu True, sẽ xóa mọi phiên bản khác của artifact này sau khi nội dung mới được ghi log. Các blob vẫn được sử dụng bởi các artifact khác sẽ được giữ nguyên, và số phiên bản tiếp tục tăng. Mặc định là False.

Ghi log một artifact như là một đầu ra của lần chạy hiện tại.

use_artifact

trackio.use_artifact

< >

( artifact_or_name: trackio.artifact.Artifact | strtype: str | None = None )

Tham số

  • artifact_or_name (Artifact hoặc str) — Một Artifact đã được ghi log, hoặc tên của một artifact. Một tên đơn thuần ("my-model") sẽ được phân giải thành :latest; bạn cũng có thể cố định một phiên bản ("my-model:v3") hoặc phân giải một alias ("my-model:prod").
  • type (str, tùy chọn) — Nếu được cung cấp, sẽ được kiểm tra với loại artifact đã lưu, và gây ra lỗi nếu không khớp.

Lấy một artifact và ghi nhận nó như một đầu vào cho lần chạy hiện tại.

hoàn thành

trackio.finish

< >

( )

Hoàn tất lượt chạy hiện tại.

hiển thị

trackio.show

< >

( project: str | None = Nonedashboard: str | None = Nonetheme: typing.Any = Nonemcp_server: bool | None = Nonefooter: bool = Truecolor_palette: list[str] | None = Noneopen_browser: bool = Trueblock_thread: bool | None = Nonehost: str | None = Noneshare: bool | None = Noneserver_port: int | None = Nonefrontend_dir: str | pathlib.Path | None = None ) → app

Tham số

  • project (str, tùy chọn) — Tên của dự án mà các lần chạy (runs) sẽ được hiển thị. Nếu không được cung cấp, tất cả các dự án sẽ được hiển thị và người dùng có thể chọn một dự án.
  • dashboard (str, tùy chọn) — Đặt thành "registry" để hiển thị dashboard registry độc lập. Mặc định là dashboard của dự án.
  • theme (Any, tùy chọn) — Bị bỏ qua. Được giữ lại để đảm bảo tương thích ngược; Trackio không còn sử dụng các theme của Gradio nữa.
  • mcp_server (bool, tùy chọn) — Nếu True, bảng điều khiển sẽ phơi bày một máy chủ MCP tại /mcp khi phụ thuộc tùy chọn trackio[mcp] được cài đặt. Nếu None (mặc định), biến môi trường GRADIO_MCP_SERVER sẽ được sử dụng (ví dụ: trên Spaces).
  • footer (bool, tùy chọn, mặc định là True) — Có bao gồm footer=false trong URL của write-token khi False hay không. Điều này cũng có thể được kiểm soát thông qua tham số truy vấn footer trong URL.
  • color_palette (list[str], tùy chọn) — Một danh sách các mã màu hex để sử dụng cho các đường trong biểu đồ. Nếu không được cung cấp, biến môi trường TRACKIO_COLOR_PALETTE sẽ được sử dụng (các mã hex phân tách bằng dấu phẩy), hoặc nếu biến đó không được đặt, bảng màu mặc định sẽ được sử dụng. Ví dụ: ['#FF0000', '#00FF00', '#0000FF']
  • open_browser (bool, tùy chọn, mặc định là True) — Nếu True và không nằm trong notebook, một tab trình duyệt mới sẽ được mở với bảng điều khiển. Nếu False, trình duyệt sẽ không được mở.
  • block_thread (bool, tùy chọn) — Nếu True, luồng chính sẽ bị chặn cho đến khi dashboard được đóng. Nếu None (hành vi mặc định), thì luồng chính sẽ không bị chặn nếu dashboard được khởi chạy trong notebook, ngược lại luồng chính sẽ bị chặn.
  • host (str, tùy chọn) — Máy chủ để gắn kết server. Nếu không được cung cấp, mặc định là '127.0.0.1' (chỉ localhost). Đặt thành '0.0.0.0' để cho phép truy cập từ xa.
  • share (bool, tùy chọn) — Nếu True, sẽ tạo một URL công khai tạm thời (đường hầm tương thích với Gradio). Trên Colab hoặc các notebook được lưu trữ, mặc định là True trừ khi được ghi đè.
  • server_port (int, tùy chọn) — Cổng để liên kết. Nếu không được đặt, sẽ quét từ GRADIO_SERVER_PORT (mặc định là 7860).
  • frontend_dir (str | Path, tùy chọn) — Thư mục chứa frontend tĩnh tùy chỉnh. Phải chứa index.html. Nếu không được cung cấp, Trackio sẽ kiểm tra TRACKIO_FRONTEND_DIR, sau đó là cấu hình Trackio bền vững, rồi đến frontend được đóng gói sẵn. Nếu frontend_dir được chỉ định rõ ràng trỏ đến một thư mục không tồn tại hoặc rỗng, Trackio sẽ sao chép mẫu khởi tạo vào và phục vụ thư mục đó.

Trả về

app

Bảng điều khiển xử lý (.close() sẽ dừng máy chủ). url: URL cục bộ của bảng điều khiển. share_url: URL chia sẻ công khai, nếu có. full_url: URL đầy đủ bao gồm token ghi (URL chia sẻ khi đang chia sẻ, ngược lại là URL cục bộ).

Khởi chạy bảng điều khiển Trackio.

đồng bộ

trackio.sync

< >

( project: strspace_id: str | None = Noneprivate: bool | None = Noneforce: bool = Falserun_in_background: bool = Falsesdk: str = 'gradio'dataset_id: str | None = Nonebucket_id: str | None = Nonefrontend_dir: str | pathlib.Path | None = None ) → str

Tham số

  • project (str) — Tên của dự án cần tải lên.
  • space_id (str, optional) — ID của Space cần tải lên (ví dụ: “username/space_id”). Nếu không được cung cấp, hệ thống sẽ kiểm tra metadata của dự án trước, sau đó tạo một space_id ngẫu nhiên.
  • private (bool, optional) — Xác định có làm cho Space ở chế độ riêng tư hay không. Nếu là None (mặc định), kho sẽ ở chế độ công khai trừ khi mặc định của tổ chức là riêng tư. Giá trị này bị bỏ qua nếu kho đã tồn tại. Không được hỗ trợ với sdk="static" vì các bảng điều khiển Trackio tĩnh đọc dữ liệu snapshot trực tiếp từ trình duyệt.
  • force (bool, tuỳ chọn, mặc định là False) — Nếu True, ghi đè lên cơ sở dữ liệu hiện có mà không hỏi xác nhận. Nếu False, hỏi người dùng trước khi ghi đè lên cơ sở dữ liệu hiện có.
  • run_in_background (bool, optional, mặc định là False) — Nếu True, việc tạo Space và tải lên cơ sở dữ liệu sẽ được thực hiện trong một luồng nền. Nếu False, tất cả các bước sẽ được thực hiện đồng bộ.
  • sdk (str, optional, mặc định là “gradio”) — Loại Space cần triển khai. “gradio” triển khai một Gradio Space với một máy chủ trực tiếp. “static” đóng băng Space: triển khai một Space tĩnh đọc từ một HF Bucket (không cần máy chủ).
  • dataset_id (str, optional) — Đã ngừng hỗ trợ: việc lưu trữ dữ liệu trackio vào một Dataset của Hugging Face sẽ bị loại bỏ trong một phiên bản tương lai của trackio. Hãy sử dụng bucket_id (một Bucket của Hugging Face) thay thế.
  • bucket_id (str, optional) — ID của HF Bucket để đồng bộ hóa. Mặc định, một bucket sẽ được tự động tạo từ space_id.

Trả về

str

ID của Space cho dự án đã đồng bộ.

Đồng bộ hóa cơ sở dữ liệu của dự án Trackio cục bộ lên một Hugging Face Space. Nếu Space chưa tồn tại, nó sẽ được tạo ra. Dữ liệu cục bộ không bao giờ bị xóa.

Đóng băng: Truyền sdk="static" sẽ triển khai một Space tĩnh được hỗ trợ bởi một HF Bucket (bảng điều khiển chỉ đọc, không có server Gradio). Bạn có thể đồng bộ lại cùng một dự án sau đó để làm mới Space tĩnh đó. Nếu bạn muốn tạo một bản chụp nhanh (snapshot) một lần cho một Space Gradio hiện có, hãy dùng freeze() thay thế.

freeze

trackio.freeze

< >

( space_id: strproject: strnew_space_id: str | None = Noneprivate: bool | None = Nonebucket_id: str | None = Nonefrontend_dir: str | pathlib.Path | None = None ) → str

Tham số

  • space_id (str) — ID của Gradio Space nguồn (ví dụ: "username/my-space" hoặc tên repo ngắn với namespace của người dùng đã đăng nhập được suy ra, như init()). Phải là một Gradio Space có bucket được gắn tại /data.
  • project (str) — Tên của dự án mà dữ liệu của nó sẽ được bao gồm trong Space đóng băng.
  • new_space_id (str, tùy chọn) — ID cho Space tĩnh mới. Nếu không được cung cấp, mặc định là "{space_id}_static".
  • private (bool, không bắt buộc) — Không được hỗ trợ. Các bảng điều khiển tĩnh đóng băng đọc dữ liệu snapshot trực tiếp từ trình duyệt, do đó snapshot đích phải là công khai.
  • bucket_id (str, tùy chọn) — ID của HF Bucket dùng để lưu trữ dữ liệu cho Space tĩnh mới. Nếu không được cung cấp, một ID sẽ được tự động tạo từ ID của Space mới.

Trả về

str

ID của Space tĩnh vừa được tạo mới.

Tạo một Hugging Face Space tĩnh mới chứa bản sao chỉ đọc của dữ liệu cho dự án được chỉ định từ Gradio Space nguồn. Dữ liệu được đọc từ bucket gắn với Space nguồn tại thời điểm đóng băng. Space gốc không bị thay đổi, và Space tĩnh mới sẽ không tự động phản ánh các chỉ số được tải lên Gradio Space gốc sau khi quá trình đóng băng hoàn tất.

delete_project

trackio.delete_project

< >

( project: strforce: bool = False ) → bool

Tham số

  • project (str) — Tên của dự án cần xóa.
  • force (bool, tùy chọn, mặc định là False) — Nếu True, sẽ xóa dự án mà không hỏi xác nhận. Nếu False, sẽ yêu cầu người dùng xác nhận trước khi xóa.

Trả về

bool

True nếu dự án đã bị xóa, False trong trường hợp ngược lại.

Xóa một dự án bằng cách xóa cơ sở dữ liệu SQLite cục bộ của nó.

import_csv

trackio.import_csv

< >

( csv_path: str | pathlib.Pathproject: strname: str | None = Nonespace_id: str | None = Nonedataset_id: str | None = Noneprivate: bool | None = Noneforce: bool = False )

Tham số

  • csv_path (str hoặc Path) — Chuỗi str hoặc Path trỏ đến tệp CSV cần nhập.
  • project (str) — Tên của dự án để nhập tệp CSV vào. Không được là một dự án hiện có.
  • name (str, tùy chọn) — Tên của Run để nhập tệp CSV vào. Nếu không được cung cấp, một tên mặc định sẽ được tạo ra.
  • name (str, tùy chọn) — Tên của lần chạy (nếu không được cung cấp, một tên mặc định sẽ được tạo ra).
  • space_id (str, tùy chọn) — Nếu được cung cấp, dự án sẽ được ghi log vào một Hugging Face Space thay vì một thư mục cục bộ. Phải là tên Space hoàn chỉnh như "username/reponame" hoặc "orgname/reponame", hoặc chỉ cần "reponame", trong trường hợp đó Space sẽ được tạo trong namespace của người dùng Hugging Face đang đăng nhập. Nếu Space không tồn tại, nó sẽ được tạo. Nếu Space đã tồn tại, dự án sẽ được ghi log vào đó.
  • dataset_id (str, tùy chọn) — Đã ngừng hỗ trợ: việc lưu trữ dữ liệu trackio vào một Dataset của Hugging Face sẽ bị loại bỏ trong một phiên bản tương lai của trackio. Hãy sử dụng bucket_id (một Bucket của Hugging Face) thay thế.
  • private (bool, tuỳ chọn) — Có nên đặt Space ở chế độ riêng tư hay không. Nếu là None (mặc định), kho sẽ ở chế độ công khai trừ khi mặc định của tổ chức là riêng tư. Giá trị này bị bỏ qua nếu kho đã tồn tại.

Nhập tệp CSV vào dự án Trackio. Tệp CSV phải chứa cột "step", có thể tùy chọn chứa cột "timestamp", và bất kỳ cột nào khác sẽ được xử lý như các chỉ số. Tệp cũng phải bao gồm một dòng tiêu đề với tên các cột.

TODO: gọi init() và trả về một đối tượng Run để người dùng có thể tiếp tục ghi lại các chỉ số vào đó.

import_tf_events

trackio.import_tf_events

< >

( log_dir: str | pathlib.Pathproject: strname: str | None = Nonespace_id: str | None = Nonedataset_id: str | None = Noneprivate: bool | None = Noneforce: bool = False )

Tham số

  • log_dir (str hoặc Path) — Chuỗi str hoặc Path trỏ đến thư mục chứa các tệp TensorFlow Events.
  • project (str) — Tên của dự án để nhập các tệp TensorFlow Events vào. Không được là một dự án hiện có.
  • name (str, tùy chọn) — Tiền tố tên cho các lần chạy (nếu không được cung cấp, sẽ sử dụng tên thư mục). Mỗi thư mục con sẽ tạo ra một lần chạy riêng biệt.
  • space_id (str, tùy chọn) — Nếu được cung cấp, dự án sẽ được ghi log vào một Hugging Face Space thay vì một thư mục cục bộ. Phải là tên Space hoàn chỉnh như "username/reponame" hoặc "orgname/reponame", hoặc chỉ cần "reponame", trong trường hợp đó Space sẽ được tạo trong namespace của người dùng Hugging Face đang đăng nhập. Nếu Space không tồn tại, nó sẽ được tạo. Nếu Space đã tồn tại, dự án sẽ được ghi log vào đó.
  • dataset_id (str, tùy chọn) — Đã ngừng hỗ trợ: việc lưu trữ dữ liệu trackio vào một Dataset của Hugging Face sẽ bị loại bỏ trong một phiên bản tương lai của trackio. Hãy sử dụng bucket_id (một Bucket của Hugging Face) thay thế.
  • private (bool, tuỳ chọn) — Có nên đặt Space ở chế độ riêng tư hay không. Nếu là None (mặc định), kho sẽ ở chế độ công khai trừ khi mặc định của tổ chức là riêng tư. Giá trị này bị bỏ qua nếu kho đã tồn tại.

Nhập các tệp TensorFlow Events từ một thư mục vào dự án Trackio. Mỗi thư mục con trong thư mục log sẽ được nhập như một run riêng biệt.

Lưu

trackio.save

< >

( glob_str: str | pathlib.Pathproject: str | None = None ) → str

Tham số

  • glob_str (str hoặc Path) — Đường dẫn tệp hoặc mẫu glob để lưu. Có thể là một tệp duy nhất hoặc một mẫu khớp với nhiều tệp (ví dụ: "*.py", "models/**/*.pth").
  • project (str, tùy chọn) — Tên của dự án để lưu các tệp. Nếu không được cung cấp, sẽ sử dụng dự án hiện tại từ trackio.init(). Nếu không có dự án nào được khởi tạo, sẽ gây ra lỗi.

Trả về

str

Đường dẫn nơi tệp được lưu (thư mục tệp của dự án).

Lưu tệp vào một dự án (không liên kết với một lần chạy cụ thể). Nếu Trackio đang chạy cục bộ, tệp sẽ được sao chép vào thư mục tệp của dự án. Nếu Trackio đang chạy trong một Space, tệp sẽ được tải lên thư mục tệp của Space.

Ví dụ:

import trackio

trackio.init(project="my-project")
trackio.save("config.yaml")
trackio.save("models/*.pth")

Artifact

lớp trackio.Artifact

< >

( name: strtype: strdescription: str | None = Nonemetadata: dict | None = None )

Tham số

  • name (str) — Tên artifact, duy nhất trong dự án. Phải khớp với ^[A-Za-z0-9._-]+$ (chữ cái, chữ số, dấu chấm, dấu gạch dưới, dấu gạch nối).
  • type (str) — Danh mục tự do như "model" hoặc "dataset", được sử dụng để nhóm các artifact.
  • description (str, tùy chọn) — Mô tả có thể đọc được bằng người cho tài nguyên.
  • metadata (dict, tùy chọn) — Dữ liệu metadata có thể serialize thành JSON, được lưu trữ cùng với phiên bản.

Một gói tệp và tham chiếu có tên, có phiên bản, được gắn với một dự án.

Tạo một Artifact, thêm tệp vào đó bằng add_file / add_dir (các byte được lưu vào bộ nhớ lưu trữ theo địa chỉ nội dung) hoặc add_reference (một URI bên ngoài được ghi nhận mà không sao chép bất kỳ byte nào), sau đó lưu trữ nó bằng trackio.log_artifact. Việc ghi log sẽ đóng băng artifact và điền đầy các trường chỉ đọc version, aliases, size và manifest của nó.

add_dir

< >

( local_dir: str | pathlib.Pathname: str | None = None )

Tham số

  • local_dir (str hoặc Path) — Đường dẫn đến một thư mục hiện có, các tệp trong đó sẽ được thêm vào.
  • name (str, tùy chọn) — Tiền tố đường dẫn logic cho các tệp được thêm vào. Mặc định là không có tiền tố, do đó các tệp giữ nguyên đường dẫn tương đối so với local_dir.

Đưa mọi tệp thông thường dưới một thư mục vào vùng đệm, đệ quy.

Các liên kết biểu tượng (symlink) sẽ bị bỏ qua.

add_file

< >

( local_path: str | pathlib.Pathname: str | None = None )

Tham số

  • local_path (str hoặc Path) — Đường dẫn đến một tệp thông thường hiện có để thêm.
  • name (str, tùy chọn) — Đường dẫn logic mà tệp được lưu trữ bên trong artifact. Mặc định là tên cơ sở (basename) của tệp.

Đưa một tệp duy nhất vào để bao gồm trong artifact.

add_reference

< >

( uri: strname: str | None = Nonechecksum: bool = Truemax_objects: int | None = None )

Tham số

  • uri (str) — Vị trí của dữ liệu được tham chiếu, được mã hóa phần trăm (xây dựng URI cục bộ bằng pathlib.Path.as_uri()). file://, http(s):// và hf:// được phân giải và lấy về một cách bản địa; mọi scheme khác (s3://, gs://, URL blob Azure, …) yêu cầu một ReferenceHandler tùy chỉnh được đăng ký thông qua trackio.register_reference_handler — xem tài liệu về artifacts để có các ví dụ đầy đủ — nếu không sẽ gây ra ngoại lệ.
  • name (str, tùy chọn) — Đường dẫn logic mà tham chiếu được lưu trữ. Mặc định là phân đoạn cuối của uri; đối với tiền tố đã mở rộng (kết thúc bằng /), đây là tiền tố mà đường dẫn tương đối của từng đối tượng được lồng bên trong.
  • checksum (bool, tùy chọn, mặc định là True) — Khi True, sẽ thăm dò nguồn để suy ra kích thước và một checksum (và để mở rộng một thư mục/prefix): file:// sẽ được băm luồng thành sha256, hf:// sử dụng LFS sha256 hoặc git blob id của nó, và http(s):// sử dụng ETag của máy chủ. Thao tác này có thể đọc hệ thống tệp hoặc thực hiện các yêu cầu mạng. Khi không thể lấy được checksum cho một nguồn xa (ví dụ: không có ETag), chính URI sẽ được sử dụng làm digest và một cảnh báo sẽ được phát ra. Một đường dẫn file:// cục bộ không tồn tại sẽ gây ra ngoại lệ. Truyền checksum=False để bỏ qua hoàn toàn việc thăm dò từ xa.
  • max_objects (int, tùy chọn) — Giới hạn số lượng đối tượng mà một thư mục/prefix có thể mở rộng thành (mặc định là 10.000); nếu vượt quá sẽ gây ra lỗi.

Gắn một tham chiếu đến dữ liệu bên ngoài, mà không sao chép bất kỳ byte nào.

Khác với add_file/add_dir, một tham chiếu ghi lại URI của dữ liệu (cùng với kích thước và mã kiểm tra, khi có sẵn) mà không lưu trữ các byte vào kho lưu trữ theo địa chỉ nội dung. Đây là cách bạn tạo phiên bản và theo dõi nguồn gốc dữ liệu cho các bộ dữ liệu lớn hoặc đã được lưu trữ bền vững mà không được phép sao chép.

URI chỉ định một thư mục (file://, hf://, hoặc một tiền tố được mở rộng bởi trình xử lý tùy chỉnh) sẽ được mở rộng thành một mục cho mỗi đối tượng, giới hạn bởi max_objects. Các byte tham chiếu không bao giờ được tải lên Space hoặc bucket.

URI được lưu giữ nguyên văn trong manifest của artifact, và các manifest có thể được đồng bộ hóa đến một Hugging Face Dataset chung — do đó, một URI đã ký sẽ kích hoạt cảnh báo vì lý do bảo mật; vui lòng ưu tiên sử dụng URI không ký chính tắc của đối tượng (ví dụ: s3://bucket/key).

tải xuống

< >

( root: str | pathlib.Path | None = None )

Tham số

  • root (str hoặc Path, tùy chọn) — Thư mục để ghi các tệp vào. Mặc định là ./.trackio/artifact-downloads/<project>/<name>_v<version>/, được phân biệt theo project để các artifact cùng tên từ các project khác nhau không bao giờ xung đột, và theo version đã được phân giải để một alias thay đổi như latest không bao giờ để lại các tệp cũ từ một version trước đó.

Vật chất hóa các tệp của artifact vào một thư mục cục bộ.

Các tệp được sao chép từ bộ nhớ đệm định danh theo nội dung của Trackio (và được tải từ xa khi không có sẵn cục bộ), do đó các lần gọi lặp lại sẽ có chi phí thấp và có tính chất idempotent.

Các mục tham chiếu được thêm thông qua add_reference cũng được lấy tại đây: đối tượng tại mỗi URI tham chiếu sẽ được tải xuống thư mục (thông qua httpx2 được đóng gói sẵn cho http(s)://, huggingface_hub cho hf://, và ReferenceHandler tùy chỉnh đã đăng ký cho mọi scheme khác). Mỗi đối tượng được ghi một cách nguyên tử và các cuộc gọi là idempotent. Vì các digest tham chiếu là không trong suốt (ETag của nhà cung cấp hoặc chính URI), một tệp hiện diện được giả định là cập nhật và sẽ không được xác minh lại với nguồn, và một nguồn mà checksum được kiểm tra lại không còn khớp với giá trị đã ghi sẽ vẫn được tải xuống kèm theo cảnh báo. Việc tải xuống có thể truyền tải một lượng dữ liệu lớn; để làm việc với các URI mà không tải xuống, hãy đọc chúng từ thuộc tính references hoặc get_entry_uri thay thế. Nguồn bị thiếu, máy chủ không thể truy cập, hoặc scheme không có trình xử lý đã đăng ký sẽ gây ra ngoại lệ.

get_entry_uri

< >

( name: str )

Trả về URI được ghi lại cho mục tham chiếu tại đường dẫn logic name, hoặc None nếu không có mục tham chiếu nào có tên đó.

liên kết

< >

( target_path: straliases: list[str] | None = Nonebucket_id: str | None = None )

Tham số

  • target_path (str) — Bộ sưu tập cần liên kết, dưới dạng "registry-<registry>/<collection>". Registry phải đã tồn tại.
  • aliases (list[str], tùy chọn) — Các alias để đặt trên phiên bản được liên kết. latest được quản lý tự động; việc truyền nó sẽ không có tác dụng.
  • bucket_id (str, tùy chọn) — Bucket chứa registry, ví dụ "my-org/models-registry". Bỏ qua đối với registry cục bộ; mặc định là TRACKIO_REGISTRY_BUCKET_ID nếu biến đó được đặt.

Liên kết phiên bản artifact này vào một bộ sưu tập registry.

Liên kết là một con trỏ đến phiên bản này: không có tệp nào được sao chép. Xem Run.link_artifact để biết đầy đủ ngữ nghĩa (phiên bản hóa bộ sưu tập, biệt danh, và artifact liên kết được trả về).

Artifact phải đã được ghi log hoặc tải về; khác với Run.link_artifact, thao tác này không ghi log một artifact nháp cho bạn, và liên kết không ghi nhận run nào được phát hành. Một artifact tải về từ một Space hoặc một máy chủ tự lưu trữ chỉ có thể được liên kết vào một registry dựa trên bucket, vì registry cục bộ không thể truy cập được từ nơi chứa dữ liệu của nó.

unlink

< >

( )

Xóa liên kết registry này.

Gọi lệnh này trên artifact liên kết được trả về bởi link hoặc Run.link_artifact, không gọi trên phiên bản artifact nguồn. Artifact nguồn và các tệp của nó không bị thay đổi; chỉ thành viên trong bộ sưu tập bị gỡ bỏ. Các alias trỏ đến liên kết sẽ bị gỡ cùng với nó, và số phiên bản của bộ sưu tập không bao giờ được sử dụng lại. Nếu phiên bản đó giữ latest, alias đó sẽ chuyển sang phiên bản còn lại cao nhất.

chờ

< >

( timeout: int | None = None )

No-op: trackio ghi log các artifact một cách đồng bộ, do đó artifact đã được cam kết trước khi log_artifact trả về.

Registry

lớp trackio.Registry

< >

( name: strbucket_id: str | None = None )

Tham số

  • name (str) — Tên registry, ví dụ "models". Phải khớp với ^[A-Za-z0-9_-]+$ (chữ cái, chữ số, gạch dưới, gạch nối).
  • bucket_id (str, tùy chọn) — Bucket của Hugging Face chứa registry, ví dụ "my-org/models-registry". Bỏ qua nếu dùng registry cục bộ. Mặc định là TRACKIO_REGISTRY_BUCKET_ID nếu biến này được đặt.

Một trình xử lý cho một kho lưu trữ sản phẩm.

Registry là một danh mục chung các phiên bản artifact, được tổ chức thành các bộ sưu tập. Bạn xuất bản vào đó bằng Run.link_artifact và nâng cấp phiên bản bằng cách di chuyển các alias như "staging" hoặc "production". Xem hướng dẫn Registry để có cái nhìn tổng quan.

Bạn không tự tạo một Registry. Hãy tạo một registry bằng trackio.Api().create_registry(name) hoặc lấy một registry hiện có bằng trackio.Api().registry(name); cả hai đều trả về handle này.

Ví dụ:

import trackio

registry = trackio.Api().create_registry("models")
registry.create_collection(
    "my-model", artifact_type="model", description="My favorite model"
)

run = trackio.init(project="my-experiments")
artifact = trackio.log_artifact("model.pt", name="resnet", type="model")
run.link_artifact(artifact, "registry-models/my-model", aliases=["staging"])
trackio.finish()

registry.collection("my-model").links

sự tập hợp

< >

( name: str )

Mô tả một bộ sưu tập.

Trả về None nếu registry hoặc collection không tồn tại.

collections

< >

( )

Liệt kê các bộ sưu tập của registry, kèm theo các liên kết.

Trả về một danh sách rỗng nếu registry không tồn tại.

create_collection

< >

( name: strartifact_type: strdescription: str | None = None )

Tham số

  • name (str) — Tên bộ sưu tập, duy nhất trong registry. Phải khớp với ^[A-Za-z0-9._-]+$.
  • artifact_type (str) — Loại artifact mà bộ sưu tập chấp nhận, ví dụ "model" hoặc "dataset". Loại được cố định khi tạo; việc liên kết một artifact có loại khác sẽ gây ra lỗi.
  • description (str, tùy chọn) — Mô tả có thể đọc được bằng người cho bộ sưu tập.

Tạo một bộ sưu tập trong registry này.

Các bộ sưu tập cũng được tạo tự động khi liên kết lần đầu, vì vậy điều này chủ yếu hữu ích để đặt mô tả trước. Nếu bộ sưu tập đã tồn tại, nó sẽ được trả về nguyên vẹn và một description khác None sẽ được áp dụng.

sự kiện

< >

( )

Trả về nhật ký kiểm toán của registry, sự kiện cũ nhất ở đầu.

Mỗi sự kiện có một id, một mốc thời gian ts, một kind ("create", "link", "promote", "update", hoặc "unlink"), và một payload mô tả sự thay đổi. Một create payload không có khóa collection ghi lại việc tạo chính registry.

Bộ sưu tập

lớp trackio.Collection

< >

( name: strtype: strdescription: str | Nonecreated_at: strnum_links: intlatest_version: int | Nonelinks: list[dict] )

Một bản sao chụp chỉ đọc của một bộ sưu tập trong registry.

Được trả về bởi Registry.create_collection, Registry.collection và Registry.collections.

Hình ảnh

lớp trackio.TrackioImage

< >

( value: str | pathlib.Path | numpy.ndarray | PIL.Image.Imagecaption: str | None = None )

Tham số

  • value (str, Path, numpy.ndarray, hoặc PIL.Image, tuỳ chọn) — Đường dẫn đến một hình ảnh, một hình ảnh PIL, hoặc một mảng numpy có hình dạng (height, width, channels). Nếu là mảng numpy, phải có kiểu np.uint8 với các giá trị RGB trong khoảng [0, 255].
  • caption (str, tùy chọn) — Chuỗi chú thích cho hình ảnh.

Khởi tạo một đối tượng Image.

Ví dụ:

import trackio
import numpy as np
from PIL import Image

# Create an image from numpy array
image_data = np.random.randint(0, 255, (64, 64, 3), dtype=np.uint8)
image = trackio.Image(image_data, caption="Random image")
trackio.log({"my_image": image})

# Create an image from PIL Image
pil_image = Image.new('RGB', (100, 100), color='red')
image = trackio.Image(pil_image, caption="Red square")
trackio.log({"red_image": image})

# Create an image from file path
image = trackio.Image("path/to/image.jpg", caption="Photo from file")
trackio.log({"file_image": image})

Video

lớp trackio.TrackioVideo

< >

( value: str | pathlib.Path | numpy.ndarraycaption: str | None = Nonefps: int | None = Noneformat: typing.Optional[typing.Literal['gif', 'mp4', 'webm']] = None )

Tham số

  • value (str, Path, hoặc numpy.ndarray, tùy chọn) — Đường dẫn đến tệp video, hoặc một mảng numpy. Nếu là mảng numpy, phải có kiểu np.uint8 với các giá trị RGB trong khoảng [0, 255]. Mảng được kỳ vọng có hình dạng (frames, channels, height, width) hoặc (batch, frames, channels, height, width). Với trường hợp sau, các video sẽ được xếp thành một lưới.
  • caption (str, tùy chọn) — Chuỗi chú thích cho video.
  • fps (int, tùy chọn) — Số khung hình mỗi giây của video. Chỉ được sử dụng khi giá trị là ndarray. Mặc định là 24.
  • format (Literal["gif", "mp4", "webm"], tùy chọn) — Định dạng video (“gif”, “mp4” hoặc “webm”). Chỉ được sử dụng khi giá trị là ndarray. Mặc định là “gif”.

Khởi tạo một đối tượng Video.

Ví dụ:

import trackio
import numpy as np

# Create a simple video from numpy array
frames = np.random.randint(0, 255, (10, 3, 64, 64), dtype=np.uint8)
video = trackio.Video(frames, caption="Random video", fps=30)

# Create a batch of videos
batch_frames = np.random.randint(0, 255, (3, 10, 3, 64, 64), dtype=np.uint8)
batch_video = trackio.Video(batch_frames, caption="Batch of videos", fps=15)

# Create video from file path
video = trackio.Video("path/to/video.mp4", caption="Video from file")

write_video

< >

( file_path: str | pathlib.Pathvideo: ndarrayfps: floatcodec: typing.Literal['h264', 'vp9', 'gif'] )

Chỉ RGB uint8, shape (F, H, W, 3).

Âm thanh

lớp trackio.TrackioAudio

< >

( value: str | pathlib.Path | numpy.ndarraycaption: str | None = Nonesample_rate: int | None = Noneformat: typing.Optional[typing.Literal['wav', 'mp3']] = None )

Tham số

  • value (str, Path, hoặc numpy.ndarray, tùy chọn) — Đường dẫn đến tệp âm thanh, hoặc một mảng numpy. Mảng phải có hình dạng (samples,) cho âm thanh đơn (mono) hoặc (samples, 2) cho âm thanh stereo. Các mảng float sẽ được chuẩn hóa đỉnh và chuyển đổi sang PCM 16-bit; các mảng nguyên sẽ được chuyển đổi sang PCM 16-bit khi cần.
  • caption (str, tùy chọn) — Chuỗi chú thích cho âm thanh.
  • sample_rate (int, tùy chọn) — Tần số lấy mẫu tính bằng Hz. Bắt buộc khi value là mảng numpy.
  • format (Literal["wav", "mp3"], tùy chọn) — Định dạng âm thanh được sử dụng khi value là mảng numpy. Mặc định là “wav”.

Khởi tạo một đối tượng Audio.

Ví dụ:

import trackio
import numpy as np

# Generate a 1-second 440 Hz sine wave (mono)
sr = 16000
t = np.linspace(0, 1, sr, endpoint=False)
wave = 0.2 * np.sin(2 * np.pi * 440 * t)
audio = trackio.Audio(wave, caption="A4 sine", sample_rate=sr, format="wav")
trackio.log({"tone": audio})

# Stereo from numpy array (shape: samples, 2)
stereo = np.stack([wave, wave], axis=1)
audio = trackio.Audio(stereo, caption="Stereo", sample_rate=sr, format="mp3")
trackio.log({"stereo": audio})

# From an existing file
audio = trackio.Audio("path/to/audio.wav", caption="From file")
trackio.log({"file_audio": audio})

ensure_int16_pcm

< >

( data: ndarray )

Chuyển đổi mảng âm thanh đầu vào thành PCM int16 liên tục. Chuẩn hóa đỉnh được áp dụng cho các đầu vào dạng số thực.

Object3D

lớp trackio.TrackioObject3D

< >

( path_or_array: str | pathlib.Path | numpy.ndarraycaption: str | None = None )

Html

lớp trackio.TrackioHtml

< >

( data: typing.Anyinject: bool = Truedata_is_not_path: bool = Falsecaption: str | None = None )

Tham số

  • data (str, Path, file-like, Plotly figure, or Matplotlib figure) — HTML thô, đường dẫn đến tệp .html, đối tượng file-like, hoặc biểu đồ Plotly hoặc Matplotlib.
  • inject (bool, tùy chọn) — Bọc các đoạn HTML trong một tài liệu có kiểu. Mặc định là True.
  • data_is_not_path (bool, tùy chọn) — Được chấp nhận để tương thích với wandb.Html nhưng bị bỏ qua.
  • caption (str, tùy chọn) — Chuỗi chú thích cho HTML.

Khởi tạo một đối tượng Html.

Ví dụ:

import trackio

trackio.init(project="my-project")

# Raw HTML
trackio.log({"report": trackio.Html("<h1>Results</h1>")})

# Plotly figure
import plotly.express as px

fig = px.line(x=[1, 2, 3], y=[4, 5, 6])
trackio.log({"plot": trackio.Html(fig)})

# Matplotlib figure
import matplotlib.pyplot as plt

plt.plot([1, 2, 3, 4])
trackio.log({"chart": trackio.Html(plt)})

Bảng

lớp trackio.Table

< >

( columns: list[str] | None = Nonedata: list[list[typing.Any]] | None = Nonedataframe: typing.Optional[typing.Any] = Nonerows: list[list[typing.Any]] | None = Noneoptional: bool | list[bool] = Trueallow_mixed_types: bool = Falselog_mode: typing.Optional[typing.Literal['IMMUTABLE', 'MUTABLE', 'INCREMENTAL']] = 'IMMUTABLE' )

Tham số

  • columns (list[str], tùy chọn) — Tên của các cột trong bảng. Tùy chọn nếu data được cung cấp. Không được mong đợi nếu dataframe được cung cấp. Hiện tại bị bỏ qua.
  • data (list[list[Any]], tùy chọn) — Mảng 2D định hướng theo hàng chứa các giá trị. Mỗi giá trị có thể là một số, một chuỗi (được xử lý như Markdown và bị cắt ngắn nếu quá dài), hoặc một đối tượng Trackio.Image hoặc danh sách các đối tượng Trackio.Image.
  • dataframe (pandas.DataFrame, tùy chọn) — DataFrame được dùng để tạo bảng. Khi được đặt, các đối số data và columns sẽ bị bỏ qua.
  • rows (list[list[Any]], tùy chọn) — Hiện tại bị bỏ qua.
  • optional (bool hoặc list[bool], optional, mặc định là True) — Hiện tại bị bỏ qua.
  • allow_mixed_types (bool, tùy chọn, mặc định là False) — Hiện tại bị bỏ qua.
  • log_mode — (Literal["IMMUTABLE", "MUTABLE", "INCREMENTAL"] hoặc None, tùy chọn, mặc định là "IMMUTABLE"): Hiện tại bị bỏ qua.

Khởi tạo một đối tượng Table.

Bảng có thể được sử dụng để ghi lại dữ liệu dạng bảng bao gồm hình ảnh, số và văn bản.

to_display_format

< >

( table_data: list[dict] ) → list[dict]

Tham số

  • table_data (list[dict]) — Danh sách các từ điển đại diện cho các hàng của bảng (từ _value đã lưu).

Trả về

list[dict]

Dữ liệu bảng với hình ảnh được chuyển đổi thành cú pháp markdown và văn bản dài bị cắt ngắn.

Chuyển đổi dữ liệu bảng đã lưu sang định dạng hiển thị để render giao diện người dùng.

Lưu ý: Điều này không sử dụng thuộc tính self.data, mà thay vào đó sử dụng tham số table_data, đây là thứ mà UI nhận được.

Trace

lớp trackio.Trace

< >

( messages: list[dict[str, Any]]metadata: dict | None = Nonespans: list[dict[str, Any]] | None = None )

Tham số

  • messages (list[dict[str, Any]]) — Các tin nhắn theo phong cách OpenAI, ví dụ {"role": "user", "content": "..."}. Tin nhắn của trợ lý có thể bao gồm tool_calls, và kết quả công cụ có thể bao gồm tool_call_id; khi không cung cấp spans, bảng điều khiển sẽ ghép chúng thành các thao tác công cụ.
  • metadata (dict, tùy chọn) — Metadata ở cấp độ trace, ví dụ session_id hoặc environment. Các khóa status, duration_ms, latency_ms và cost_usd được dashboard sử dụng làm giá trị dự phòng ở cấp độ trace khi các span không cung cấp chúng.
  • spans (list[dict[str, Any]], tùy chọn) — Các span thực thi mô tả những gì đã tạo ra phản hồi. Mỗi span là một từ điển có khóa là id, name và kind ("span", "generation" hoặc "tool"), cùng với các trường tùy chọn parent_id, start_time, end_time, duration_ms, status, error, input, output, model, usage, cost_usd và metadata.

Khởi tạo một đối tượng Trace.

Traces ghi lại một yêu cầu theo phong cách hội thoại hoặc agent: các tin nhắn theo phong cách OpenAI, metadata tùy chọn và các span thực thi tùy chọn. Spans là các từ điển mô tả các lần sinh của model, các cuộc gọi tool hoặc các thao tác khác. Các đối tượng media Trackio lồng nhau bên trong messages, metadata hoặc spans sẽ được lưu trữ và serialize cùng với trace.

Histogram

lớp trackio.Histogram

< >

( sequence: typing.Union[numpy.ndarray, typing.Sequence[float], typing.Sequence[int], NoneType] = Nonenp_histogram: tuple | None = Nonenum_bins: int = 64 )

Tham số

  • sequence (np.ndarray hoặc Sequence[float] hoặc Sequence[int], tuỳ chọn) — Chuỗi các giá trị để tạo histogram từ đó.
  • np_histogram (tuple, tuỳ chọn) — Histogram NumPy đã tính trước dưới dạng tuple (hist, bins).
  • num_bins (int, tùy chọn, mặc định là 64) — Số lượng bin cho biểu đồ phân phối (tối đa 512).

Loại dữ liệu Histogram cho Trackio, tương thích với wandb.Histogram.

Ví dụ:

import trackio
import numpy as np

# Create histogram from sequence
data = np.random.randn(1000)
trackio.log({"distribution": trackio.Histogram(data)})

# Create histogram from numpy histogram
hist, bins = np.histogram(data, bins=30)
trackio.log({"distribution": trackio.Histogram(np_histogram=(hist, bins))})

# Specify custom number of bins
trackio.log({"distribution": trackio.Histogram(data, num_bins=50)})
Update on GitHub