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

 

640?wx_fmt=jpeg

作者 | Michael Li

译者 | Rosie

编辑 | Jane

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

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

640?wx_fmt=png

640?wx_fmt=png

 

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

 

640?wx_fmt=png

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

 

640?wx_fmt=png

 

多语言支持

 

640?wx_fmt=gif

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

 

640?wx_fmt=png

 

数据可视化和数据洞察

 

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

640?wx_fmt=gif

将所有这些都将加在一起,我们能够获得更好的数据直觉。

 

640?wx_fmt=png

 

环境配置和依赖管理

 

过去,您必须运行以下命令:

 ! pip install packages

现在,您只需指定要使代码运行所需的依赖项,Polynote 就会为您进行相关设置。这将减少代码的混乱程度。 

640?wx_fmt=png

 

 

640?wx_fmt=png

 

可重复性代码

 

简而言之,Polynote 并未使用旧的 REPL 模型执行代码, 它使用自己的代码解释器。最大的区别是:对于使用 REPL 的 Jupyter Notebook,您可以安全地执行单元,而不必按其写入顺序执行。您可以先执行单元 3,然后执行单元 2,最后执行单元 1。这一切都取决于您。这带来了灵活性,但却降低了 notebook 的可共享性。Polynote 处理单元执行的方式有所不同:

通过跟踪每个单元中定义的变量,Polynote 会根据在其上方运行的单元来构造给定单元的输入状态。因此,单元格的位置在 Polynote 的执行语义中很重要,从而使用户可以从上至下地阅读 notebook 。

这种感觉似乎更像是在编写脚本而不是 notebook。我们在编写时需要更加注意,从而确保一切井井有条。但是,我们却可以获得一致的代码结果和更好的可共享性。如下图所示。

640?wx_fmt=gif

 

640?wx_fmt=png

 

总结

 

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

©️2020 CSDN 皮肤主题: 代码科技 设计师: Amelia_0503 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值