新闻  |   论坛  |   博客  |   在线研讨会
独家 | Deepnote测评:数据科学家的新IDE
数据派THU | 2020-11-01 18:06:29    阅读:967   发布文章

在利用Deepnote开发了一个Python课程后,我决定采用Deepnote。

免责声明:我不隶属于Deepnote或它的任何成员。

Deepnote是一个免费的在线数据科学集成开发环境(onlinedata science notebook),主要关注多人协作(实时的、像谷歌文档一样的协作类型)以及工作中所有概念的抽象——环境和基础配置。

1.png

这家初创公司最近宣布,在IndexVentures的牵头下,它筹集了380万美元的种子轮融资,其中包括Greg Brockman和Naval Ravikant等天使投资人。

看完TC的公告后,我跃跃欲试,于是报名参加了β测试,耐心地等了五天之后,收到了测试邀请函。

登录之后,在平台上浏览了大约一个小时,尝试了一些示例项目,如下图所示。

2.png

Deepnote的示例项目

几个月后,我的一位在金融领域工作的好朋友罗德里戈·塔德瓦尔德(Rodrigo Tadewald)邀请我共同创建一个Python的在线课程,我主要负责环境设置/编程/性能等主题课程。

由于对金融话题很感兴趣,而且是头一回制作在线课程,我欣然接受了邀请。于是,我有了尝试Deepnote的想法,并开始利用它来开发所有的Python课程。

免责声明:我主要使用了Brave浏览器(Bravebrowser),只有当Brave浏览器异常时,才使用其他浏览器来验证 (Brave浏览器运行在Chromium引擎上)。在项目开发过程中,还交替使用了OSX、Ubuntu和Windows。

经验

为了启动这个项目,我上传了一些以前在本地课程中用过的旧代码,并用它来创建这个项目。Deepnote提供了从GitHub和GitLab导入存储库的选项,设置起来也不难。

随着对平台越来越熟悉,CTRL/⌘ P也成为了我完成工作的主要方式。

3.png

命令面板

虽然它可以很好地执行屏幕截图中的命令,但是它的查询功能并不能让我100%满意。我在文件夹中查找文件时遇到一些问题,这令我颇为痛苦,因为这个项目主要是由文件夹和子文件夹组织的。

在“项目”选项卡中,可以看到项目文件、添加新文件、添加数据连接和访问终端(Terminal)。

4.png1604225001491358.png

Deepnote的侧导航为标签和变量查看器(以及葡萄牙语课程的相关文件迷你剧透)

Notebook自身很有趣,有一些很酷的功能。令我高兴的是:很容易便可访问到Markdown小抄(cheat sheet)。

IDE可以自动检测模块,可以轻松地在线安装pip包。如果使用pip命令,Deepnote会将其保存在隐藏文件中,并在每次启动环境时进行安装;还可以选择创建一个requirements.txt文件,并通过终端(Terminal)与之交互。

还有一个很好的特性是变量查看器,它集成到Notebook之中,确实是一个不错的功能。

5.png

变量查看器中的PandasDataFrame

“代码智能”功能,如自动补全和定义定位功能,在当前的β版本中还不能正常使用。

改进:我在项目开发过程中注意到的一件重要的事情是:文件资源管理器的性能有了大幅度提高。由于我上传了很多文件,我需要将它们组织在文件夹中,几周前,将文件移动到文件夹和子文件夹中是一种非常延迟滞后/棘手的经历。自课程开发开始以来,大约在2020年4月左右,这种情况有了很大的改善。真的不错!

在一些课程模块上,我需要处理数据。数据集并非海量,但也不小,如果不得不重新上传到平台中,工作量也不小。Deepnote有一些集成数据集,如Landsat8和Goodreads书籍,对于我的项目而言,需要使用先前准备好的自定义数据集。

此外,除了从本地上传文件外,还可以与AWS S3、Mongo DB和Postgres集成(至少在我的β测试帐户上)。有很多“灰色”选项,但没看到与Azure存储和GoogleDrive的集成。如果Google Colab用户想随意尝试一下Deepnote,那么有Google Drive集成肯定会少很多麻烦。

6.png

用IDE创建新连接

在建立了数据连接之后,我对终端做了一些改动,于是有了机器的完全root访问权限,但这个项目中似乎不需要它。我认为我唯一一次运行到终端是:当Deepnote内核进入一个重新启动循环时,我试图通过使用一些bash命令来修复它。

可以利用“环境”选项卡选择机器配置,重新启动它,查看CPU和RAM的使用情况,并检查项目所依赖的包。

1604225089292088.png

免费提供的机器配置如下:

·  基础版-英特尔哈斯韦尔1V CPU~1.5GB RAM无 GPU;

·  专业版-英特尔哈斯韦尔2v CPU~5GB RAM无 GPU;

还有一个性能配置,可根据请求提供:

·  性能版-英特尔哈斯韦尔4v CPU~12GB RAM T4 GPU。

最后,还有评论选项卡。Deepnote上的交流功能非常先进,虽然这门课程主要是一个单人的项目,但有时我会请一个朋友审查它的一些notebook,这一功能没有令我失望。

8.png

可以实现代码审查的实时会话,并用评论功能来异步交互。这给了数据科学家以异步或同步方式进行远程协作的巨大优势。远远优于我在其他notebook平台的协作经验。

9.png

结论

Deepnote是数据科学团队首选IDE(集成开发环境),可以与其它一些非常好的、已经建立的替代方案相媲美。

其核心优势是以协作为中心的方法,它脱颖而出,为数据科学家提供了真正意义上的谷歌文档式的体验。

我相信:目前团队正在修复一些“看起来很有趣”的功能,诸如版本控制、团队、仪表板和notebook的API共享等其它功能的实现,也在进展之中。

如果对这个平台感兴趣,我建议从尝试一个基于协作的项目开始,可以与朋友或同事互相协作,这样便可以感受到该平台提供的真正价值。

如果你是Python或Notebook环境的初学者,Deepnote是一个简单易行的起点。

对于数据科学团队来说,我鼓励他们在新建项目中使用它,并与Deepnote人员保持密切联系。可以使用集成聊天与团队交谈,这将对于你很有帮助(由于它还在β测试中,所以它具有β功能:)

10.png

我将定期更新这篇文章,对新的功能做出点评,所以本文写的很多东西将来都可能更新。

希望你喜欢这篇文章,谢谢你拨冗阅读。

加油干,继续编码!

原文标题:

Reviewing Deepnote — The New IDE for Data Scientists

原文链接:

https://towardsdatascience.com/reviewing-deepnote-the-new-ide-for-data-scientists-90c3464ebc5e

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客