如何将 62 GB 数据集上传到 google colab

btd*_*002 6 python memory cloud dataset google-colaboratory

我是处理大型数据集的新手,也是 google colab 的新手。我有一个 62 GB 的数据集,我将其压缩并上传到 google colab 的文件部分。

上传之前,它有 68 GB 可用空间,因此我无法上传 zip 文件并解压缩它,我没有足够的内存。任何人都可以帮助我在 google colab 或任何平台上处理这个数据集。我目前是一名学生,没有太多钱购买更好的内存空间。

非常感谢。

Jun*_*hao 5

您可以使用这 4 种方法将数据集上传到 Colab 笔记本

1. 用于!wget下载数据集到服务器

Colab实际上是一个带有GPU的Centos虚拟机。您可以直接使用linuxwget命令将数据集下载到服务器。默认是下载到/content路径

下载并解压数据集命令:

#!wget https://download.pytorch.org/tutorial/hymenoptera_data.zip
#!unzip hymenoptera_data.zip -d ./
Run Code Online (Sandbox Code Playgroud)

加载数据集命令:

# Define the dataset using ImageFolder
# define data preprocessing
train_tf = tfs.Compose([
   tfs.RandomResizedCrop(224),
   tfs.RandomHorizontalFlip(),
   tfs.ToTensor(),
   tfs.Normalize([0.485, 0.456, 0.406], [0.229, 0.224, 0.225]) # Use ImageNet mean and variance
])
train_set = ImageFolder('./hymenoptera_data/train/', train_tf)
Run Code Online (Sandbox Code Playgroud)

2.使用谷歌云盘加载数据集

首先,在Colab中挂载谷歌云盘的命令如下。执行后会要求你输入你的Google账户的密钥来挂载

from google.colab import drive
drive.mount('/content/drive/')
Run Code Online (Sandbox Code Playgroud)

将文件上传到 Google 云端硬盘,例如 data/data.csv。上传方式一种是手动上传,另一种是通过wget命令下载到谷歌云盘,然后加载使用

存储在谷歌云盘的好处是下次连接时不会像第一种方法那样丢失数据。缺点是谷歌云盘只有15g,不适合大数据集。下载数据集到Google云盘的命令如下:

import os
#Change the current working directory to the path of Google Cloud Drive
path="/content/drive/My Drive/Colab Notebooks/"
os.chdir(path)
os.listdir(path)
#Use the wget command to download the dataset to this path
!wget https://dl.fbaipublicfiles.com/fasttext/vectors-crawl/data.csv
Run Code Online (Sandbox Code Playgroud)

加载数据集

train = pd.read_csv('/content/drive/My Drive/Colab Notebooks/data/data.csv')
Run Code Online (Sandbox Code Playgroud)

3.从kaggle加载数据集

如果你是在kaggle上玩游戏,上面已经准备好了你需要的数据集,你可以直接使用kaggle命令下载。您需要在kaggle的我的个人资料中选择创建api令牌,然后在本地生成用户名和密钥

{"username":"junhao","key":"f26dXXX5d06321a37f6b8502cd6b8XXX"}
Run Code Online (Sandbox Code Playgroud)

下面以驾驶状态检测项目为例,地址: https: //www.kaggle.com/c/state-farm-distracted-driver-detection/data

通过kaggle下载数据的命令

!pip install -U -q kaggle
!mkdir -p ~/.kaggle
!echo '{"username":"junhao","key":"f26dXXX5d06321a37f6b8502cd6b8XXX"}' > ~/.kaggle/kaggle.json
!chmod 600 ~/.kaggle/kaggle.json
!kaggle competitions download -c state-farm-distracted-driver-detection
Run Code Online (Sandbox Code Playgroud)

训练后将分数提交给kaggle的命令

!kaggle competitions submit -c state-farm-distracted-driver-detection -f submission.csv -m "Message"
Run Code Online (Sandbox Code Playgroud)

4.使用上传按钮上传到磁盘

Google提供67G的磁盘空间。使用上传按钮上传下面的图像。该方法适用于小型数据集或自己的数据集:

上传按钮