如何将文件夹上传到Google Colab?

时间:2019-06-04 18:11:22

标签: file directory google-colaboratory

我想运行一个笔记本,该笔记本使用目录中定义的许多头文件。所以基本上我想将整个目录上传到Google Colab,以便我可以运行笔记本。但是我找不到任何这样的选项,只能上传文件而不是完整的文件夹。那么有人可以告诉我如何将整个目录上传到google colab吗?

6 个答案:

答案 0 :(得分:6)

您可以创建一个git存储库并将文件和文件夹推送到其中, 然后可以使用命令克隆存储库中的

!git clone https://github.com/ {username} / {projectname} .git

我觉得这种方法更快。 但是如果文件大小超过100 mb,则必须压缩文件或添加扩展名以将其推送到github。 有关更多信息,请参见下面的链接。

https://help.github.com/en/github/managing-large-files/configuring-git-large-file-storage

答案 1 :(得分:4)

最简单的方法,如果文件夹/文件在本地驱动器上:

  1. 将文件夹压缩为ZIP文件。
  2. 使用 File 部分中的上载按钮将压缩文件上载到colab。是的,有一个文件部分,请参见coem屏幕的左侧
  3. 使用此行代码提取文件。注意:文件路径来自colab的 File 部分。
from zipfile import ZipFile
file_name = file_path

with ZipFile(file_name, 'r') as zip:
  zip.extractall()
  print('Done')
  1. 点击colab“ <文件>” 部分中的刷新
  2. 通过文件路径访问文件夹中的文件

缺点:运行时间结束后,文件将被删除。

如果您的文件位于Google云端硬盘中,则可以使用这些步骤中的某些步骤,只需将压缩后的文件从Google云端硬盘上传到合作实验室即可。

答案 2 :(得分:1)

您可以将其压缩,上传然后解压缩。

!解压缩file.zip

答案 3 :(得分:1)

我建议您不要仅在Colab中上载它们,因为在重新启动运行时时,它们会丢失(只需要重新上载它们,但这可能是非常大的数据集的问题)。 我建议您使用google.colab包来管理Colab中的文件和文件夹。只需将所需的所有内容上传到Google驱动器,然后导入:

from google.colab import drive
drive.mount('/content/gdrive')

通过这种方式,您只需要通过Google身份验证API登录到您的Google帐户,就可以使用文件/文件夹,就好像它们是在Colab上上传的一样。

答案 4 :(得分:0)

解决这个问题的最好方法很简单,但有时却很棘手。

您首先需要将该文件夹压缩成一个压缩文件并将其上传到您的谷歌驱动器中。

这样做时,确保文件夹位于驱动器的根目录中,而不是在任何其他子文件夹中!。如果压缩文件夹/数据在其他子文件夹中,您可以轻松地将其移动到根目录中。

当您指定文件位置时,压缩另一个子文件夹中的文件夹/数据通常会干扰解压过程。

完成上述任务后,在 colab 中输入以下命令以挂载驱动器:

from google.colab import drive
drive.mount('/content/gdrive')

这将要求一个访问令牌,该令牌可以通过单击同一单元格输出中显示的网址来生成

!ls gdrive/MyDrive

通过执行上述命令检查驱动器的内容,并确保您的文件夹/数据显示在输出中。

!unzip gdrive/MyDrive/<File_name_without_space>.zip

例如:

!unzip gdrive/MyDrive/data_folder.zip

执行相同的操作将开始将您的文件夹解压缩到内存中。

恭喜!您已成功将文件夹/数据上传到 colab。

答案 5 :(得分:-1)

因此,您可以执行以下操作: -将数据集所需的文件夹上载到驱动器 -colab,安装驱动器,其中 “来自google.colab导入驱动器 drive.mount('/ content / gdrive')“ 自动显示,您只需要运行它 -然后在左侧的“文件”部分中检查文件(如果看不到文件夹,请尝试刷新,此外它旁边还应该有一个下拉箭头,您可以在其中检查文件夹下的所有文件) -左键单击获得COPY PATH选项的文件夹 -将复制的路径粘贴到colab中所需的位置上