You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用TFDS加载LSUN-Bedroom子集时磁盘空间不足的解决方案咨询

解决TFDS加载LSUN-Bedroom部分数据时磁盘空间不足的问题

我之前也碰到过一模一样的坑——TFDS默认逻辑是先下载完整的数据集,再根据你指定的split筛选子集,所以哪怕你只想要10%的数据,它还是会尝试把42.7GB的整个LSUN-Bedroom都拉到Colab本地磁盘,自然就触发空间不足的报错了。这里有几个实用的解决方案:

1. 提前指定Split,只下载需要的部分

别直接用tfds.load,先通过数据集构建器(tfds.builder)明确告诉TFDS只下载你需要的split片段,这样就不会触发全量下载了:

import tensorflow_datasets as tfds

# 初始化LSUN-Bedroom的数据集构建器
builder = tfds.builder('lsun/bedroom')
# 只下载并预处理训练集的10%(要是需要后90%就换成train[10%:])
builder.download_and_prepare(split='train[:10%]')
# 加载指定好的子集
ds = builder.as_dataset(split='train[:10%]')

这个操作会让TFDS只下载对应比例的数据,不会碰剩下的90%,能直接把磁盘占用降到原来的1/10。

2. 用TFDS的GCS镜像直接读取(Colab环境首推)

Colab可以直接访问TensorFlow Datasets在Google Cloud Storage(GCS)上的预存镜像,LSUN-Bedroom刚好在这个镜像库里。你只需要在tfds.load里加个try_gcs=True参数,就能直接读取云端的数据集,完全不用下载到本地:

import tensorflow_datasets as tfds

# 直接从GCS加载10%训练集,本地零下载、零占用
ds = tfds.load('lsun/bedroom', split='train[:10%]', try_gcs=True)

这个方法是Colab里最省心的,既不用等漫长的下载,也不会占本地磁盘空间,跑起来速度还更快。

额外小提示

如果之前已经尝试过下载,记得清理Colab里的TFDS缓存文件,路径一般是~/tensorflow_datasets/,用这条命令就能删除LSUN相关的缓存:

!rm -rf ~/tensorflow_datasets/lsun/

避免残留文件占用空间,影响后续操作。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 20:53:10