作者:Thiago Candido
翻译:陈之炎
校对:和中华
本文约2500字,建议阅读8分钟
本文为你介绍免费的在线数据科学集成开发环境。
在利用Deepnote开发了一个Python课程后,我决定采用Deepnote。
免责声明:我不隶属于Deepnote或它的任何成员。
Deepnote是一个免费的在线数据科学集成开发环境(onlinedata science notebook),主要关注多人协作(实时的、像谷歌文档一样的协作类型)以及工作中所有概念的抽象——环境和基础配置。
这家初创公司最近宣布,在IndexVentures的牵头下,它筹集了380万美元的种子轮融资,其中包括Greg Brockman和Naval Ravikant等天使投资人。
看完TC的公告后,我跃跃欲试,于是报名参加了β测试,耐心地等了五天之后,收到了测试邀请函。
登录之后,在平台上浏览了大约一个小时,尝试了一些示例项目,如下图所示。
Deepnote的示例项目
几个月后,我的一位在金融领域工作的好朋友罗德里戈·塔德瓦尔德(Rodrigo Tadewald)邀请我共同创建一个Python的在线课程,我主要负责环境设置/编程/性能等主题课程。
由于对金融话题很感兴趣,而且是头一回制作在线课程,我欣然接受了邀请。于是,我有了尝试Deepnote的想法,并开始利用它来开发所有的Python课程。
免责声明:我主要使用了Brave浏览器(Bravebrowser),只有当Brave浏览器异常时,才使用其他浏览器来验证 (Brave浏览器运行在Chromium引擎上)。在项目开发过程中,还交替使用了OSX、Ubuntu和Windows。
为了启动这个项目,我上传了一些以前在本地课程中用过的旧代码,并用它来创建这个项目。Deepnote提供了从GitHub和GitLab导入存储库的选项,设置起来也不难。
随着对平台越来越熟悉,CTRL/⌘ P也成为了我完成工作的主要方式。
命令面板
虽然它可以很好地执行屏幕截图中的命令,但是它的查询功能并不能让我100%满意。我在文件夹中查找文件时遇到一些问题,这令我颇为痛苦,因为这个项目主要是由文件夹和子文件夹组织的。
在“项目”选项卡中,可以看到项目文件、添加新文件、添加数据连接和访问终端(Terminal)。
Deepnote的侧导航为标签和变量查看器(以及葡萄牙语课程的相关文件迷你剧透)
Notebook自身很有趣,有一些很酷的功能。令我高兴的是:很容易便可访问到Markdown小抄(cheat sheet)。
IDE可以自动检测模块,可以轻松地在线安装pip包。如果使用pip命令,Deepnote会将其保存在隐藏文件中,并在每次启动环境时进行安装;还可以选择创建一个requirements.txt文件,并通过终端(Terminal)与之交互。
还有一个很好的特性是变量查看器,它集成到Notebook之中,确实是一个不错的功能。
变量查看器中的PandasDataFrame
“代码智能”功能,如自动补全和定义定位功能,在当前的β版本中还不能正常使用。
改进:我在项目开发过程中注意到的一件重要的事情是:文件资源管理器的性能有了大幅度提高。由于我上传了很多文件,我需要将它们组织在文件夹中,几周前,将文件移动到文件夹和子文件夹中是一种非常延迟滞后/棘手的经历。自课程开发开始以来,大约在2020年4月左右,这种情况有了很大的改善。真的不错!
在一些课程模块上,我需要处理数据。数据集并非海量,但也不小,如果不得不重新上传到平台中,工作量也不小。Deepnote有一些集成数据集,如Landsat8和Goodreads书籍,对于我的项目而言,需要使用先前准备好的自定义数据集。
此外,除了从本地上传文件外,还可以与AWS S3、Mongo DB和Postgres集成(至少在我的β测试帐户上)。有很多“灰色”选项,但没看到与Azure存储和GoogleDrive的集成。如果Google Colab用户想随意尝试一下Deepnote,那么有Google Drive集成肯定会少很多麻烦。
用IDE创建新连接
在建立了数据连接之后,我对终端做了一些改动,于是有了机器的完全root访问权限,但这个项目中似乎不需要它。我认为我唯一一次运行到终端是:当Deepnote内核进入一个重新启动循环时,我试图通过使用一些bash命令来修复它。
可以利用“环境”选项卡选择机器配置,重新启动它,查看CPU和RAM的使用情况,并检查项目所依赖的包。
免费提供的机器配置如下:
还有一个性能配置,可根据请求提供:
最后,还有评论选项卡。Deepnote上的交流功能非常先进,虽然这门课程主要是一个单人的项目,但有时我会请一个朋友审查它的一些notebook,这一功能没有令我失望。
可以实现代码审查的实时会话,并用评论功能来异步交互。这给了数据科学家以异步或同步方式进行远程协作的巨大优势。远远优于我在其他notebook平台的协作经验。
Deepnote是数据科学团队首选IDE(集成开发环境),可以与其它一些非常好的、已经建立的替代方案相媲美。
其核心优势是以协作为中心的方法,它脱颖而出,为数据科学家提供了真正意义上的谷歌文档式的体验。
我相信:目前团队正在修复一些“看起来很有趣”的功能,诸如版本控制、团队、仪表板和notebook的API共享等其它功能的实现,也在进展之中。
如果对这个平台感兴趣,我建议从尝试一个基于协作的项目开始,可以与朋友或同事互相协作,这样便可以感受到该平台提供的真正价值。
如果你是Python或Notebook环境的初学者,Deepnote是一个简单易行的起点。
对于数据科学团队来说,我鼓励他们在新建项目中使用它,并与Deepnote人员保持密切联系。可以使用集成聊天与团队交谈,这将对于你很有帮助(由于它还在β测试中,所以它具有β功能:)
我将定期更新这篇文章,对新的功能做出点评,所以本文写的很多东西将来都可能更新。
希望你喜欢这篇文章,谢谢你拨冗阅读。
加油干,继续编码!
原文标题:
Reviewing Deepnote — The New IDE for Data Scientists
原文链接:
https://towardsdatascience.com/reviewing-deepnote-the-new-ide-for-data-scientists-90c3464ebc5e
编辑:黄继彦
校对:汪雨晴
译者简介
陈之炎,北京交通大学通信与控制工程专业毕业,获得工学硕士学位,历任长城计算机软件与系统公司工程师,大唐微电子公司工程师,现任北京吾译超群科技有限公司技术支持。目前从事智能化翻译教学系统的运营和维护,在人工智能深度学习和自然语言处理(NLP)方面积累有一定的经验。业余时间喜爱翻译创作,翻译作品主要有:IEC-ISO 7816、伊拉克石油工程项目、新财税主义宣言等等,其中中译英作品“新财税主义宣言”在GLOBAL TIMES正式发表。能够利用业余时间加入到THU 数据派平台的翻译志愿者小组,希望能和大家一起交流分享,共同进步。