我是处理大型数据集的新手,也是 google colab 的新手。我有一个 62 GB 的数据集,我将其压缩并上传到 google colab 的文件部分。
在上传之前,它有 68 GB 可用空间,所以我无法上传 zip 文件并解压缩它,我没有足够的内存。任何人都可以帮助我在 google colab 或任何平台上处理这个数据集。我目前是一名学生,没有太多钱购买更好的内存空间。
非常感谢。
您可以使用这 4 种方法将数据集上传到 Colab 笔记本
1. 使用
!wget
将数据集下载到服务器
Colab实际上是一个带GPU的Centos虚拟机。您可以直接使用linux
wget
命令将数据集下载到服务器。默认是下载到/content
路径
下载并解压数据集命令:
#!wget https://download.pytorch.org/tutorial/hymenoptera_data.zip
#!unzip hymenoptera_data.zip -d ./
加载数据集命令:
# 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)
2. 使用谷歌云盘加载数据集
首先,在Colab中挂载谷歌云盘的命令如下。执行后会要求你输入你的Google账户的密钥来挂载
from google.colab import drive
drive.mount('/content/drive/')
将文件上传到Google Drive,例如data/data.csv。上传方式一种是手动上传,另一种是通过wget命令下载到谷歌云盘,然后加载使用
存储在谷歌云盘的好处是下次连接时不会像第一种方法那样丢失数据。缺点是谷歌云盘只有15g,不适合大数据集。下载数据集到谷歌云盘的命令如下:
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
加载数据集
train = pd.read_csv('/content/drive/My Drive/Colab Notebooks/data/data.csv')
3.从kaggle加载数据集
如果你是在kaggle上玩游戏,上面已经准备好了你需要的数据集,你可以直接使用kaggle命令下载。您需要在kaggle的我的个人资料中选择创建api token,然后在本地生成用户名和密钥
{"username":"junhao","key":"f26dXXX5d06321a37f6b8502cd6b8XXX"}
下面以驾驶状态检测项目为例,地址: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
训练后提交分数到kaggle的命令
!kaggle competitions submit -c state-farm-distracted-driver-detection -f submission.csv -m "Message"
4. 使用上传按钮上传到磁盘
Google提供67G磁盘空间。使用上传按钮上传下面的图像。此方法适用于小型数据集或自己的数据集:
jovian 有一个名为 open datasets 的库。
首先,使用-
将其安装到colab中!pip install opendatasets --upgrade
import opendatasets as od
dataset_url = 'https://www.kaggle.com/tunguz/us-elections-dataset'
od.download(dataset_url)
URL 可以是任何链接,无论是 google 链接还是 kaggle 链接。