【问题标题】:How to upload folders to Google Colab?如何将文件夹上传到 Google Colab?
【发布时间】:2019-10-20 07:14:04
【问题描述】:

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

【问题讨论】:

标签: file directory google-colaboratory


【解决方案1】:

您可以压缩它们,上传,然后解压缩。

!解压缩文件.zip

【讨论】:

    【解决方案2】:

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

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

    这样,你只需要通过google authentication API登录你的google账号,就可以像在Colab上一样使用文件/文件夹了。

    【讨论】:

    • 您好,如何将 2 个小文件复制到 google colab 中的特定文件夹。我感谢任何评论或帮助。谢谢
    • 你可以使用!cp 'path/to/file' 'path/to/drive'管理这个
    • 它没有为 jupyter notebooks 提供合适的解决方案
    【解决方案3】:

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

    !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

    【讨论】:

    • 请至少提供引用 URL 中的亮点,以防将来损坏。
    【解决方案4】:

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

    1. 将文件夹压缩为 ZIP 文件。
    2. 使用 文件 部分中的上传按钮将压缩文件上传到 colab。是的,有一个 File 部分,请参阅 colab 屏幕的左侧
    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 云端硬盘上传到 colab。

    【讨论】:

      【解决方案5】:

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

      【讨论】:

        【解决方案6】:

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

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

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

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

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

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

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

        !ls gdrive/MyDrive
        

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

        !unzip gdrive/MyDrive/<File_name_without_space>.zip
        

        例如:

        !unzip gdrive/MyDrive/data_folder.zip
        

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

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

        【讨论】: