在利用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之中,确实是一个不错的功能。“代码智能”功能,如自动补全和定义定位功能,在当前的β版本中还不能正常使用。改进:我在项目开发过程中注意到的一件重要的事情是:文件资源管理器的性能有了大幅度提高。由于我上传了很多文件,我需要将它们组织在文件夹中,几周前,将文件移动到文件夹和子文件夹中是一种非常延迟滞后/棘手的经历。自课程开发开始以来,大约在2020年4月左右,这种情况有了很大的改善。真的不错!在一些课程模块上,我需要处理数据。数据集并非海量,但也不小,如果不得不重新上传到平台中,工作量也不小。Deepnote有一些集成数据集,如Landsat8和Goodreads书籍,对于我的项目而言,需要使用先前准备好的自定义数据集。此外,除了从本地上传文件外,还可以与AWS S3、Mongo DB和Postgres集成(至少在我的β测试帐户上)。有很多“灰色”选项,但没看到与Azure存储和GoogleDrive的集成。如果Google Colab用户想随意尝试一下Deepnote,那么有Google Drive集成肯定会少很多麻烦。在建立了数据连接之后,我对终端做了一些改动,于是有了机器的完全root访问权限,但这个项目中似乎不需要它。我认为我唯一一次运行到终端是:当Deepnote内核进入一个重新启动循环时,我试图通过使用一些bash命令来修复它。可以利用“环境”选项卡选择机器配置,重新启动它,查看CPU和RAM的使用情况,并检查项目所依赖的包。
- 基础版-英特尔哈斯韦尔1V CPU~1.5GB RAM无 GPU;
- 专业版-英特尔哈斯韦尔2v CPU~5GB RAM无 GPU;
- 性能版-英特尔哈斯韦尔4v CPU~12GB RAM T4 GPU。
最后,还有评论选项卡。Deepnote上的交流功能非常先进,虽然这门课程主要是一个单人的项目,但有时我会请一个朋友审查它的一些notebook,这一功能没有令我失望。可以实现代码审查的实时会话,并用评论功能来异步交互。这给了数据科学家以异步或同步方式进行远程协作的巨大优势。远远优于我在其他notebook平台的协作经验。Deepnote是数据科学团队首选IDE(集成开发环境),可以与其它一些非常好的、已经建立的替代方案相媲美。其核心优势是以协作为中心的方法,它脱颖而出,为数据科学家提供了真正意义上的谷歌文档式的体验。我相信:目前团队正在修复一些“看起来很有趣”的功能,诸如版本控制、团队、仪表板和notebook的API共享等其它功能的实现,也在进展之中。如果对这个平台感兴趣,我建议从尝试一个基于协作的项目开始,可以与朋友或同事互相协作,这样便可以感受到该平台提供的真正价值。如果你是Python或Notebook环境的初学者,Deepnote是一个简单易行的起点。对于数据科学团队来说,我鼓励他们在新建项目中使用它,并与Deepnote人员保持密切联系。可以使用集成聊天与团队交谈,这将对于你很有帮助(由于它还在β测试中,所以它具有β功能:)我将定期更新这篇文章,对新的功能做出点评,所以本文写的很多东西将来都可能更新。Reviewing Deepnote — The New IDE for Data Scientistshttps://towardsdatascience.com/reviewing-deepnote-the-new-ide-for-data-scientists-90c3464ebc5e