“Jupyter的杀手”:Netflix发布新开发工具Polynot
作者 | 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,从而将无法使用它。
“Jupyter的杀手”:Netflix发布新开发工具Polynot相关推荐
- “Jupyter的杀手”:Netflix发布新开发工具Polynote
作者 | Michael Li 译者 | Rosie 编辑 | Jane 出品 | AI科技大本营(ID:rgznai100) [导读]10 月 29 日,Netflix 公开了他们内部开发的 Pol ...
- Windows phone 7新开发工具发布
春节假期已经接近尾声. 马上第一个工作日就要来临. 春节真的不再是一个简简单单的节日. 有时让人感到欣喜 这意味这一年的忙碌都会因为这个节日的到来而画上一个终止符.面临一个不长也不短的假期.眼下的一年 ...
- Windows Phone 7新开发工具发布
近日,Windows phone 7 开发团队发布新的开发者工具Developer Tool,可以在Windows phone 7团队Blog看到更新相关链接:Windows Phone Develo ...
- 谷歌云mysql_面向开发者 谷歌云发布新数据库工具
原标题:面向开发者,谷歌云发布新数据库工具 2月1日消息,据外媒报道,谷歌于今日发布了两种新工具,一种是名为Cloud SQL Insights的云服务,另一种是开源软件库. 对此,谷歌云称,开发人员 ...
- 【开源要闻】Canonical发布新OpenStack工具、Kubernetes访客引导方法
Canonical发布支持CephFS的OpenStack Charms 20.02 Canonical近日宣布了OpenStack Charms 20.02的全面上市,这是用于在Ubuntu上设计, ...
- android 新开发工具,Android开发人员必备的10个开发工具
Android SDK 本身包含很多帮助开发人员设计.开发.测试和发布 Android 应用的工具,在本文中,我们将讨论 10 个最常用的工具. 1. Eclipse ADT Eclipse ADT ...
- 谷歌高效开发的秘密:来自谷歌前员工的软件开发工具指南
点击上方 "程序员小乐"关注, 星标或置顶一起成长 后台回复"大礼包"有惊喜礼包! 关注订阅号「程序员小乐」,收看更多精彩内容 每日英文 Smile, Beca ...
- AI创业公司最佳「开发工具」指南火了,还发现了个可挑战Jupyter的「杀手」
白交 发自 凹非寺 量子位 报道 | 公众号 QbitAI 一份AI创业公司最佳「开发工具」指南,火了. Reddit上,一份来自41家创业公司的调研答案,热度已达471. 除了比较流行的开发环境J ...
- Uber发布了Ludwig,一款不使用代码的人工智能开发工具
https://www.toutiao.com/a6656914295118365187/ 2019-02-12 09:07:20 Kyle Wiggers@Kyle_l_Wiggers 2019年2 ...
最新文章
- “计算社会科学数据平台”在清华大学发布(附账号申请链接)
- 干货丨计算机视觉必读:图像分类、定位、检测,语义分割和实例分割方法梳理(经典长文,值得收藏)
- python没基础可以学吗-终于认识没有基础怎么学python
- ZOJ 2760 How Many Shortest Path (不相交的最短路径个数)
- [bzoj1547]周末晚会
- word List 24
- 一文看懂5G射频的“黑科技”
- python库安装错误 in _error_catcher解决之镜像安装
- jmeter中CSV Data Set Config的使用
- Hadoop Yarn事件处理框架源码分析
- JIT编译对比AOT编译(附图片)
- Office Tool Plus v8.2.4.0 安装Office组件小工具
- (SQL)使用Excel连接数据库
- 小鹏G3/G3i/P7/P5维修手册电路图用户手册维修诊断拆装技术资料
- 左撇子的成长指南:我是左撇子.TXT
- 八数码 (Astar)
- JavaScript实现富文本编辑器
- 干货丨绝地求生—PUBG游戏模型合集
- vue3 + router-view + keepalive parentComponent.ctx.deactivate is not a function
- 宏的本质以及宏(包括函数式宏) 没有返回值概念
热门文章
- WinCE OAL中的RAM定制函数
- 【手把手带你入门深度学习之150行代码的汉字识别系统】学习笔记 ·001 用OpenCV制作数据集
- 《SQL高级应用和数据仓库基础(MySQL版)》学习笔记 ·009【多表连接查询】
- Pytorch 保存中途训练的模型
- 计算机教学软件cai,计算机毕业论文cai教学软件中数据的分割
- 机器人布罩_机器人防护罩案例分析
- vue 左侧菜单隐藏_vue.js 左侧二级菜单显示与隐藏切换的实例代码?
- keras文件存放的目录
- Flutter进阶—网络与本地异步加载资源
- 2021-2025年中国伊维菌素原料药行业市场供需与战略研究报告