TorchEval¶
一个库,提供简单直接的工具用于模型评估,并提供愉快的用户体验。从高层次来看,TorchEval:
包含了一系列高性能的指标计算,开箱即用。我们尽可能通过PyTorch利用向量化和GPU加速。
与使用torch.distributed的分布式训练和工具无缝集成
设计时考虑了可扩展性:您可以自由地轻松创建自己的指标并利用我们的工具包。
提供用于分析基于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¶
内容: