快捷方式

torcheval.metrics.Throughput

class torcheval.metrics.Throughput(*, device: device | None = None)

计算吞吐量值,即每秒处理的元素数量。

注意:在分布式环境中,建议使用 `world_size * metric.compute()` 来获得总吞吐量的近似值。而使用 `sync_and_compute(metric)` 则需要状态同步。此外,`sync_and_compute(metric)` 会给出与 `world_size * metric.compute()` 略微不同的值。

示例

>>> import time
>>> import torch
>>> from torcheval.metrics import Throughput
>>> metric = Throughput()
>>> items_processed = 64
>>> ts = time.monotonic()
>>> time.sleep(2.0)  # simulate executing the program for 2 seconds
>>> elapsed_time_sec = time.monotonic() - ts
>>> metric.update(items_processed, elapsed_time_sec)
>>> metric.compute()
tensor(32.)
__init__(*, device: device | None = None) None

初始化一个指标对象及其内部状态。

使用 `self._add_state()` 初始化指标类的状态变量。状态变量应为 `torch.Tensor`、`torch.Tensor` 列表、以 `torch.Tensor` 作为值的字典或 `torch.Tensor` 的双端队列。

方法

__init__(*[, device])

初始化一个指标对象及其内部状态。

compute()

实现此方法以从状态变量计算并返回最终指标值。

load_state_dict(state_dict[, strict])

从 state_dict 加载指标状态变量。

merge_state(metrics)

实现此方法以更新当前指标的状态变量,使其成为当前指标和输入指标的合并状态。

reset()

将指标状态变量重置为其默认值。

state_dict()

将指标状态变量保存到 state_dict 中。

to(device, *args, **kwargs)

将指标状态变量中的张量移动到设备上。

update(num_processed, elapsed_time_sec)

使用值和权重更新状态。

属性

device

最后输入的 `Metric.to()` 设备。

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取针对初学者和高级开发者的深入教程

查看教程

资源

查找开发资源并获得问题解答

查看资源