English | 简体中文
MMEval 是一个机器学习算法评测库,提供高效准确的分布式评测以及多种机器学习框架后端支持,具有以下特点:
- 提供丰富的计算机视觉各细分方向评测指标(自然语言处理方向的评测指标正在支持中)
- 支持多种分布式通信库,实现高效准确的分布式评测。
- 支持多种机器学习框架,根据输入自动分发对应实现。
支持的分布式通信后端
MPI4Py | torch.distributed | Horovod | paddle.distributed | oneflow.comm |
---|---|---|---|---|
MPI4PyDist | TorchCPUDist TorchCUDADist |
TFHorovodDist | PaddleDist | OneFlowDist |
支持的评测指标及机器学习框架
注:MMEval 在 PyTorch 1.6+,TensorFlow 2.4+, Paddle 2.2+ 和 OneFlow 0.8+ 测试通过。
评测指标 | numpy.ndarray | torch.Tensor | tensorflow.Tensor | paddle.Tensor | oneflow.Tensor |
---|---|---|---|---|---|
Accuracy | ✔ | ✔ | ✔ | ✔ | ✔ |
SingleLabelMetric | ✔ | ✔ | ✔ | ||
MultiLabelMetric | ✔ | ✔ | ✔ | ||
AveragePrecision | ✔ | ✔ | ✔ | ||
MeanIoU | ✔ | ✔ | ✔ | ✔ | ✔ |
VOCMeanAP | ✔ | ||||
OIDMeanAP | ✔ | ||||
COCODetection | ✔ | ||||
ProposalRecall | ✔ | ||||
F1Score | ✔ | ✔ | ✔ | ||
HmeanIoU | ✔ | ||||
PCKAccuracy | ✔ | ||||
MpiiPCKAccuracy | ✔ | ||||
JhmdbPCKAccuracy | ✔ | ||||
EndPointError | ✔ | ✔ | ✔ | ||
AVAMeanAP | ✔ | ||||
StructuralSimilarity | ✔ | ||||
SignalNoiseRatio | ✔ | ||||
PeakSignalNoiseRatio | ✔ | ||||
MeanAbsoluteError | ✔ | ||||
MeanSquaredError | ✔ |
MMEval 依赖 Python 3.6+,可以通过 pip 来安装 MMEval。安装 MMEval 的过程中会安装一些 MMEval 运行时的依赖库:
pip install mmeval
如果要安装 MMEval 中所有评测指标都需要的依赖,可以通过以下命令安装:
pip install 'mmeval[all]'
MMEval 中的评测指标提供两种使用方式,以 Accuracy
为例:
from mmeval import Accuracy
import numpy as np
accuracy = Accuracy()
第一种是直接调用实例化的 Accuracy 对象,计算评测指标:
labels = np.asarray([0, 1, 2, 3])
preds = np.asarray([0, 2, 1, 3])
accuracy(preds, labels)
# {'top1': 0.5}
第二种是累积多个批次的数据后,计算评测指标:
for i in range(10):
labels = np.random.randint(0, 4, size=(100, ))
predicts = np.random.randint(0, 4, size=(100, ))
accuracy.add(predicts, labels)
accuracy.compute()
# {'top1': ...}
- 持续添加更多评测指标,扩展更多任务领域(例如:NLP,语音等)。
- 支持更多机器学习框架,探索多机器学习框架支持模式。
我们感谢所有的贡献者为改进和提升 MMEval 所作出的努力。请参考贡献指南来了解参与项目贡献的相关指引。
该项目采用 Apache 2.0 license 开源许可证。
- MMEngine: OpenMMLab 深度学习模型训练基础库
- MIM: MIM 是 OpenMMLab 项目、算法、模型的统一入口
- MMCV: OpenMMLab 计算机视觉基础库
- MMClassification: OpenMMLab 图像分类工具箱
- MMDetection: OpenMMLab 目标检测工具箱
- MMDetection3D: OpenMMLab 新一代通用 3D 目标检测平台
- MMRotate: OpenMMLab 旋转框检测工具箱与测试基准
- MMYOLO: OpenMMLab YOLO 系列工具箱与测试基准
- MMSegmentation: OpenMMLab 语义分割工具箱
- MMOCR: OpenMMLab 全流程文字检测识别理解工具包
- MMPose: OpenMMLab 姿态估计工具箱
- MMHuman3D: OpenMMLab 人体参数化模型工具箱与测试基准
- MMSelfSup: OpenMMLab 自监督学习工具箱与测试基准
- MMRazor: OpenMMLab 模型压缩工具箱与测试基准
- MMFewShot: OpenMMLab 少样本学习工具箱与测试基准
- MMAction2: OpenMMLab 新一代视频理解工具箱
- MMTracking: OpenMMLab 一体化视频目标感知平台
- MMFlow: OpenMMLab 光流估计工具箱与测试基准
- MMEditing: OpenMMLab 图像视频编辑工具箱
- MMGeneration: OpenMMLab 图片视频生成模型工具箱
- MMDeploy: OpenMMLab 模型部署框架
扫描下方的二维码可关注 OpenMMLab 团队的 知乎官方账号,加入 OpenMMLab 团队的 官方交流 QQ 群,或通过添加微信“Open小喵Lab”加入官方交流微信群。
我们会在 OpenMMLab 社区为大家
- 📢 分享 AI 框架的前沿核心技术
- 💻 解读 PyTorch 常用模块源码
- 📰 发布 OpenMMLab 的相关新闻
- 🚀 介绍 OpenMMLab 开发的前沿算法
- 🏃 获取更高效的问题答疑和意见反馈
- 🔥 提供与各行各业开发者充分交流的平台
干货满满 📘,等你来撩 💗,OpenMMLab 社区期待您的加入 👬