工具不好用就自己开发一个,「不将就」的开发者就是这么任性。
市场上现有的数据科学 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/
在亲自测试之前,你可以先看看这个 demo 视频:
包括斯坦福大学、字节跳动、GitHub、NASA 在内的机构都已经试用过 Deepnote。目前,个人用户可以免费使用。从群众反馈上来看,用过的都说好。尽管还存在一些不足,不过据开发者回复,很多必备但未实现的功能都已经「在路上了」。
现在用户可以通过 GitHub 或谷歌账户注册,但很快就能实现网站直接注册。
接下来,我们来看下 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
Java工程师入门深度学习(二):DJL推理架构详解
DJL是亚马逊推出的开源的深度学习开发包,它是在现有深度学习框架基础上使用原生Java概念构建的开发库。DJL目前提供了MXNet,、PyTorch和TensorFlow的实现。Java开发者可以立即开始将深度学习的SOTA成果集成到Java应用当中。
11月3日20:00
,李政哲(AWS软件开发工程师)将带来线上分享,介绍DJL推理模块并结合具体场景讲解各模块使用方法,推理 API 的使用方法以及如何优化推理速度,如何部署在微服务、大数据服务以及移动端并搭配客户成功案例的讲解。
© THE END
转载请联系本公众号获得授权
投稿或寻求报道:content@jiqizhixin.com