如何从Colaboratory下载大文件(如模型的重量)?

shi*_*uja 3 gpu python-3.x tensorflow google-colaboratory

我试过从谷歌Colaboratory下载小文件.它们很容易下载,但每当我尝试下载大尺寸的文件时都会显示错误?下载大文件的方法是什么?

cod*_*fun 18

如果您创建了一个大的 zip 文件,例如 my_archive.zip,那么您可以按如下方式下载它:

  1. 从 Google colab 笔记本安装 Google 驱动器。系统会要求您输入验证码。
from google.colab import drive
drive.mount('/content/gdrive',force_remount=True)
Run Code Online (Sandbox Code Playgroud)
  1. 将 zip 文件复制到您的任何 Google Drive 文件夹(例如下载文件夹)。您还可以将文件复制到根文件夹“我的云端硬盘”上。
!cp my_archive.zip '/content/gdrive/My Drive/downloads/'
!ls -lt '/content/gdrive/My Drive/downloads/' 
Run Code Online (Sandbox Code Playgroud)

最后,您可以将 zip 文件从 Google 驱动器下载到本地计算机。


Eri*_*rra 6

这就是我处理这个问题的方法:

from google.colab import auth
from googleapiclient.http import MediaFileUpload
from googleapiclient.discovery import build

auth.authenticate_user()
Run Code Online (Sandbox Code Playgroud)

然后单击链接,授权Google云端硬盘并将代码粘贴到笔记本中.

drive_service = build('drive', 'v3')

def save_file_to_drive(name, path):
    file_metadata = {
      'name': name,
      'mimeType': 'application/octet-stream'
     }

     media = MediaFileUpload(path, 
                    mimetype='application/octet-stream',
                    resumable=True)

     created = drive_service.files().create(body=file_metadata,
                                   media_body=media,
                                   fields='id').execute()

     print('File ID: {}'.format(created.get('id')))

     return created
Run Code Online (Sandbox Code Playgroud)

然后:

save_file_to_drive(destination_name, path_to_file)
Run Code Online (Sandbox Code Playgroud)

这会将任何文件保存到您的Google云端硬盘中,您可以在其中下载或同步它们.


Ank*_*kan 0

Google colab 不允许您使用files.download(). 但您可以使用以下方法之一来访问它:

  1. 最简单的一种是使用 github 提交并推送文件,然后将其克隆到本地计算机。
  2. 您可以将 google-drive 安装到您的 colab 实例并在那里写入文件。