torch.monitor¶
警告
此模块是一个原型版本,其接口和功能可能会 更改,而不会发出警告。
torch.monitor
提供一个接口,用于记录事件和计数器
PyTorch 的 Torch 中。
stat 接口旨在用于跟踪 定期注销以用于监控系统性能。因为 具有特定窗口大小的统计信息聚合,您可以从中记录到它们 关键循环,但对性能影响最小。
对于更不常见的事件或值(例如损失、准确性、使用情况跟踪) event 接口可以直接使用。
可以注册事件处理程序来处理事件并将其传递给 外部事件接收器。
API 参考¶
- 类 torch.monitor 中。集合体¶
这些是可用于累积统计数据的聚合类型。
成员:
- 价值:
VALUE 返回要添加的最后一个值。
- 意味 着:
MEAN 计算所有添加的值的算术平均值。
- 计数:
COUNT 返回添加值的总数。
- 和:
SUM 返回添加的值的总和。
- 麦克斯:
MAX 返回添加值的最大值。
- 最小值 :
MIN 返回添加值的最小值。
- 属性名称¶
- 类 torch.monitor 中。统计¶
Stat 用于以高性能方式计算摘要统计数据 固定间隔。Stat 每 duration 将统计信息记录为 Event。当窗口关闭时,将记录统计数据 通过事件处理程序作为事件。
window_size
torch.monitor.Stat
window_size
应设置为相对较高的值,以避免 记录了大量事件。例如:60 年代。Stat 使用毫秒 精度。如果设置,则 stat 将限制每个 窗口通过丢弃 add 调用一次添加有 发生。如果未设置,则窗口期间的所有调用都将是 包括。这是一个可选字段,用于更直接地进行聚合 当样本数可能不同时,跨 Windows 具有可比性。
max_samples
max_samples
add
当 Stat 被销毁时,它将记录任何剩余数据,即使 窗口尚未过期。
- __init__(自我: torch._C._monitor.统计、名称:str、聚合:list[torch._C._monitor。Aggregation],window_size:datetime.timedelta,max_samples:int = 9223372036854775807) None ¶
构造 .
Stat
- add(self: torch._C._monitor) 的Stat, v: float) 无 ¶
根据 配置的 stat type 和聚合。
- 属性计数¶
当前已收集的数据点数。重 置 记录事件后。
- get(self: torch._C._monitor.统计) dict[torch._C._monitor.聚合,浮点数] ¶
返回 stat 的当前值,主要用于测试 目的。如果统计信息已记录,并且没有其他值 added this will be zero.
- 属性名称¶
在创建期间设置的统计信息的名称。
- 类 torch.monitor 中。data_value_t¶
data_value_t 是 、 、 、 之一。
str
float
int
bool
- 类 torch.monitor 中。事件¶
Event 表示要记录的特定类型事件。这可以表示 高级数据点,例如每个 epoch 或更多的损失或准确率 低级聚合,例如通过此 库。
所有相同类型的事件都应该具有相同的名称,以便下游 处理程序可以正确处理它们。
- __init__(自我: torch._C._monitor.事件,名称:str,时间戳:datetime.datetime,数据:dict[str, data_value_t]) 无 ¶
构造 .
Event
- 属性数据¶
包含在 .
Event
- 属性名称¶
的名称 .
Event
- 属性时间戳¶
发生时的时间戳。
Event
- 类 torch.monitor 中。EventHandlerHandle 事件处理程序¶
EventHandlerHandle 是 返回的包装器类型,用于通过 .这不能直接初始化。
register_event_handler
unregister_event_handler
- torch.monitor 的log_event(事件:torch._C._monitor.Event) None ¶
log_event将指定的事件记录到所有已注册的事件中 处理器。由事件处理程序将事件注销到 相应的 event sink 中。
如果未注册事件处理程序,则此方法为 no-op。
- torch.monitor 的register_event_handler(callback: Callable[[torch._C._monitor.Event], None]) torch._C._monitor.EventHandlerHandle 事件处理程序 ¶
register_event_handler 会注册一个回调,每当 事件通过 记录。这些处理程序应避免阻塞 主线程,因为这可能会干扰他们运行时的训练 在通话期间。
log_event
log_event
- torch.monitor 的unregister_event_handler(处理程序:torch._C._monitor.EventHandlerHandle) None ¶
unregister_event_handler 会注销返回的 调用 .After this 返回事件 handler 将不再接收事件。
EventHandlerHandle
register_event_handler
- 类 torch.monitor 中。TensorboardEventHandler(writer)[来源]¶
TensorboardEventHandler 是一个事件处理程序,它将已知事件写入 提供的 SummaryWriter。
这目前仅支持记录的事件 作为标量。
torch.monitor.Stat
例
>>> from torch.utils.tensorboard import SummaryWriter >>> from torch.monitor import TensorboardEventHandler, register_event_handler >>> writer = SummaryWriter("log_dir") >>> register_event_handler(TensorboardEventHandler(writer))