- Accelerate支持七种集成的跟踪器:
- TensorBoard
- WandB
- CometML
- Aim
- MLFlow
- ClearML
- DVCLive
- 要使用这些跟踪器,可以通过在 Accelerator 类的
log_with
参数中传入所选类型来实现
from accelerate import Accelerator
from accelerate.utils import LoggerType
accelerator = Accelerator(log_with="all")
# For all available trackers in the environment
accelerator = Accelerator(log_with="wandb")
accelerator = Accelerator(log_with=["wandb", LoggerType.TENSORBOARD])
- 实验开始时,使用 a
ccelerator.init_trackers()
来设置项目并记录任何实验超参数
hps = {"num_iterations": 5, "learning_rate": 1e-2}
accelerator.init_trackers("my_project", config=hps)
- 实验过程中,使用
accelerator.log()
来记录数据accelerator.log({"train_loss": 1.12, "valid_loss": 0.8}, step=1)
- 实验结束时运行
accelerator.end_training()
以确保所有跟踪器能正确执行结束功能。
完整的一套:
- 如果跟踪器需要一个目录来保存数据(例如 TensorBoard),则可以将目录路径传给
project_dir
参数ProjectConfiguration
数据类还可以结合其他配置使用,例如将 TensorBoard 数据保存在project_dir
中,而其他日志保存在logging_dir
参数中
accelerator = Accelerator(log_with="tensorboard", project_dir=".")
# 使用 ProjectConfiguration
config = ProjectConfiguration(project_dir=".", logging_dir="another/directory")
accelerator = Accelerator(log_with="tensorboard", project_config=config)