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

调用MNIST数据集元素时出现TypeError: 'bool' object is not callable错误如何解决?

问题解决:TypeError: 'bool' object is not callable

错误根源在于transform参数的取值错误:你给transform传了布尔值True,但这个参数要求传入可调用的变换对象(比如图像预处理函数),而布尔值无法被调用,所以在访问train_data[0]时触发报错。

修复步骤:

  • 首先导入torchvision.transforms模块
  • 将transform=True替换为实际的变换对象,最基础的是transforms.ToTensor(),它能把PIL图像转换成PyTorch张量

修改后的代码:

import torchvision.transforms as transforms
from torchvision import datasets

train_data = datasets.MNIST(root='D:\medical_imaging_radiation_therapy\medimg_udemy',
                           train=True, download=True, transform=transforms.ToTensor() )

train_data[0]  # 现在可以正常访问数据

扩展:多个变换组合

如果需要对图像做多种预处理(比如归一化),可以用transforms.Compose把多个变换打包:

transform = transforms.Compose([
    transforms.ToTensor(),
    transforms.Normalize((0.1307,), (0.3081,))  # MNIST数据集的均值和标准差
])

train_data = datasets.MNIST(root='D:\medical_imaging_radiation_therapy\medimg_udemy',
                           train=True, download=True, transform=transform )

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.08 00:40:18