Shortcuts

CometLogger

class torchtune.training.metric_logging.CometLogger(api_key: Optional[str] = None, workspace: Optional[str] = None, project: Optional[str] = None, experiment_key: Optional[str] = None, mode: Optional[str] = None, online: Optional[bool] = None, experiment_name: Optional[str] = None, tags: Optional[List[str]] = None, log_code: bool = True, **kwargs: Dict[str, Any])[source]

用于Comet的日志记录器(https://www.comet.com/site/)。 Comet是一种实验跟踪工具,帮助机器学习团队跟踪、调试、比较和复现他们的模型训练运行。

有关Comet期望的参数的更多信息,请参阅 https://www.comet.com/docs/v2/guides/experiment-management/configure-sdk/#for-the-experiment

Parameters:
  • api_key (可选[str]) – Comet API 密钥。建议使用 comet login 配置 API 密钥。

  • workspace (可选[str]) – Comet 工作区名称。如果未提供,则使用默认工作区。

  • 项目 (可选[str]) – Comet 项目名称。默认为未分类。

  • experiment_key (可选[str]) – 用于日志记录的comet实验的键。这用于将数据附加到现有实验或控制新实验的ID(例如以匹配另一个ID)。必须是一个长度在32到50个字符之间的字母数字字符串。

  • mode (可选[str]) –

    控制如何启动Comet实验。

    • "get_or_create": 如果需要,启动一个新的实验,或者继续记录到现有的实验。

    • "get": 继续记录到由experiment_key值标识的现有实验。

    • "create": 总是创建一个新的实验,适用于HPO扫描。

  • 在线 (可选[bool]) – 如果为True,数据将被记录到Comet服务器,否则它将存储在本地 在一个离线实验中。默认是 True

  • experiment_name (可选[str]) – 实验的名称。如果未提供,Comet 将自动生成一个名称。

  • 标签 (可选[列表[str]]) – 与实验关联的标签。

  • log_code (bool) – 是否记录源代码。默认为 True。

  • **kwargs (Dict[str, Any]) – 传递给 comet_ml.start 的额外参数。参见 https://www.comet.com/docs/v2/api-and-sdk/python-sdk/reference/Experiment-Creation/#comet_ml.ExperimentConfig

示例

>>> from torchtune.training.metric_logging import CometLogger
>>> logger = CometLogger(project_name="my_project", workspace="my_workspace")
>>> logger.log("my_metric", 1.0, 1)
>>> logger.log_dict({"my_metric": 1.0}, 1)
>>> logger.close()
Raises:

ImportError – 如果未安装 comet_ml 包。

注意

此记录器需要安装comet_ml包。 您可以使用pip install comet_ml进行安装。 在使用此记录器之前,您需要设置您的Comet.ml API密钥。 您可以通过在终端中调用comet login来完成此操作。 您也可以将其设置为COMET_API_KEY环境变量。

close() None[source]

关闭日志资源,必要时进行刷新。 调用close后不应再写入日志。

log(name: str, data: Union[Tensor, ndarray, int, float], step: int) None[source]

记录标量数据。

Parameters:
  • name (str) – 用于分组标量的标签名称

  • data (Scalar) – 要记录的标量数据

  • step (int) – 要记录的步长值

log_config(config: DictConfig) None[source]

记录配置

Parameters:

config (DictConfig) – 要记录的配置

log_dict(payload: Mapping[str, Union[Tensor, ndarray, int, float]], step: int) None[source]

记录多个标量值。

Parameters:
  • payload (Mapping[str, Scalar]) – 标签名称和标量值的字典

  • step (int) – 记录步长值