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

在Google Colab使用PyTorch加载CelebA数据集出现语法错误求助

错误定位
  • 语法错误的核心原因是transforms.Compose()的括号未闭合:你在定义transform变量时,只写了Compose(的左小括号和内部列表的左中括号[,写完所有变换操作后遗漏了列表的右中括号]和Compose的右小括号),Python解析器会把下一行的dataset定义识别为transform赋值语句的一部分,因此抛出语法错误。
  • 额外注意:你设置的batch_size = 50000数值过大,普通消费级显卡的显存无法承载这么大的批量,后续训练时建议调整为32/64/128等常规数值。
修复后的完整代码
import torchvision
from torchvision.datasets import ImageFolder
from torch.utils.data import DataLoader
from torchvision import transforms

# 数据集根目录
data_root = 'data/celeba'
# 训练图片的空间尺寸,图片会被Resize到该大小
image_size = 64
# 批量大小,可根据自身显存容量调整
batch_size = 64

transform=transforms.Compose([
    transforms.Resize(image_size),
    transforms.CenterCrop(image_size),
    transforms.ToTensor(),
    transforms.Normalize(mean=[0.5, 0.5, 0.5],std=[0.5, 0.5, 0.5])
])

dataset = ImageFolder(data_root, transform)
# 可按需创建DataLoader加载数据
dataloader = DataLoader(dataset, batch_size=batch_size, shuffle=True, num_workers=2)
补充优化建议

如果你的CelebA是官方原始目录结构,也可以直接使用PyTorch内置的torchvision.datasets.CelebA类加载,不需要手动整理成ImageFolder要求的分类子目录结构,调用更便捷。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 22:12:02