在线共享Jupyter笔记本的工具

与非程序员共享python笔记本的三种工具

在线共享Jupyter笔记本的工具

> Photo by Marvin Meyer on Unsplash

我最近开始帮助我的一个朋友建立的新数据项目。 该项目的数据方面是一个分析部分,将一些自然语言处理应用于调查的基于文本的响应。 我为该项目创建了一个Github存储库,并在Jupyter Notebook中完成了分析。

作为该项目的一部分,我希望能够与不一定熟悉或使用Github的非程序员共享笔记本。 这是大多数数据科学家面临的普遍问题。

Jupyter Notebook是用于探索性数据分析的出色工具,但是很常见,需要与项目中的非程序员利益相关者共享此分析。 幸运的是,有许多工具可用于非Github用户在线托管笔记本。

在下面的文章中,我将逐步介绍如何使用其中三个工具,并讨论每种工具的利弊。


本文概述了可用于在线共享Jupyter Notebooks的三种工具。 每个工具本身都非常有用,我肯定会同时使用这三个工具。 但是,出于我在本文开头所述的目的,即与非程序员共享笔记本,nbviewer绝对是我会选择的选项。 这是最简单的选项,可为我提供所需的确切信息,这是仅查看形式的共享。

谢谢阅读!

如果您想加入,我会每月发送一次通讯,请通过此链接注册。 期待成为您学习之旅的一部分!

配置

为了测试所有这些工具,我创建了一个Github存储库和一个示例笔记本。

如果您还没有Github帐户,则可以免费创建一个。 如果您不熟悉创建,克隆和推送到Github存储库,我以前已经在这里写过指南。

我已经创建了一个Github存储库,用于使用以下结构进行测试。

在线共享Jupyter笔记本的工具

Notebooks文件夹包含一个笔记本,该笔记本由用于Kaggle数据集的机器学习工作流程组成,该数据集包含标记为灾难或非灾难的推文。 可在此链接上找到有关此数据集和数据的信息。

可以在下面查看笔记本的快照。

在线共享Jupyter笔记本的工具

现在,让我们看一些与非程序员共享此笔记本的方法。


Jupyter nbviewer

Jupyter nbviewer是由Jupyer社区创建的工具,用于渲染Github在线托管的笔记本。

使用非常简单。 只需将URL粘贴到笔记本到此网页即可。

在线共享Jupyter笔记本的工具

现在通过一个唯一的链接呈现了笔记本,您可以与他人共享该链接。

在线共享Jupyter笔记本的工具

优点

· 使用极其简单。

· 只要笔记本保持在Github存储库中的相同位置,链接就会保持活动状态。

缺点

· Nbviewer仅呈现笔记本的输入和输出。 链接中的代码不可执行。

· 为了减少渲染时间,nbviewer会将输出缓存大约10分钟。 因此,查看链接中所做的任何更改都会有延迟。


Binder

Binder是另一个用于共享笔记本的开源项目。 活页夹不仅在笔记本中渲染输入和输出,还构建了存储库的Docker映像,使托管的笔记本具有交互性。

要共享笔记本,请导航到此链接。 与nbviewer不同,您需要以如下所示的形式添加存储库URL,而不是笔记本的路径。 您可以选择将路径添加到笔记本,但是如果留空白,则活页夹将通过链接使整个存储库可用。

在线共享Jupyter笔记本的工具

Binder将花费几分钟来构建docker映像。

在线共享Jupyter笔记本的工具

现在可以在线获取笔记本。 链接的收件人可以查看代码和输出并与之交互。

在线共享Jupyter笔记本的工具

优点

· 笔记本可作为可执行代码使用,因此意味着收件人可以复制您的项目并与您的项目进行交互。

· 使用简单,无需注册帐户或任何东西。

· 对存储库进行新的提交时,将自动重建docker映像。

缺点

· Github存储库需要包含Docker映像的配置文件。 可接受的格式包括environment.yml,Pipfile,requirements.txt,setup.py。 并不是真正的缺点,但是如果您尚未使用这些文件,则可能会增加您的复杂性。

Jovian

Jovian是一个用于跟踪和协作数据科学项目的平台。 该平台的一部分是用于在线托管Jupyter笔记本的工具,该工具与上述其他工具略有不同。 Jovian是开源的,但在定价方面也具有一些企业元素。 免费套餐为您提供无限的公共项目,并可以访问5个私人项目。 这足以快速共享偶尔的笔记本。

要上传笔记本,您首先必须创建一个帐户。 注册后,您需要在项目虚拟环境中的计算机上本地安装jovian。 这可以通过pip install jovian通过pip安装。

要上传笔记本,请添加import jovian。 准备好共享笔记本后,输入以下内容。

<code>

jovian

.commit

()/<code>

这将要求您在jovian.ml网站上的帐户中找到API密钥。

在线共享Jupyter笔记本的工具

几秒钟后输入密钥,您将获得"成功提交!" 信息。

在线共享Jupyter笔记本的工具

如果现在转到个人资料页面,则会看到您的笔记本。 Jovian.ml与笔记本一起捕获并上传python虚拟环境,以便合作者可以与代码进行交互。

在线共享Jupyter笔记本的工具

如果导航到笔记本,则可以添加协作者或使用该链接与他人共享。

在线共享Jupyter笔记本的工具

优点

· 共享选项适用于程序员和非程序员,因为您可以选择仅查看静态输入和输出,或者克隆并运行自己的版本。

· Jovian允许单元格级别的评论和讨论,这是一个非常不错的功能。

在线共享Jupyter笔记本的工具

缺点

· 您需要具有Jovian.ml帐户,并且需要在本地安装jovian才能共享您的笔记本,因此与其他两个选项相比,此工具需要更多的设置。

· 笔记本需要单独上传到Jovian.ml,因此,如果您使用Github进行版本控制,则需要进行两次提交,并且项目可能位于两个不同的位置。

(本文翻译自Rebecca Vickery的文章《Tools for Sharing Jupyter Notebooks Online》,参考:https://towardsdatascience.com/tools-for-sharing-jupyter-notebooks-online-28c8d4ff821c)


分享到:


相關文章: