在 GitHub 上编辑

Live.monitor_system()

DVCLive 可以跟踪并记录您的系统指标,以便在实验过程中查看硬件性能与限制。这些指标涵盖 CPU、RAM 和磁盘内存使用情况。如果您配备了 GPU,它还可以监控 GPU 使用情况。

def monitor_system(
    interval: float = 0.05,
    num_samples: int = 20,
    directories_to_monitor: Optional[Dict[str, str]] = None,
    ):

用法

要监控系统指标,您可以在 `Live` 中将 `monitor_system` 参数设置为 `True`:

from dvclive import Live

live = Live(monitor_system=True)

或指定其他参数以配置日志记录行为:

from dvclive import Live

live = Live()
live.monitor_system(
    interval = 0.01
    num_samples = 20,
    directories_to_monitor = {"data": "/data", "users": "/home"},
)

系统指标将实时显示在 DVC Studio 和我们的 VSCode 扩展 中。

描述

Live.monitor_system() 方法用于配置 `Live` 如何记录系统指标。如果您以 `monitor_system=True` 调用 `Live`,则会使用默认参数调用 Live.monitor_system()

`Live` 将以固定间隔采样系统指标,并对多个样本进行平均。平均后的数据将被 记录为指标

当您调用 live.end() 时,采样将终止。

参数

  • interval - 两次采样之间的间隔时间(秒)。为保持采样频率,允许的最大值为 0.1 秒,默认值为 0.05。

  • num_samples - 在聚合前收集的样本数量。取值范围应为 1 至 30,默认值为 20。

  • directories_to_monitor - 一个字典,包含需要监控的目录信息。`key` 为指标名称,`value` 为目录路径。所跟踪的指标是包含该目录的分区。默认值为 {"main": "/"}

异常

  • ValueError - 如果 directories_to_monitor 中的键包含 os.path.normpath 定义的无效字符

记录的指标列表

`Live` 会记录以下系统指标:

GPU 指标

如果您配备了 GPU,将记录以下指标:

  • system/gpu/count - 可用 GPU 的数量。此指标不会被绘图,因为在实验过程中预期不会变化。
  • system/gpu/usage (%)/<gpu_index> - GPU 的平均使用率(百分比)。
  • system/vram/usage (%)/<gpu_index> - 每个 GPU 的虚拟内存使用量,以 GPU 可用总虚拟内存的百分比表示。
  • system/vram/usage (GB)/<gpu_index> - 每个 GPU 的虚拟内存使用量,以吉字节(GB)表示。
  • system/vram/total (GB)/<gpu_index> - 每个 GPU 的总虚拟内存容量,以吉字节(GB)表示。

<gpu_index> 是 GPU 的索引。例如,system/gpu/usage (%)/0 跟踪第一个 GPU 的使用情况。

如果您的系统配备了 GPU,但 DVCLive 未跟踪这些指标,请检查您的 GPU 是否被 NVIDIA 支持,并确认已安装 NVIDIA 驱动程序。

CPU 指标

  • system/cpu/count - 可用 CPU 核心数。此指标不会被绘图,因为在实验过程中预期不会变化。
  • system/cpu/usage (%) - CPU 的平均使用率(百分比)。该指标为所有 CPU 核心的平均值。
  • system/cpu/parallelization (%) - 系统在 CPU 核心上的平均并行化率。该指标计算为已使用的 CPU 核心数与可用 CPU 核心总数的比率。若某个核心的活动度超过 20%,则被视为已使用。

RAM 指标

  • system/ram/usage (%) - RAM 使用率占总内存容量的百分比。
  • system/ram/usage (GB) - RAM 使用量(单位:吉字节)。
  • system/ram/total (GB) - 可用的总 RAM 容量(单位:吉字节)。该指标不绘图,因为在实验过程中预期不会发生变化。

磁盘指标

这些指标用于跟踪系统的磁盘空间。可通过 directories_to_monitor 参数指定要监控的目录。相关指标针对包含该目录的磁盘分区。

  • system/disk/usage (%)/<name> - 该分区已使用空间占总容量的百分比。
  • system/disk/usage (GB)/<name> - 该分区已使用空间(单位:吉字节)。
  • system/disk/total (GB)/<name> - 该分区的总可用空间(单位:吉字节)。该指标不绘图,因为在实验过程中预期不会发生变化。

<name> 是你在 directories_to_monitor 参数中指定的指标名称。默认名称为 main

内容

🐛 发现问题?告诉我们!或者修复它:

在 GitHub 上编辑

有疑问?加入我们的聊天,我们会为您提供帮助:

Discord 聊天