Colab不好用,有人花两年开发了一个新notebook,支持实时协作还更快

工具不好用就自己开发一个,「不将就」的开发者就是这么任性。


市场上现有的数据科学 notebook 工具都有很多痛点,比如版本控制、可复现性、协作体验等,与其他工具配合使用时也不太方便。

在这些痛点面前,大多数人选择将就,但还有人选择自己动手,Jakub 就是其中之一。为了解决上述痛点,Jakub 和他的同伴两年前就立志打造一个新的 notebook。如今,他们的成果终于问世。

这款名叫 Deepnote 的数据科学 notebook 建立在 Jupyter 的生态系统之上,运行在云端,个人用户可以免费使用。

与其他 notebook 相比,Deepnote 有三大亮点:
  • 首先是实时协作。为了实现这一点,Deepnote 默认在云端运行。每个 Deepnote notebook 都很容易共享(就像 Google Docs 一样),非技术用户理解起来也没有难度;

  • 其次是界面。Jakub 等人重新设计了一个新的界面,以鼓励用户开展最佳实践、写出简洁的代码、定义依赖并创建可复现的 notebook。他们还创建了一个优秀的自动补全系统并添加了一个变量管理器;

  • 最后是与其他服务的整合。Jakub 等人降低了 Deepnote 与其他服务整合的难度。他们的最终目的是创建一个与其他服务、数据库、ML 平台和 Jupyter 生态系统协作顺畅的 notebook。


和 Colab 一样,Deepnote 可以在浏览器上使用,支持 Windows、Mac、Linux、Chromebook 等各种平台和 Python、R、Julia 等语言。所有的更新都会立即保存。

与 Colab 相比,Deepnote 拥有以下优势:

  • 实时协作;

  • 整合(数据库、S3 bucket、环境变量);

  • 稳定(而且快得多)的文件系统;

  • 硬件不会突然被关掉;

  • 变量管理器;

  • 可以和非技术人员共享的友好界面。

Jakub 等人刚刚发布了 Deepnote 的公开测试版,大家可以点击以下网址试用:https://deepnote.com/

包括斯坦福大学、字节跳动、GitHub、NASA 在内的机构都已经试用过 Deepnote。目前,个人用户可以免费使用。从群众反馈上来看,用过的都说好。尽管还存在一些不足,不过据开发者回复,很多必备但未实现的功能都已经「在路上了」。

现在用户可以通过 GitHub 或谷歌账户注册,但很快就能实现网站直接注册。

「不错!比 mybinder 之类的快很多。」

接下来,我们来看下 Deepnote 的具体用法和特点。

命令平台

首先,用户可以通过在 Mac 系统上键入 cmd + P 命令或者 Windows 系统上键入 ctrl + P 命令来打开和关闭该命令平台。

实时协作

Deepnote 支持实时协作,用户可以与其他人共享项目。执行单元是对所有用户的执行,因为协作的用户之间共享同一个环境和内核。

集成

Deepnote 提供了一个持续增长的本地集成库,简化了数据源与项目之间的连接过程。数据的轻松访问也是 Deepnote 的设计原则之一。

查看变量

Deepnote 提供了一种探索 notebook 中当前变量的简单方法。定义变量的单元格被执行之后,变量将显示在左侧栏中,并提供有关其类型和内容的信息。点击变量还能查看更多信息。

终端

如果需要运行一些高级脚本、安装或其他任务,你可以使用左侧栏中的按钮(红箭头所指),直接在 Deepnote 中使用集成终端。

终端也是协作的,因此所有协作者都可以查看命令,除非你右键单击终端名称来关闭它。

历史

项目历史记录了一个项目中发生的所有事情。Deepnote 可以向你展示所有协作者的编辑记录。当然,要查看历史记录,你至少需要在项目中拥有编辑权限。目前,该功能还处于完善阶段。

代码智能工具

很长的 notebook 通常难以阅读。函数和变量的定义无处不在,因此我们有时候很难记住某个变量表示的含义。为此,Deepnote 提供了代码智能工具来帮助你管理复杂的代码。Deepnote 会向你展示函数文档、参数名,并帮助你跳转到函数定义,这样你就能聚焦于问题而不是代码。

自动补全

Deepnote 会在你敲代码的过程中展示出你可能想要使用的函数和变量名。如果提示框消失了,你还可以利用 Tab 键将它触发。

函数文档和参数

将鼠标悬停在一个函数上时,Deepnote 会向你展示这个函数的文档。在填写函数参数时,Deepnote 会显示与参数名称和位置有关的提示,这样你就能知道当前正在填写的什么参数
直达定义

想知道某个函数或变量是从哪儿来的吗?你只需要通过 Cmd + 单击函数 / 变量名就能直达定义。同时,如果你在按着 Cmd 的过程中将鼠标悬停在一个符号上,Deepnote 也会向你预览它的定义。

参考链接:https://docs.deepnote.com/features/real-time-collaboration


工程数据科学Colab
1
相关数据
字节跳动机构

北京字节跳动科技有限公司成立于2012年,是最早将人工智能应用于移动互联网场景的科技企业之一,是中国北京的一家信息科技公司,地址位于北京市海淀区知春路甲48号。 公司独立研发的“今日头条”客户端,通过海量信息采集、深度数据挖掘和用户行为分析,为用户智能推荐个性化信息,从而开创了一种全新的新闻阅读模式。

https://bytedance.com/en
Julia技术

Julia 是MIT设计的一个面向科学计算的高性能动态高级程序设计语言,项目大约于2009年中开始,2018年8月JuliaCon2018 发布会上发布Julia 1.0。据介绍,Julia 目前下载量已经达到了 200 万次,且 Julia 社区开发了超过 1900 多个扩展包。这些扩展包包含各种各样的数学库、数学运算工具和用于通用计算的库。除此之外,Julia 语言还可以轻松使用 Python、R、C/C++ 和 Java 中的库,这极大地扩展了 Julia 语言的使用范围。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

数据科学技术

数据科学,又称资料科学,是一门利用数据学习知识的学科,其目标是通过从数据中提取出有价值的部分来生产数据产品。它结合了诸多领域中的理论和技术,包括应用数学、统计、模式识别、机器学习、数据可视化、数据仓库以及高性能计算。数据科学通过运用各种相关的数据来帮助非专业人士理解问题。

数据库技术

数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增、截取、更新、删除等操作。 所谓“数据库”系以一定方式储存在一起、能予多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。

Jupyter技术

Jupyter Notebook(此前被称为 IPython notebook)是一个交互式笔记本,支持运行 40 多种编程语言。 Jupyter Notebook 的本质是一个 Web 应用程序,便于创建和共享文学化程序文档,支持实时代码,数学方程,可视化和 markdown。 用途包括:数据清理和转换,数值模拟,统计建模,机器学习等等 。

推荐文章
尝试了一下 感觉对于用云的话比较合适;简单计算量不大的情况比较合适;网上讨论更合适。 计算量比较大的话,还是自己的电脑更给力