还在用Tensorboard?机器学习实验管理平台大盘点
文 | SisyphusBJ
源 | Pytorch Lightning
wandb.ai
comet.ml
neptune.ai
allegro trains
mlflow
guild.ai
sacred
test-tube
tensorboard
相信很多同学看到上面这个列表的第一印象是懵的。我们先看下机器学习实验管理平台 到底是做神马滴:
一句话概括就是:,以下来自 comet.ml 对自己的说明:
allowing data scientists and teams to track, compare, explain, and optimize experiments and models.
接下来我们逐个盘点下当前市面上做机器学习实验管理平台的玩家。
先看两个用的比较多但功能相对单薄的两个工具:
一个是Tensorboard,包括用于 Pytorch 的 TensorboardX(https://github.com/lanpa/tensorboardX) ,Tensorboard 本身被设计成插件化的方式,好处是轻量、轻耦合,可以按需要很快的自定义一个新的 tab,这种方式的缺点是缺少一个用户整体的视图,用户很难在宏观视角上对整个训练流程有一个比较清楚的认识。
出的比较早,格式通用
虽然是跟 Tnesorflow 出的,但并不仅限于 Tensorflow
实验全流程记录
报表和跟其他系统的兼容性比较好,因为出的早?...
2. 另一个是来自 Pytorch Lightning 的 test-tube, 后者可以算是 PL(Pytorch Lightning) 自己的一个 logger 优化工具,也放在这里一并比较了吧,有兴趣的同学可以去:PL(Pytorch Lightning: https://github.com/PyTorchLightning/pytorch-lightning) 查看细节。接下来看下主要的 SAAS 玩家,当然,基本上每家都同时提供 self-host 方式可选择,毕竟 SAAS 号称主要是卖服务的。
首先当然是 comet.ml,主要的功能如下 :
假设你手头同时有十几个、几十上百个实验要做,那么 comet 或者其他这些工具会必不可少
团队协作,把几个可能的方向分给其他同学,实验过程、结果分享
comet 兼容目前主流的 tensorflow、pytorch、keras、chainer 等等框架
comet 支持你针对同一个实验里的不同超参数进行比较,找出关键点
comet 支持保存实验所用数据、上下文信息、代码等等
各种类型的数据可视化
懒,不想自己部署实验管理工具。当然这里你可以找下 IT 组的同学,看他们能否帮你搭建一套开源的类 comet 的系统。
2. 接下来是 neptune.ai, 这个就很有趣了,但从名字上看,comet 是彗星,neptune 是海王星,从 neptune 的官方 blog 上看起来也大有针对 comet 的意思... 停止八卦,下面看主要功能简介:
首先 neptune.ai 的定位是一个“实验管理和协作工具”(Neptune is an experiment management and collaboration tool)。
当然,也是 frame-agnostic 的。
neptune 支持实验数据、模型、代码等相关数据的存储、获取、共享操作
neptune 在团队协作上据说更有效率一些
neptune 支持通过 notebook、python script 等方式触发的训练过程记录,当然,默认其实也就只记录一下你的主要损失函数 loss 值和 epoch 这种,真要做到细致能指导自己实验思路的,还是得花心思在配置代码上面。
最后,neptune 的 client 端 code 跟 wandb/comet 比写的是最简练的(个人喜好)。
3. 然后是 wandb.ai,wandb 就是 Weights & Biases, 谜底就在谜面上名字起的有点意思,功能也不错:
Reports 功能很有特点,基本上就是把你的实验整理成一个 blog 文档,你做的什么实验、怎么做的、选的那些参数为什么这么选,都可以有个记录,形成文档之后可以把相关的实验附上去,请团队的人或者其他感兴趣的人一起来探讨,隐隐有点社区的意思,赞!
其他功能中规中矩,基本上 cover 了上面提到的几个基本功能
用户和团队管理,数据和实验过程分享
UI 挺简洁,跟其他产品的兼容性也不错,毕竟是半开源,因为他的 server 端提供的也是 docker 镜像。
4. 最后是 guild.ai
终端的 client 程序做的挺用心
文档写的比较简洁
其它基本跟上面三个一样,to run, track, and compare experiments.
通用性更好一些据说,对模型实现语言、framework 中立
方便重现效果
对其他系统兼容性佳
以上是几个主要的 SAAS 玩家,下面说一下开源的几个选手:
allegro trains ,其实产品名字叫 Trains 是 allegro.ai 出的,是这几个产品中唯一一个客户端、服务端都开源的产品,基于 Apache 2.0 协议开源,限制比较小,企业部署的话可以考虑一下
服务端也开源,有兴趣自己折腾的企业可以优先考虑内网部署一下
web 端风格比较贴近前端主流风
功能跟其他 saas 基本没什么大的出入
这家的思路基本是反 saas,嗯,这点也挺有意思
2. sacred
单机版,没有团队分享功能
但好处是兼容了几个其他的 frontend,比如 neptune 就可以用作接受 sacred 发过来的数据。其他还有 Omniboard
3. mlflow, Databrick 出品,没错就是 Spark 家那个,功能上跟其他项目比也没有他多的出入:
实验跟踪和记录
项目管理
模型管理
以上这两个从产品上基本上都囊括在上面介绍的几个里面了,这里就不再深入展开,如有需要请自行去 github 上查看。
后台回复关键词【入群】
加入卖萌屋NLP/IR/Rec与求职讨论群
有顶会审稿人、大厂研究员、知乎大V和妹纸
等你来撩哦~
还在用Tensorboard?机器学习实验管理平台大盘点相关推荐
- 机器学习模型管理平台_如何管理机器学习模型
机器学习模型管理平台 Michael Berthold是KNIME的创始人兼首席执行官. 在当今快节奏的分析开发环境中,数据科学家通常承担的任务远不只是建立机器学习模型并将其部署到生产中. 现在,他们 ...
- 企业机器学习可视化管理平台在信息 化项目管理中的实践研究——以某政务数据治理项目为例-4
题目:企业机器学习可视化管理平台在信息 化项目管理中的实践研究--以某政务数据治理项目为例 文献引用:[1]王凯.企业机器学习可视化管理平台在信息化项目管理中的实践研究[D].昆明理工大学,2021 ...
- 云队友丨人生的管理,就是目标的管理——管理工具大盘点
商业洞察 丨 作者 / 刘润 整理 / 蕉皮 快年底了,回忆一下,今年最重要的三个目标是什么?制定的对吗?如何管理? 我从床上蹦起来,一再问自己这些问题,甚至打印下来贴在随处可见的地方,在随手翻看的手 ...
- 工业互联网平台大盘点
据e-works粗略统计,能提供工业互联网平台服务的国内外厂商超过100家,像GE.西门子.PTC.树根互联.航天云网.海尔COSMO.美云智数等这些耳熟能详且能直接说出名字的工业互联网厂商至少50家 ...
- 测试团队都在用哪些不错的测试用例管理平台?盘点6大主流测试管理系统
测试团队使用的主流测试用例管理平台:1.PingCode :2.TestRail:3.Testlink:4.Zephyr+Jira:5.TestCenter:6.飞蛾. 目前市面上的测试用例管理工具有 ...
- # 北京市职业技能提升管理平台#大数据#
大数据 单选题 1.大数据分析的目的是从类型多样的海量数据中挖掘出隐藏的有价值的信息----正确 2.数据挖掘在建立模型时需要选择算法,一个模型只能使用一种算法----正确 3.众数不受分布数列的极大 ...
- 怎样做小程序最省钱,小程序开发平台大盘点
自从小程序的概念提出以来,这个"即用即走.触手可得"的手机应用逐渐被人们接受.熟悉.乃至追捧.而这一现象也为许多创业者提供了机会,大大小小的围绕小程序业态的服务型公司越来越多,而其 ...
- 服装连锁店铺管理软件大盘点!秦丝、日进斗金、商陆花谁更强?
很多老板都在挑选软件管理店铺这方面有疑问,一是不知道是否有使用软件的必要,二是不知道挑选管店软件有什么技巧,三是不知道市面上那些很出名的服装连锁店铺管理软件有什么区别. 本篇小编就从这三个问题出发,为 ...
- 国外物联网平台大盘点
本文是对马智撰写的<国外物联网平台初探>系列文章的整理. 作者:马智.北京资信物联科技有限公司联合创始人兼研发总监. 责编:贾维娣.关注物联网领域,寻求报道或投稿请邮件联系 jiawd@c ...
最新文章
- 源码安装python
- intellij中的required和found各指什么
- 云原生的本质_云原生是什么 云原生技术有何作用
- Net设计模式实例之中介者模式(Mediator Pattern)
- Unity Shader:雾的数学运算以及在Unity中使用Fog
- sql server 性能_SQL Server性能基础
- PAT (Basic Level) Practice1008 数组元素循环右移问题
- python3.8安装matplotlib_图文详解python之matplotlib安装与报错解决办法
- mysql-世界-全球数据
- stylus 设置全局样式_vue 公共样式处理_全局styl文件
- Firefox主页被360篡改该怎么办
- OutMan——C语言中的冒泡排序、选择排序、折半查找以及指针的介绍
- BDTC 2017 | 聚焦AI,十位资深专家分享金融大数据最佳实践
- 权限管理AppOps
- saas模式人力资源管理系统
- Mac OS 系统瘦身 - xcode 清理
- 如何读写一篇优秀的计算机论文
- SOLID原则的含义和具体使用
- Failed to execute tools\android.bat:分分钟解决!网上千篇一律,解决不了?看看这篇!
- 运行tomcat7w.exe tomcat7.exe ,提示 指定的服务未安装 unable to open the service 'tomcat7'
热门文章
- PAT (Basic Level) Practise 1045 快速排序(离散化+主席树区间内的区间求和)
- [POJ3252]Round Number(数位dp)
- CSS浏览器兼容性----Hack
- oci mysql_Oracle常用的OCI函数
- 语言与golang语言运行速度_Golang语言情怀第13期 Go 语言设计模式 介绍
- 线性链表java实现_java实现线性单链表
- win7分区软件_神奇的工作室win7旗舰版重装系统连不上网怎么解决
- 检测范围_论文检测系统的检测范围有哪些
- Chapter7-10_Deep Learning for Question Answering (1/2)
- LeetCode 2080. 区间内查询数字的频率(哈希+二分查找)