机器学习免费跑分神器:集成各大数据集,连接GitHub就能用,还能验证论文结果
栗子 鱼羊 发自 凹非寺
量子位 报道 | 公众号 QbitAI
搞机器学习的小伙伴们,免不了要在各种数据集上,给AI模型跑分。
现在,Papers with Code (那个以论文搜代码的神器) 团队,推出了自动跑分服务,名叫sotabench,以跑遍所有开源模型为己任。
有了它,不用上传代码,只要连接GitHub项目,就有云端GPU帮你跑分;每次提交了新的commit,系统又会自动更新跑分。还有世界排行榜,可以观察各路强手的成绩。
除了支持各大主流数据集,还支持用户上传自己的数据集。
也可以看看,别人的论文结果,到底靠谱不靠谱。
比如说,fork一下Facebook的FixRes这个项目,配置一下评估文件:
然后一键关联,让Sotabench的GPU跑一下ImageNet的图像分类测试。
就能得到这样的结果:
Top-1准确率,Top-5准确率,跟论文的结果有何差距(见注),运行速度,全球排名,全部一目了然。
注:ε-REPR,结果与论文结果差距在0.3%以内时打勾,差距≥0.3%且比论文结果差显示为红叉,比论文结果好显示为勾+
这个免费的跑分神器,发布一天,便受到热烈欢迎:推特点赞600+,Reddit热度270+。
网友纷纷表示:这对开发者社区来说太有用了!
那么,先来看一下sotabench的功能和用法吧。
用法简单,海纳百川
团队说,sotabench就是Papers with Code的双胞胎姐妹:
Papers with Code大家很熟悉了,它观察的是论文报告的跑分。可以用来寻找高分模型对应的代码,是个造福人类的工具。
与之互补,sotabench观察的是开源项目,代码实际运行的结果。可以测试自己的模型,也能验证别家的模型,是不是真有论文说的那么强。
它支持跟其他模型的对比,支持查看速度和准确率的取舍情况。
那么,sotabench怎么用?简单,只要两步。
第一步,先在本地评估一下模型:
在GitHub项目的根目录里,创建一个sotabench.py文件。里面可以包含:加载、处理数据集和从中得出预测所需的逻辑。每提交一个commit,这个文件都会运行。
然后,用个开源的基准测试库来跑你的模型。
这个库可以是sotabench-eval,这个库不问框架,里面有ImageNet等等数据集;也可以是torchbench,这是个PyTorch库,和PyTorch数据集加载器搭配食用更简单。
一旦成功跑起来,就可以进入下一步。
第二步,连接GitHub项目,sotabench会帮你跑:
点击这个按钮,连到你的GitHub账号,各种项目就显现了。选择你要测试的那个项目来连接。
连好之后,系统会自动测试你的master,然后记录官方结果,一切都是跑在云端GPU上。
测试环境是根据requirement.txt文件设置的,所以要把这个文件加进repo,让系统捕捉到你用的依赖项。
从此,每当你提交一次commit,系统都会帮你重新跑分,来确保分数是最新的,也确保更新的模型依然再工作。
这样一来,模型出了bug,也能及时知晓。
如果要跑别人家的模型,fork到自己那里就好啦。
目前,sotabench已经支持了一些主流数据集:
列表还在持续更新中,团队也在盛情邀请各路豪杰,一同充实benchmark大家庭。
既支持创建一个新的benchmark,也支持为现有benchmark添加新的实现。
你可以给sotabench-eval或torchbench项目提交PR,也可以直接创建新的Python包。
一旦准备就绪,就在sotabench官网的论坛上,发布新话题,团队会把你的benchmark加进去的:
好评如潮
这样的一项服务推出,网友们纷纷点赞,好评如潮,推特点赞600+。
有网友表示:
太棒了!对刚入门的新手来说,数据集获取、预处理和评估的自动化和标准化很有用。
通过分析不同模型及其超参数结果,来评估这些模型,本身是挺困难的一件事,你得在各种论文中查阅大量的非结构化数据。有了这个,这件事就轻松多了。(部分意译)
许多网友对这个项目进行了友好的探讨及建议,而开发人员也在线积极回应。
比如这位网友建议:能在每次提交的时候报告模型的超参数吗?
作者很快回复说:英雄所见略同。下次更新就加上!
并且,他们还考虑在将来的更新中,让使用者把链接添加到生成模型的训练参数中。
传送门
sotabench官网:
https://sotabench.com/
基准测试库通用版:
https://github.com/paperswithcode/sotabench-eval
基准测试库PyTorch版:
https://github.com/paperswithcode/torchbench
作者系网易新闻·网易号“各有态度”签约作者
— 完 —
量子位 QbitAI · 头条号签约作者
վ'ᴗ' ի 追踪AI技术和产品新动态
喜欢就点「好看」吧 !
推荐帖子
- 更改LCD后wince启动BIOS图片出现异常
- LCD更换后,由原来的320*240更改为640*480,BIOS启动的图片开始可以正常显示,但是当开始读NANDFLASH时图片下小半部分出现花屏,最后也可以正常启动。本以为是BIOS中汇编的START.S中设置有问题,以前也出现这种问题,当加入启动图片的时候将其中有一句cmpr8#256改成cmpr8#512,但是现在改成更大的还是同样的问题,请问为什么?缓存不够?更改LCD后wince启动BIOS图片出现异常估计是你读NANDFLASH的时候把LCD的BUFFER区给覆盖了
- zzwwjj WindowsCE
- 地弹的形成、危害及规避措施
- 地弹的形成:芯片内部的地和芯片外的PCB地平面之间不可避免的会有一个小电感。这个小电感正是地弹产生的根源,同时,地弹又是与芯片的负载情况密切相关的。下面结合图介绍一下地弹现象的形成。简单的构造如上图的一个小“场景”,芯片A为输出芯片,芯片B为接收芯片,输出端和输入端很近。输出芯片内部的CMOS等输入单元简单的等效为一个单刀双掷开关,RH和RL分别为高电平输出阻抗和低电平输出阻抗,均设为20欧。GNDA为芯片A内部的地。GNDPCB为芯片外PCB地平面。由于芯片内部的地要通过芯
- zjd01 PCB设计
- 程序员必须知道的10大基础实用算法及其讲解(转)
- 算法一:快速排序算法快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序n个项目要Ο(nlogn)次比较。在最坏状况下则需要Ο(n2)次比较,但这种状况并不常见。事实上,快速排序通常明显比其他Ο(nlogn)算法更快,因为它的内部循环(innerloop)可以在大部分的架构上很有效率地被实现出来。快速排序使用分治法(Divideandconquer)策略来把一个串行(list)分为两个子串行(sub-lists)。算法
- 白丁 综合技术交流
- 500分+现金酬谢 :GPRS拨号获得一个由移动随机分配的内部IP地址后怎么样向数据中心发起TCP或UDP通信请求从而握手成功?
- GPRS拨号获得一个由移动随机分配的内部IP地址后怎么样向数据中心发起TCP或UDP通信请求从而握手成功?只要能拨号成功,分数不是问题,少的可以再加!可以加我qq:284843368500分+现金酬谢:GPRS拨号获得一个由移动随机分配的内部IP地址后怎么样向数据中心发起TCP或UDP通信请求从而握手成功?看看你的数据手册和它的SDK,他应该有相关的API来实现这个功能。我记得Enfora,simcom的GPRS的模块就有.我也正在做这方面的开发,交流哈!shibj2039@msn
- belongto 嵌入式系统
- 使用IAR编写STM8S的IAP学习过程中碰到不少问题
- 之前既没有学过IAR,也没有玩过IAP,这次乘学习STM8的机会想把这两样都给学了,所以我选用IAR作为STM8的开发工具。初次尝试编写IAP,遇到许多问题,盼可以得到高手们的指点。1.使用AN2659里的代码修改后放在IAR里编译,有几条语句出现编译错误a.DataAddress=*(__farunsignedchar**)(&DataBuffer);Error:avalueoftypeunsignedchar__far*cannotbe
- xnmilo stm32/stm8
- 分享嵌入式计算机革命
- 回到2008年,Intel推出了其Atom系列处理器的第一代IntelAtom处理器Z500系列一种全新的、低功耗的嵌入式CPU概念,以此提供最佳运行性能。这一创新技术为全新市场铺展了道路,促使公司急切地追求开发能够利用这些处理器的能力的平台。SECO赛柯也开始着手开发,意识到这是研发新产品的机会,是以前从未做过的事情。于是,为计算机模块(COM)建立新标准的想法应运而生。1.开放标准的探索在创新精神与探索新技术的意愿的推动下,我们构思了一种新设计,将最大程度地发挥I
- SECO赛柯 ARM技术