torch.monitor¶
警告
此模块是一个原型版本,其接口和功能可能会 更改,而不会发出警告。
torch.monitor
提供一个接口,用于记录事件和计数器
PyTorch 的 Torch 中。
stat 接口旨在用于跟踪 定期注销以用于监控系统性能。因为 具有特定窗口大小的统计信息聚合,您可以从中记录到它们 关键循环,但对性能影响最小。
对于更不常见的事件或值(例如损失、准确性、使用情况跟踪) event 接口可以直接使用。
可以注册事件处理程序来处理事件并将其传递给 外部事件接收器。
API 参考¶
-
类
torch.monitor.
Aggregation
¶ 这些是可用于累积统计数据的聚合类型。
成员:
- 价值:
VALUE 返回要添加的最后一个值。
- 意味 着:
MEAN 计算所有添加的值的算术平均值。
- 计数:
COUNT 返回添加值的总数。
- 和:
SUM 返回添加的值的总和。
- 麦克斯:
MAX 返回添加值的最大值。
- 最小值 :
MIN 返回添加值的最小值。
-
财产
name
¶
-
类
torch.monitor.
Stat
¶ 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
-
财产
count
¶ 当前已收集的数据点数。重 置 记录事件后。
-
get
(自我:torch._C._monitor。stat) → dict[torch._C._monitor.聚合、浮点数]¶ 返回 stat 的当前值,主要用于测试 目的。如果统计信息已记录,并且没有其他值 added this will be zero.
-
财产
name
¶ 在创建期间设置的统计信息的名称。
-
-
类
torch.monitor.
data_value_t
¶ data_value_t 是 、 、 、 之一。
str
float
int
bool
-
类
torch.monitor.
Event
¶ Event 表示要记录的特定类型事件。这可以表示 高级数据点,例如每个 epoch 或更多的损失或准确率 低级聚合,例如通过此 库。
所有相同类型的事件都应该具有相同的名称,以便下游 处理程序可以正确处理它们。
-
__init__
(自我:torch._C._monitor。事件,名称:str,时间戳:datetime.datetime,数据:Dict[str, data_value_t]) → 无¶ 构造 .
Event
-
财产
data
¶ 包含在 .
Event
-
财产
name
¶ 的名称 .
Event
-
财产
timestamp
¶ 发生时的时间戳。
Event
-
-
类
torch.monitor.
EventHandlerHandle
¶ EventHandlerHandle 是 返回的包装器类型,用于通过 .这不能直接初始化。
register_event_handler
unregister_event_handler
-
torch.monitor.
log_event
(事件:torch._C._monitor。事件) → 无¶ log_event将指定的事件记录到所有已注册的事件中 处理器。由事件处理程序将事件注销到 相应的 event sink 中。
如果未注册事件处理程序,则此方法为 no-op。
-
torch.monitor.
register_event_handler
(回调: Callable[[torch._C._monitor.Event], None]) → torch._C._monitor.EventHandlerHandle 事件处理程序¶ register_event_handler 会注册一个回调,每当 事件通过 记录。这些处理程序应避免阻塞 主线程,因为这可能会干扰他们运行时的训练 在通话期间。
log_event
log_event
-
torch.monitor.
unregister_event_handler
(handler: torch._C._monitor 的 Monitor。EventHandlerHandle) → None¶ unregister_event_handler 会注销返回的 调用 .After this 返回事件 handler 将不再接收事件。
EventHandlerHandle
register_event_handler
-
类(作家)[来源]
torch.monitor.
TensorboardEventHandler
¶ 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))