Hub Python Library documentation
Trình ghi log TensorBoard
Trình ghi log TensorBoard
TensorBoard là bộ công cụ trực quan hóa cho các thí nghiệm học máy. TensorBoard cho phép theo dõi và trực quan hóa các chỉ số như loss và accuracy, trực quan hóa đồ thị mô hình, xem histogram, hiển thị hình ảnh và nhiều hơn nữa.
TensorBoard được tích hợp chặt chẽ với Hugging Face Hub. Hub tự động phát hiện các trace của TensorBoard (chẳng hạn như tfevents) khi được đẩy lên Hub, từ đó khởi động một instance để trực quan hóa chúng. Để biết thêm thông tin về tích hợp TensorBoard trên Hub, hãy xem hướng dẫn này.
Để tận dụng tích hợp này, huggingface_hub cung cấp một logger tùy chỉnh để đẩy log lên Hub. Nó hoạt động như một bản thay thế trực tiếp cho SummaryWriter mà không cần thêm mã nào. Các trace vẫn được lưu cục bộ và một tác vụ nền sẽ đẩy chúng lên Hub theo các khoảng thời gian đều đặn.
HFSummaryWriter
lớp huggingface_hub.HFSummaryWriter
< source >( *args**kwargs )
Tham số
- repo_id (
str) — ID của kho mà các log sẽ được đẩy lên. - logdir (
str, tùy chọn) — Thư mục nơi các nhật ký sẽ được ghi. Nếu không được chỉ định, một thư mục cục bộ sẽ được tạo bởi đối tượngSummaryWriterbên dưới. - commit_every (
inthoặcfloat, tùy chọn) — Tần suất (tính bằng phút) để các nhật ký được đẩy lên Hub. Mặc định là 5 phút. - squash_history (
bool, tùy chọn) — Có nên nén lịch sử của kho sau mỗi lần commit hay không. Mặc định làFalse. Việc nén các commit có ích để tránh hiệu năng giảm khi kho trở nên quá lớn. - repo_type (
str, tùy chọn) — Loại repo mà các log sẽ được đẩy lên. Mặc định là “model”. - repo_revision (
str, tùy chọn) — Phiên bản của kho mà các nhật ký sẽ được đẩy lên. Mặc định là “main”. - repo_private (
bool, tùy chọn) — Có nên đặt kho thành riêng tư hay không. Nếu làNone(mặc định), kho sẽ là 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. - path_in_repo (
str, tùy chọn) — Đường dẫn đến thư mục trong repo mà các log sẽ được đẩy lên. Mặc định là “tensorboard/”. - repo_allow_patterns (
list[str]hoặcstr, tùy chọn) — Một danh sách các mẫu cần bao gồm trong quá trình tải lên. Mặc định là"*.tfevents.*". Xem hướng dẫn tải lên để biết thêm chi tiết. - repo_ignore_patterns (
list[str]hoặcstr, tùy chọn) — Một danh sách các mẫu để loại trừ trong quá trình tải lên. Xem hướng dẫn tải lên để biết thêm chi tiết. - token (
str, tùy chọn) — Token xác thực. Mặc định sẽ dùng token đã lưu. Xem https://huggingface.co/settings/token để biết thêm chi tiết - kwargs —
Các đối số từ khóa bổ sung được truyền đến
SummaryWriter.
Bọc quanh SummaryWriter của tensorboard để đẩy nhật ký huấn luyện lên Hub.
Dữ liệu được ghi lại cục bộ sau đó được đẩy lên Hub một cách bất đồng bộ. Việc đẩy dữ liệu lên Hub được thực hiện trong một luồng riêng để tránh chặn script huấn luyện. Cụ thể, nếu quá trình tải lên thất bại vì bất kỳ lý do nào (ví dụ: sự cố kết nối), script chính sẽ không bị gián đoạn. Dữ liệu được tự động đẩy lên Hub mỗi commit_every phút (mặc định là mỗi 5 phút).
HFSummaryWriterlà thử nghiệm. API của nó có thể thay đổi trong tương lai mà không cần thông báo trước.
Ví dụ:
# Taken from https://pytorch.org/docs/stable/tensorboard.html
- from torch.utils.tensorboard import SummaryWriter
+ from huggingface_hub import HFSummaryWriter
import numpy as np
- writer = SummaryWriter()
+ writer = HFSummaryWriter(repo_id="username/my-trained-model")
for n_iter in range(100):
writer.add_scalar('Loss/train', np.random.random(), n_iter)
writer.add_scalar('Loss/test', np.random.random(), n_iter)
writer.add_scalar('Accuracy/train', np.random.random(), n_iter)
writer.add_scalar('Accuracy/test', np.random.random(), n_iter)