Accelerate documentation
Trình theo dõi thí nghiệm
Trình theo dõi thí nghiệm
GeneralTracker
Lớp Tracker cơ bản được sử dụng cho tất cả các triển khai tích hợp ghi log.
Mỗi hàm nên nhận vào **kwargs sẽ được tự động truyền từ một từ điển cơ bản được cung cấp cho Accelerator.
Cần triển khai các thuộc tính name, requires_logging_directory và tracker sao cho:
name (str): Biểu diễn chuỗi của tên lớp tracker, chẳng hạn như “TensorBoard” requires_logging_directory (bool): Xác định xem logger có yêu cầu một thư mục để lưu trữ nhật ký của nó hay không. tracker (object): Nên trả về cơ chế theo dõi bên trong được sử dụng bởi một lớp tracker (chẳng hạn như run của wandb)
Các cài đặt cũng có thể bao gồm thuộc tính main_process_only (bool) để bật/tắt việc các chức năng ghi log, khởi tạo và các chức năng khác có liên quan nên được thực hiện trên tiến trình chính hay trên tất cả các tiến trình (mặc định sẽ sử dụng True)
Nên chạy các hàm hoàn tất trong API theo dõi. Nếu API không cần có một hàm như vậy, chỉ cần không ghi đè phương thức đó.
log
< source >( values: dictstep: int | None = None**kwargs )
Ghi values vào run hiện tại. Các cài đặt log cơ bản của một API theo dõi nên được đặt ở đây, cùng với
hành vi đặc biệt cho tham số `step`.
Khởi tạo theo kiểu lười (lazy) bộ theo dõi (tracker) bên trong Accelerator để tránh khởi tạo PartialState trước InitProcessGroupKwargs.
store_init_configuration
< source >( values: dict )
Ghi values dưới dạng siêu tham số cho lần chạy. Các triển khai nên sử dụng tính năng cấu hình thí nghiệm của API theo dõi.
register_tracker_class
accelerate.tracking.register_tracker_class
< source >( tracker_class: type )
Tham số
- tracker_class (lớp con của
GeneralTracker) — Lớp tracker cần đăng ký. Lớp này phải kế thừaGeneralTrackervà định nghĩa thuộc tính lớpnamekhác rỗng cùng thuộc tính lớprequires_logging_directory. Lớp này được khởi tạo vớiproject_nameđược truyền vàoAccelerator.init_trackers()làm đối số vị trí đầu tiên. Khirequires_logging_directorylàTrue, thư mục ghi log được truyền làm đối số vị trí thứ hai (khớp với quy ước của tracker tích hợp sẵn). Các đối số từ khóa cụ thể của tracker từinit_kwargsđược chuyển tiếp dưới dạng**kwargs.
Đăng ký một lớp con GeneralTracker tùy chỉnh để có thể tham chiếu nó bằng name của nó trong đối số log_with của Accelerator, theo cách tương tự như các trình theo dõi tích hợp sẵn.
Trình theo dõi phải được đăng ký trước khi khởi tạo Accelerator sử dụng nó.
Ví dụ:
from accelerate import Accelerator
from accelerate.tracking import GeneralTracker, register_tracker_class
class MyTracker(GeneralTracker):
name = "my_tracker"
requires_logging_directory = False
# ... implement the rest of the `GeneralTracker` interface
register_tracker_class(MyTracker)
accelerator = Accelerator(log_with="my_tracker")TensorBoardTracker
class accelerate.tracking.TensorBoardTracker
< source >( run_name: strlogging_dir: str | os.PathLike**kwargs )
Lớp Tracker hỗ trợ tensorboard. Nên được khởi tạo ngay đầu script của bạn.
WandBTracker
lớp accelerate.tracking.WandBTracker
< source >( run_name: str**kwargs )
Lớp Tracker hỗ trợ wandb. Nên được khởi tạo ngay đầu script của bạn.
Trackio
lớp accelerate.tracking.TrackioTracker
< source >( run_name: str**kwargs )
Tham số
- run_name (
str) — Tên của lượt chạy thử nghiệm. Sẽ được dùng làm tênprojectkhi khởi tạo trackio. - **kwargs (các đối số từ khóa bổ sung, tùy chọn) —
Các đối số từ khóa bổ sung được truyền đến phương thức
trackio.init. Tham khảo init để xem tất cả các đối số từ khóa được hỗ trợ.
Lớp Tracker hỗ trợ trackio. Nên được khởi tạo ngay tại đầu script của bạn.
CometMLTracker
lớp accelerate.tracking.CometMLTracker
< source >( run_name: str**kwargs )
Tham số
- run_name (
str) — Tên của lần chạy thử nghiệm. - **kwargs (các đối số từ khóa bổ sung, tùy chọn) —
Các đối số từ khóa bổ sung được truyền đến phương thức
comet_ml.start: https://www.comet.com/docs/v2/api-and-sdk/python-sdk/reference/start/
Lớp Tracker hỗ trợ comet_ml. Nên được khởi tạo ngay đầu script của bạn.
Khóa API phải được lưu trữ trong tệp cấu hình Comet.
Lưu ý:
Với các phiên bản comet_ml < 3.41.0, các đối số từ khóa bổ sung sẽ được truyền đến comet_ml.Experiment thay vào đó: https://www.comet.com/docs/v2/api-and-sdk/python-sdk/reference/Experiment/#comet_ml.Experiment.__init__
AimTracker
lớp accelerate.tracking.AimTracker
< source >( run_name: strlogging_dir: str | os.PathLike | None = '.'**kwargs )
Lớp Tracker hỗ trợ aim. Nên được khởi tạo ngay tại đầu script của bạn.
MLflowTracker
class accelerate.tracking.MLflowTracker
< source >( experiment_name: str | None = Nonelogging_dir: str | os.PathLike | None = Nonerun_id: str | None = Nonetags: dict[str, typing.Any] | str | None = Nonenested_run: bool | None = Falserun_name: str | None = Nonedescription: str | None = None )
Tham số
- experiment_name (
str, tùy chọn) — Tên của thí nghiệm. Biến môi trường MLFLOW_EXPERIMENT_NAME có ưu tiên cao hơn so với đối số này. - logging_dir (
strhoặcos.PathLike, mặc định là".") — Vị trí lưu trữ các log của mlflow. - run_id (
str, tùy chọn) — Nếu được chỉ định, lấy run có UUID được chỉ định và ghi log các tham số và chỉ số dưới run đó. Thời gian kết thúc của run sẽ không được đặt và trạng thái của nó được đặt thành đang chạy, nhưng các thuộc tính khác của run (source_version, source_type, v.v.) không bị thay đổi. Biến môi trường MLFLOW_RUN_ID có độ ưu tiên cao hơn so với đối số này. - tags (
Dict[str, str], tùy chọn) — Mộtdicttùy chọn gồm các khóa và giá trịstr, hoặc một bản dumpstrtừ mộtdict, để đặt làm tags cho run. Nếu một run đang được tiếp tục, các tags này sẽ được đặt trên run được tiếp tục đó. Nếu một run mới đang được tạo, các tags này sẽ được đặt trên run mới. Biến môi trường MLFLOW_TAGS có ưu tiên cao hơn so với tham số này. - nested_run (
bool, tùy chọn, mặc định làFalse) — Kiểm soát việc run có được lồng trong run cha hay không. True tạo ra một run lồng. Biến môi trường MLFLOW_NESTED_RUN có ưu tiên cao hơn so với đối số này. - run_name (
str, tùy chọn) — Tên của run mới (được lưu dưới dạng tag mlflow.runName). Chỉ được sử dụng khirun_idkhông được chỉ định. - description (
str, tùy chọn) — Chuỗi tùy chọn để điền vào hộp mô tả của run. Nếu run đang được tiếp tục, mô tả sẽ được đặt trên run được tiếp tục đó. Nếu một run mới đang được tạo, mô tả sẽ được đặt trên run mới.
Lớp Tracker hỗ trợ mlflow. Nên được khởi tạo ngay đầu script của bạn.
__init__
< source >( experiment_name: str | None = Nonelogging_dir: str | os.PathLike | None = Nonerun_id: str | None = Nonetags: dict[str, typing.Any] | str | None = Nonenested_run: bool | None = Falserun_name: str | None = Nonedescription: str | None = None )
ClearMLTracker
lớp accelerate.tracking.ClearMLTracker
< source >( run_name: str | None = None**kwargs )
Lớp Tracker hỗ trợ clearml. Nên được khởi tạo ngay đầu script của bạn.
SwanLabTracker
class accelerate.tracking.SwanLabTracker
< source >( run_name: str**kwargs )
Lớp Tracker hỗ trợ swanlab. Nên được khởi tạo ngay tại đầu script của bạn.