Netflix开源Polynote框架,可简化数据科学和机器学习工作流程
2019年10月24日 由 KING 发表
740219
0
机器学习和数据科学开发并不是一件简单的事情,但是Netflix希望通过一个免费的新平台来简化繁琐的工作。这家科技巨头今天宣布已开源Polynote,这是一种多语言编程notebook环境,与Apache Spark集成,并为Scala、Python和SQL提供强大的支持。
Polynote旨在使数据科学家和AI研究人员将Netflix的机器学习框架与Python机器学习和可视化库相集成。现在,它可以从Polynote.org和GitHub免费获得。Netflix在一篇博客文章中说:“在Netflix基础架构团队中,我们的工作是通过构建可消除的痛点和使研究人员专注于研究新的工具来加速机器学习创新。Polynote优化了现有notebook工具的缺点,特别是在对Scala的支持方面。在Netflix,我们一直对与开源社区共享充满信心,并相信Polynote除了在满足Netflix之外在其它方面具有巨大的潜力。”
对于初学者,notebook执行是在特定时间和特定环境中运行的特定代码的记录。它是一个有序的单元格集合,每个单元格可以保存代码或文本,并可以独立进行修改和执行。可以重新排列,插入和删除单元格,它们通常取决于notebook电脑中其他单元格的输出。Polynote新颖的可重复性功能在执行之前考虑了单元格在notebook中的位置,有助于避免使notebook电脑难以重新运行的不良做法。此外,除了具有支持高质量LaTeX排版系统的富文本编辑器之外,它还具有类似于集成开发环境的功能,包括交互式自动完成和参数提示以及行内错误突出显示功能。
顾名思义,Polynote是一个多语言系统,这意味着notebook中的每个单元格都可以用不同的语言编写,并且它们之间可以共享变量。(内核或执行代码的计算引擎将可用的类型化输入值提供给单元格的语言解释器,语言解释器又将结果类型化的输出值提供回内核。)此外,Polynote还支持以保存在其中的配置和依赖项设置notebook本身,同时使用Matplotlib(Python 2D绘图库)和可视化语法Vega启用数据探索。Polynote中的符号表可让您深入了解notebook的内部状态,而单独的状态区域则显示有关内核执行状态的关键信息。方便的配置部分使用户可以为每个notebook设置依赖项,Polynote会自动在本地或从存储库中获取和加载依赖项。
Netflix写道:“未来还有许多激动人心的工作。我们对Polynote的潜力非常乐观,我们希望向社区学习,就像我们希望他们将从Polynote中获得价值一样。”