You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何无需重复上传,在Google Colaboratory中访问Google Drive的.zip数据

嘿,这个问题我太有共鸣了!每次跑模型都要上传大体积的zip包,不仅费时间还容易断连,给你几个亲测好用的高效方法,再也不用重复折腾上传了:

方法1:直接挂载你的Google Drive(最常用且省心)

这是Colab官方推荐的方式,挂载成功后你就能直接访问Drive里的所有文件,包括你的zip数据集,每次启动新会话只需要执行一次挂载操作就行。

操作步骤超简单:

  • 运行下面的代码块,会弹出一个授权链接,点击链接登录你的Google账号,复制生成的授权码粘贴到输入框,回车就完成挂载了:
from google.colab import drive
drive.mount('/content/drive')
  • 挂载完成后,用!ls /content/drive/MyDrive就能查看Drive里的文件,找到你的zip包的完整路径(比如/content/drive/MyDrive/datasets/train_data.zip
  • 之后你可以选择把zip解压到Colab的临时存储区(读取速度更快):
!unzip /content/drive/MyDrive/datasets/train_data.zip -d /content/train_data

要是你的训练框架支持直接读取zip内的文件(比如Pandas、TensorFlow),甚至可以跳过解压步骤,直接从Drive的zip包加载数据:

import pandas as pd
# 直接读取zip里的csv文件
df = pd.read_csv('/content/drive/MyDrive/datasets/train_data.zip')
方法2:提前把zip包解压到Drive,直接读取解压后的文件

如果你的zip包每次训练都要解压,不如提前在Drive里把它解压好,之后每次训练直接读取解压后的文件夹就行,省了解压的时间成本:

  • 你可以直接在Google Drive网页端右键zip包,选择「解压到当前文件夹」;也可以在Colab里运行命令把文件存到Drive的指定目录:
!unzip /content/drive/MyDrive/datasets/train_data.zip -d /content/drive/MyDrive/datasets/unzipped_train_data
  • 之后训练时直接访问/content/drive/MyDrive/datasets/unzipped_train_data里的文件就好,读取速度比反复读zip包快很多。
方法3:把数据集放到Colab专属文件夹(更整洁)

Colab在你的Drive里默认有个「Colab Notebooks」文件夹,你可以把常用的数据集(不管是zip还是解压后的文件)移到这个文件夹下,挂载Drive后访问路径更短,也不容易和其他Drive文件混在一起,找起来更方便。

几个小提醒:

  • 如果是别人共享给你的zip包,记得先在Drive网页端把它「添加到我的云端硬盘」,不然挂载后可能找不到文件
  • 超大体积的数据集优先选择提前解压到Drive,避免每次会话都要重复解压,浪费算力和时间

内容的提问来源于stack exchange,提问作者Nagesh Waghmare

火山引擎 最新活动