Shortcuts

TorchEval

一个库,提供简单直接的工具用于模型评估,并提供愉快的用户体验。从高层次来看,TorchEval:

  1. 包含了一系列高性能的指标计算,开箱即用。我们尽可能通过PyTorch利用向量化和GPU加速。

  2. 与使用torch.distributed的分布式训练和工具无缝集成

  3. 设计时考虑了可扩展性:您可以自由地轻松创建自己的指标并利用我们的工具包。

  4. 提供用于分析基于PyTorch模型的内存和计算需求的工具。

快速开始

安装

TorchEval 可以通过 PyPi 安装

pip install torcheval

或从github

git clone https://github.com/pytorch/torcheval
cd torcheval
pip install -r requirements.txt
python setup.py install

用法

TorchEval 为每个指标提供了两个接口。如果您在单进程环境中工作,最简单的方法是使用 functional 子模块中的指标。这些可以在 torcheval.metrics.functional 中找到。

from torcheval.metrics.functional import binary_f1_score
predictions = model(inputs)
f1_score = binary_f1_score(predictions, targets)

我们可以在基于类的路由中使用相同的指标,它提供了在多进程设置中简化计算的工具。在单个设备上,您可以按如下方式使用基于类的指标:

from torcheval.metrics import BinaryF1Score
predictions = model(inputs)
metric = BinaryF1Score()
metric.update(predictions, targets)
f1_score = metric.compute()

在多进程环境中,来自每个进程的数据必须同步以计算整个数据集的指标。为此,只需将metric.compute()替换为sync_and_compute(metric)

from torcheval.metrics import BinaryF1Score
from torcheval.metrics.toolkit import sync_and_compute
predictions = model(inputs)
metric = BinaryF1Score()
metric.update(predictions, targets)
f1_score = sync_and_compute(metric)

了解更多关于分布式示例中基于类的方法。

进一步阅读

  • 查看解释计算示例的指南

  • 查看分布式示例

  • 查看如何创建自己的指标

索引和表格

TorchEval 教程

TorchEval API