查看原文
其他

“Jupyter的杀手”:Netflix发布新开发工具Polynote

CSDN App AI科技大本营 2019-11-27


作者 | Michael Li

译者 | Rosie

编辑 | Jane

出品 | AI科技大本营(ID:rgznai100)


【导读】10 月 29 日,Netflix 公开了他们内部开发的 Polynote。现如今,大型高科技公司公开其内部的工具或服务,然后受到业界欢迎并被采用的情况屡见不鲜。Amazon 的 AWS,Facebook 的 React.js 就是其中两个。这些大型高科技公司拥有业内最好的工程师,而且在开发中往往会面临巨大的挑战,这些挑战将催化优秀工具的诞生,Netflix 的 Polynote 就是其中的一员。数据科学或者机器学习行业需要更好的工具来编写代码,进行实验算法和可视化数据,Polynote 就是这些人的福利。



Polynote 更像一个简版的 IDE 而非加强版的 REPL

 

 
Polynote 致力于使 notebook 工作起来更像 IDE 或像 VS Code 这样的代码编辑器。它支持更好的代码自动填充功能,整理功能,富文本编辑器和 LaTex 支持。更好的语法突出显示和代码自动填充功能看上去微不足道,但是这些小的改进却会一直伴随着您的开发,并使您更加专注于实际的任务。此外,大多数编辑功能都由 Monaco 编辑器提供支持,该编辑器为 Visual Studio Code 的体验提供了良好的支持,这展现了它巨大的潜力。

多语言支持


当前,Polynote 仅支持 Python,Scala 和 SQL。您可能会说 Jupyter Notebook 也支持 Python,R 和 Julia 。但是它们支持多语言的方式却有所不同。对于 Jupyter Notebook 而言,您只能为一个 notebook 选择一种语言。而 Polynote 却可以在一个 notebook 中无缝支持所有语言。Polynote 通过在单元之间共享变量来实现这一功能,因此不同语言的单元可以在同一上下文中工作。不用说,这具有非常强大的潜力。通过多语言的支持,熟练的数据科学家可以使用最佳语言来完成正确的任务。该功能不仅提高了技术能力,也同时提高了性能标准。

数据可视化和数据洞察

 
在 Polynote 中,数据可视化是内置的。这意味着开发人员无需编写任何代码就能可视化其数据,他们只需使用 GUI 界面就可以用相应方式来查看数据。不仅如此,开发人员无需输入任何代码就可以查看变量的值,变量直接可以通过 GUI 进行显示。此外,当运行代码时,屏幕右侧会有一个进度窗口,使得我们可以了解代码当前的运行进度。
 
 
将所有这些都将加在一起,我们能够获得更好的数据直觉。


环境配置和依赖管理

 
过去,您必须运行以下命令:
! pip install packages
 
现在,您只需指定要使代码运行所需的依赖项,Polynote 就会为您进行相关设置。这将减少代码的混乱程度。 
 

 

可重复性代码

 
简而言之,Polynote 并未使用旧的 REPL 模型执行代码, 它使用自己的代码解释器。最大的区别是:对于使用 REPL 的 Jupyter Notebook,您可以安全地执行单元,而不必按其写入顺序执行。您可以先执行单元 3,然后执行单元 2,最后执行单元 1。这一切都取决于您。这带来了灵活性,但却降低了 notebook 的可共享性。Polynote 处理单元执行的方式有所不同:
 
通过跟踪每个单元中定义的变量,Polynote 会根据在其上方运行的单元来构造给定单元的输入状态。因此,单元格的位置在 Polynote 的执行语义中很重要,从而使用户可以从上至下地阅读 notebook 。
 
这种感觉似乎更像是在编写脚本而不是 notebook。我们在编写时需要更加注意,从而确保一切井井有条。但是,我们却可以获得一致的代码结果和更好的可共享性。如下图所示。


总结

 
我们期待工业界对 Polynote 采取何种态度,但可以肯定的是,Polynote 所显示出潜力会让工业界做出一些明智的决定。例如,像 GCP,AWS 或 Azure 这样的大型云平台是否会采用它。这非常重要,因为如果没有这些云平台的支持,依靠云平台进行研究或实验的人们将无法访问 Polynote,从而将无法使用它。
 

(*本文为 AI科技大本营编译文章,转载请微信联系 1092722531



精彩推荐



2019 中国大数据技术大会(BDTC)再度来袭!豪华主席阵容及百位技术专家齐聚,15 场精选专题技术和行业论坛,超强干货+技术剖析+行业实践立体解读,深入解析热门技术在行业中的实践落地。5 折票倒计时 4 天!


推荐阅读


你点的每个“在看”,我都认真当成了AI

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存