11

挑战Jupyter Notebook:云协作、云硬件,上云的Notebook编程环境

 4 years ago
source link: https://www.jiqizhixin.com/articles/2020-03-24-11
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

U3uyMbE.png!web

Deepnote 官方网站:https://www.deepnote.com/

如果你是像我一样的数据科学家,你可能会在工程项目而不是真正的研究上花很多时间。安装库、管理数据库、追踪实验、调试代码、耗尽内存……对此,你一定深有感触。

Jupyter Notebook 非常适合数据科学的原型设计。在这个单一的环境中,你可以进行无缝探索性分析、数据可视化以及构建 ML 模型的原型。因此,Jupyter Notebook 在数据科学领域大受欢迎。

但它也有一些缺陷。 作为一种新工具,DeepNote 能够以更好、更快的方式弥补这些缺陷,所以比现有工具都更适合使 用。

下面我们来说一下 DeepNote 中令人兴奋的改进。

实时协作

谷歌的在线协作工具套件(Docs、Sheets 和 Slides 等)在没加任何功能的情况下,抢走了微软 Office 大量的市场份额。他们是如何做到的?答案是:实时协作。

在谷歌的套件中和同事合作,不再需要同步进行,也无需为合并而烦心。此外,你还能知道同事们的当前进展,更加便于分工。

DeepNote 可以立即进行实时协作——它支持在共享计算环境中无缝合作。这虽然带来了改变命名空间的问题,但我觉得,这总比共享Jupyternotebook 强——它需要重新运行才能获得给定状态。

nUb6zyq.gif

DeepNote 的实时协作。

此外,DeepNote 还提供了不同的权限等级:查看、执行、编辑、管理以及所有者。这样就可以大批量控制操作这些笔记本了。

首先,以教学场景为例。在线课程的教师可以浏览虚拟教室中所有共享笔记本。教师拥有管理或所有者权限,而教室中的其他人只有查看权限。

再以要审查整个团队成员工作的场景为例。团队成员有所有者权限,这样就可以全面控制整个笔记本。审查人员拥有编辑权限,可以提供在线反馈,但无法执行任何单元。只有团队成员持有执行权限,这样审查人员就无法改(wu)变(ran)团队成员的命名空间。

变量浏览器

Spyder IDE 中有一个Jupyter没有且重要的功能——易于访问的命名空间浏览器。当然,Jupyter 笔记本中有 who/whos 的命令。但无法与 Spyder 相提并论。

而 DeepNote 再次填补了这一空白!

yqARNzq.gif

DeepNote 为变量提供了精致的总结。

除了可靠的变量浏览器外,如果无法漂亮地显示 pandas 的 DataFrame,那任何笔记本环境都是不完美的。

JVJVzeY.gif

没错,DeepNote 笔记本还能很好地展示 pandas 的 DataFrame

连接云硬盘

你肯定听说过一条经验法则(其实更像是抱怨):数据科学中有 80% 无关数学和统计学。在云计算设置中,这个比例更接近 90%,还有 10% 的时间损失在为笔记本配置正确的算力上。

FBfmee7.png!web

轻松查看并选择笔记本在何种硬件上运行(https://docs.deepnote.com/)。

DeepNote 理解你的痛苦,可以让你无缝访问基于云的硬件。「无缝」的意思是你可以在笔记本界面上进行所有设置。顺便说一句,除非你的核处于空闲状态,否则它是不会主动关闭的。

Python 包的管理

Python 有出色的包管理系统。DeepNote 意识到了这一点,并在工作路径中附有 requirements.txt 文件。即使这样,也很容易忘记安装一些依赖包。除非导入包时触发错误,否则无法意识到这方面有所疏漏。

为此,DeepNote 笔记本会主动监控包的导入,并根据你声明的需求,提醒你遗漏的依赖。还有,如果需要的文件不存在,它会猜测该文件是什么。剧透预警:它的猜测一般都是正确的。

veiaYvU.gif

DeepNote 包管理器建议安装缺少的依赖包。

大量集成

MZVVRrM.png!web

创建新项目的示例。

最后,DeepNote 几乎提供了你想要的所有集成。为了使笔记本井井有条,你可以从不同连接中选择源码控制库。这可以在创建笔记本和写后台更新时用到。

除了源码控制,DeepNote 笔记本还可以连接云计算数据存储,比如 S3、GCS 以及常用的数据库引擎。

rUV7ZjI.jpg!web

正式连接到不同的云基础架构。

尽管 DeepNote 还没能完全取代Jupyter,但已隐隐表现出这样的趋势。我期待看到 DeepNote 未来将如何继续!但不需要一味相信我,可以像我一样注册他们的抢先访问计划。他们在一周内就给出了回应,从那以后我们就一直在讨论可以改进之处。不要只抱怨现状,要改变它。

原文链接:https://towardsdatascience.com/deepnote-sets-course-to-become-the-jupyter-killer-d0cb6e3ca011


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK