MMEval正式支持OneFlow评测

1

MMEval 介绍

MMEval(github.com/open-mmlab/… 是一个跨结构的机器学习算法评测库,供给高效准确的分布式评测以及多种机器学习结构后端支撑,具有以下特色:

  • 供给丰富的计算机视觉各细分方向评测目标(自然语言处理方向的评测目标正在支撑中)

  • 支撑多种分布式通讯库,完结高效准确的分布式评测

  • 支撑多种机器学习结构,依据输入主动分发对应完结

MMEval 的架构如下图所示:

MMEval正式支持OneFlow评测

2

MMEval 支撑 OneFlow 评测

从 MMEval 0.2.0 起,开端支撑 OneFlow 的评测!现在现已为 7 个 Metric 适配支撑了 oneflow.Tensor 作为输入。它们分别是 Accuracy,SingleLabelMetric,MultiLabelMetric,AveragePrecision,MeanIoU,F1Metric 和 EndPointError。下面以 Accuracy 为例,展现 MMEval 对 OneFlow 的评测支撑。

首先需求装置 MMEval 和 OneFlow,咱们可以经过 pip 来进行装置:

pip install mmeval
pip install --pre oneflow -f https://staging.oneflow.info/branch/master/cu112

运用 oneflow.Tensor 作为 Accuracy 的输入:

import oneflow as flow
from mmeval import Accuracy
accuracy = Accuracy()
predicts = flow.Tensor([1, 2, 3, 4])
labels = flow.Tensor([3, 2, 1, 4])
results = accuracy(predicts, labels)
# {'top1': 0.5}

一起,MMEval 也添加了一个分布式通讯后端 OneFlowDist,以支撑 OneFlow 的分布式评测。可以运用以下两种方式来设置运用 OneFlowDist 分布式后端:

from mmeval.core import set_default_dist_backend
from mmeval import Accuracy
# 1. 设置大局默许分布式通讯后端
set_default_dist_backend('oneflow')
# 2. 初始化评测目标时候经过 `dist_backend` 传参
accuracy = Accuracy(dist_backend='oneflow')

以下是运用 MMEval 和 OneFlow 完结分布式评测的简略示例,下述代码将放置在 oneflow_dist_eval.py 中:

import oneflow as flow
from mmeval import Accuracy
# 初始化 Accuracy,指定运用的分布式通讯后端。
accuracy = Accuracy(dist_backend='oneflow')
for i in range(100):
    predicts = flow.randint(high=10, size=(10,))
    labels = flow.randint(high=10, size=(10,))
    # 每个进程每个 Batch 的数据都会调用 add 办法,报错目标计算中心成果。
    accuracy.add(predicts, labels)
# 调用 compute 办法,主动完结进程同步后计算准确率。
accuracy.compute()
# 清空保存的目标计算中心成果
accuracy.reset()

然后运用 OneFlow 中的 distributed 模块来启动上述代码,进行分布式评测:

python3 -m oneflow.distributed.launch \
    --nproc_per_node 4 \
    --master_port 1234 \
    oneflow_dist_eval.py

3

OpenMMLab X OneFlow

MMEval 评测库是 OpenMMLab 与 OneFlow 协作的起点,之后将在练习测进行更全面的协作,敬请期待!

MMEval正式支持OneFlow评测

OpenMMLab(github.com/open-mmlab)… 2018 年,是深度学习时代计算机视觉范畴最全面、最具影响力的开源算法体系。旨在为学术和产业界供给一个可跨方向、结构精巧、跨站性强、易复现的一致算法东西库。在 2021 年上海人工智能大会上,发布了新一代 OpenMMLab,其升级后涵盖了更广泛的算法范畴和使用场景,完结了从练习到布置的全链条价值。
现在,OpenMMLab 现已累计开源了超越 30 个算法库,涵盖分类、检测、切割、视频理解等很多算法范畴,有超越 300 种算法完结、2,400 多个预练习模型。在 GitHub 上获得超越 70,000 个标星,一起吸引了超越 1,500 名社区开发者参加项目奉献,用户遍及超越 110 个国家和地区,掩盖全国全球顶尖高校、研究机构和企业。

MMEval正式支持OneFlow评测

OneFlow(github.com/Oneflow-Inc… 分布式深度学习结构是基于对人工智能技术和使用发展需求的抢先数年的前瞻性思考,针对超大规模练习、分布式、异构等带来的挑战,选用全新的“静态编译+流式系统”架构,突破了主动并行、静态调度、去中心化和全链路异步流式履行四大要害核心技术和一系列立异性难题,不仅可以大幅提高硬件资源利用率,而且可以简略方便地完结基于异构集群练习任务的大规模分布式扩展,将系统整体功能提高到极致,从而下降练习成本,提高人工智能使用水平。

MMEval正式支持OneFlow评测

作为一款易用、高效、高扩展、自主研发的开源深度学习结构,OneFlow引领并代表了新一代深度学习结构的技术演进和产品迭代方向,获得了国内外高度关注和认可,也得到同行和友商的研究和跟随。

欢迎 Star、试用 OneFlow 最新版本:

github.com/Oneflow-Inc…