如何上传文件夹到 Google Colab?
How to upload folders to Google Colab?
我想 运行 一个使用目录中定义的许多头文件的笔记本。所以基本上我想将整个目录上传到 Google Colab,这样我就可以 运行 笔记本了。但我找不到任何此类选项,只能上传文件而不是完整的文件夹。那么有人可以告诉我如何将整个目录上传到 google colab 吗?
您可以将它们压缩、上传,然后解压缩。
!解压file.zip
我建议您不要只在 Colab 中上传它们,因为当您重新启动运行时时,您会丢失它们(只需要 re-upload 它们,但这可能是连接速度慢的问题)。
我建议您使用 google.colab
包来管理 Colab 中的文件和文件夹。只需将您需要的所有内容上传到 google 驱动器,然后导入:
from google.colab import drive
drive.mount('/content/gdrive')
这样,您只需通过google身份验证API登录您的google账户,就可以像上传到files/folders一样使用了Colab.
编辑 2022 年 5 月:
正如评论中指出的那样,使用 Google 驱动器作为大量文件的存储来训练模型非常缓慢,如此处所述:。更好的解决方案是压缩文件,将它们上传到 colab,然后使用
解压缩
!unzip file.zip
此处有更多解压缩选项:https://linux.die.net/man/1/unzip
您可以创建一个 git 存储库并将文件和文件夹推送到其中,
然后可以使用命令
在 colaboratory 中克隆存储库
!git 克隆 https://github.com/{用户名}/{项目名}。git
我觉得这个方法比较快。
但如果文件大小超过 100 MB,您将不得不压缩文件或添加扩展以将其推送到 github。
有关详细信息,请参阅下面的 link。
https://help.github.com/en/github/managing-large-files/configuring-git-large-file-storage
最简单的方法,如果 folder/file 在您的本地驱动器上:
- 将文件夹压缩成 ZIP 文件。
- 使用 File 部分中的上传按钮将压缩文件上传到 colab。是的,有一个 File 部分,请参见 Colab 屏幕的左侧。
- 使用这行代码提取文件。注意:文件路径来自 colab 的 File 部分。
from zipfile import ZipFile
file_name = file_path
with ZipFile(file_name, 'r') as zip:
zip.extractall()
print('Done')
- 单击 Colab 文件 部分中的刷新。
- 通过文件路径访问文件夹中的文件
缺点:运行结束后文件会被删除。
如果您的文件在 Google 驱动器上,您可以使用这些步骤的一部分,只需将压缩文件从 Google 驱动器上传到 colab。
因此,您可以执行以下操作:
- 将数据集所需的文件夹上传到您的驱动器
-over colab,安装其中的驱动器
“从 google.colab 导入驱动器
drive.mount('/content/gdrive')"
自动出现,你只需要运行它
- 然后在 left-hand 侧的文件部分检查您的文件(如果文件夹不可见,请尝试刷新,它旁边应该有一个 drop-down 箭头,您可以在其中检查文件夹下的所有文件)
-left-click 在您获得 COPY PATH 选项的文件夹上
- 将复制的路径粘贴到 colab
中的所需位置
解决这个问题的最好方法很简单,但有时也很棘手。
您首先需要将文件夹压缩成压缩文件,然后将其上传到您的 google 驱动器。
执行此操作时,确保该文件夹位于驱动器的根目录中,而不是任何其他子文件夹中!。如果压缩后的folder/data在其他子文件夹中,您可以轻松地将其移动到根目录中。
在另一个子文件夹中压缩 folder/data 通常会在您指定文件位置时干扰解压缩过程。
完成上述任务后,在 colab 中输入以下命令以挂载您的驱动器:
from google.colab import drive
drive.mount('/content/gdrive')
这将要求访问令牌,可以通过 单击同一单元格输出中显示的 url 来生成访问令牌
!ls gdrive/MyDrive
通过执行上述命令检查驱动器的内容,并确保您的 folder/data 显示在输出中。
!unzip gdrive/MyDrive/<File_name_without_space>.zip
例如:
!unzip gdrive/MyDrive/data_folder.zip
执行相同的操作将开始将您的文件夹解压缩到内存中。
恭喜!您已成功将 folder/data 上传到 colab。
压缩文件 zip -r file.zip your_folder
然后:
from google.colab import files
from zipfile import ZipFile
with ZipFile(files.upload(), 'r') as zip:
zip.extractall()
print('Done')
我想 运行 一个使用目录中定义的许多头文件的笔记本。所以基本上我想将整个目录上传到 Google Colab,这样我就可以 运行 笔记本了。但我找不到任何此类选项,只能上传文件而不是完整的文件夹。那么有人可以告诉我如何将整个目录上传到 google colab 吗?
您可以将它们压缩、上传,然后解压缩。
!解压file.zip
我建议您不要只在 Colab 中上传它们,因为当您重新启动运行时时,您会丢失它们(只需要 re-upload 它们,但这可能是连接速度慢的问题)。
我建议您使用 google.colab
包来管理 Colab 中的文件和文件夹。只需将您需要的所有内容上传到 google 驱动器,然后导入:
from google.colab import drive
drive.mount('/content/gdrive')
这样,您只需通过google身份验证API登录您的google账户,就可以像上传到files/folders一样使用了Colab.
编辑 2022 年 5 月:
正如评论中指出的那样,使用 Google 驱动器作为大量文件的存储来训练模型非常缓慢,如此处所述:
!unzip file.zip
此处有更多解压缩选项:https://linux.die.net/man/1/unzip
您可以创建一个 git 存储库并将文件和文件夹推送到其中, 然后可以使用命令
在 colaboratory 中克隆存储库!git 克隆 https://github.com/{用户名}/{项目名}。git
我觉得这个方法比较快。 但如果文件大小超过 100 MB,您将不得不压缩文件或添加扩展以将其推送到 github。 有关详细信息,请参阅下面的 link。
https://help.github.com/en/github/managing-large-files/configuring-git-large-file-storage
最简单的方法,如果 folder/file 在您的本地驱动器上:
- 将文件夹压缩成 ZIP 文件。
- 使用 File 部分中的上传按钮将压缩文件上传到 colab。是的,有一个 File 部分,请参见 Colab 屏幕的左侧。
- 使用这行代码提取文件。注意:文件路径来自 colab 的 File 部分。
from zipfile import ZipFile
file_name = file_path
with ZipFile(file_name, 'r') as zip:
zip.extractall()
print('Done')
- 单击 Colab 文件 部分中的刷新。
- 通过文件路径访问文件夹中的文件
缺点:运行结束后文件会被删除。
如果您的文件在 Google 驱动器上,您可以使用这些步骤的一部分,只需将压缩文件从 Google 驱动器上传到 colab。
因此,您可以执行以下操作: - 将数据集所需的文件夹上传到您的驱动器 -over colab,安装其中的驱动器 “从 google.colab 导入驱动器 drive.mount('/content/gdrive')" 自动出现,你只需要运行它 - 然后在 left-hand 侧的文件部分检查您的文件(如果文件夹不可见,请尝试刷新,它旁边应该有一个 drop-down 箭头,您可以在其中检查文件夹下的所有文件) -left-click 在您获得 COPY PATH 选项的文件夹上 - 将复制的路径粘贴到 colab
中的所需位置解决这个问题的最好方法很简单,但有时也很棘手。
您首先需要将文件夹压缩成压缩文件,然后将其上传到您的 google 驱动器。
执行此操作时,确保该文件夹位于驱动器的根目录中,而不是任何其他子文件夹中!。如果压缩后的folder/data在其他子文件夹中,您可以轻松地将其移动到根目录中。
在另一个子文件夹中压缩 folder/data 通常会在您指定文件位置时干扰解压缩过程。
完成上述任务后,在 colab 中输入以下命令以挂载您的驱动器:
from google.colab import drive
drive.mount('/content/gdrive')
这将要求访问令牌,可以通过 单击同一单元格输出中显示的 url 来生成访问令牌
!ls gdrive/MyDrive
通过执行上述命令检查驱动器的内容,并确保您的 folder/data 显示在输出中。
!unzip gdrive/MyDrive/<File_name_without_space>.zip
例如:
!unzip gdrive/MyDrive/data_folder.zip
执行相同的操作将开始将您的文件夹解压缩到内存中。
恭喜!您已成功将 folder/data 上传到 colab。
压缩文件 zip -r file.zip your_folder
然后:
from google.colab import files
from zipfile import ZipFile
with ZipFile(files.upload(), 'r') as zip:
zip.extractall()
print('Done')