如何在Google Colab中运行Github项目的笔记本?

29
我想在 Github 上的以下项目(位于 notebook 文件夹中)中运行笔记本:https://github.com/n-waves/multifit。由于笔记本依赖于整个项目的其他模块、文件和数据,因此我不能在 Google Colab 中直接打开它们。 我可以使用 !git clone ... 在Colab提供的空间中进行克隆,但然后我无法在浏览器中打开并运行笔记本(像其他由Google Colab运行的笔记本那样)。所以,我的问题是如何在Google Colab中运行这些笔记本,我希望在可视化模式下运行(也就是在浏览器中打开)?
5个回答

91

在Google Colab中打开想要使用的Github笔记本。

将域名从 'github.com' 更改为 'githubtocolab.com'。

笔记本会在Colab中打开。

仅适用于公共存储库。


4
相当的技巧。 - optim1st
1
这对于私有存储库中的笔记本不起作用。 - Eduardo Pignatelli
1
@EduardoPignatelli 有什么适用于私有存储库的解决方案吗? - a06e
2
我见过的前十件最疯狂的事情 - Katsu
@EduardoPignatelli,您只需在Colab中授予对私有存储库的访问权限。它会要求进行身份验证,或者您可以在Colab主页上设置权限。 - Jb-99
我不明白为什么这个答案被赞得这么多。它并没有回答问题。事实上,githubtocolab.com在Colab中导入笔记本时,并没有将依赖模块与笔记本一起导入。 - undefined

19

1
我不明白接下来是什么。你选择了仓库但打开了笔记本? - KansaiRobot
1
抱歉,为了澄清,“之后,您可以选择笔记本电脑…” - Eric Cousineau
3
这似乎没有检查整个存储库,可能只是本地文件夹?我需要在笔记本所在的存储库中与同级文件夹中的资源。 - Robert Sim
@EricCousineau 如果你能采纳Robert Sim的建议,那就太棒了,因为大多数人都需要从同一个仓库访问其他数据。 - ilam engl

10
另一种方法是在笔记本的URL中的仓库名称之前添加https://colab.research.google.com/github/。 假设我在Github上有一个Jupyter笔记本,其URL如下:https://github.com/username/repository/blob/master/notebook.ipynb。 要在Google Colab中打开此笔记本,我可以将URL更改为https://colab.research.google.com/github/username/repository/blob/master/notebook.ipynb。 这将直接在Colab上打开笔记本。

1
我相信这是最简单和最清晰的选择。 - Gabriel

5

一个有用的扩展是在Colab中打开

这将在您的浏览器工具栏中提供一个图标,可以在Colab中打开您当前正在查看的GitHub笔记本。

(在使用!git clone ...之后,没有从文件系统加载笔记本的机制。)


2
译文:关键是将这些笔记本复制到Google Drive上。提取它们的FILE_ID,然后使用该ID打开它们。
https://colab.research.google.com/drive/FILE_ID

我写了一个库来更轻松地提取FILE_ID。它基于xattr
这里是一个示例,展示如何打开一个multifit笔记本:CLS-DE.ipynb

谢谢!干得好!那么,如果我把整个项目放在我的驱动器中,并从那里打开笔记本电脑,它能够识别到项目文件的路径吗? - Ahmad
笔记本不会知道其他项目文件。您需要手动添加一个单元格来加载其他文件,例如 !npx degit n-waves/multifit -f - korakot
我需要notebook旁边的项目文件。我能否挂载Google Drive,然后像您展示的那样打开notebook,并同时将当前目录(%cd)更改为驱动器中的项目文件夹并运行notebook? - Ahmad
1
有两种方法可以做到这一点。你也可以将所有的项目文件存储在你的驱动器中,然后使用 %cd 命令切换目录。或者,我更喜欢的方法是每次从 Github 下载到新的 Colab 实例中。你可能需要使用 !mkdir 或 %cd 命令进行一些操作。 - korakot

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接