FoBaokuku 2022-04-21 19:26 采纳率: 100%
浏览 1203
已结题

python 报错:TypeError: object of type 'MiddleDataset' has no len()

** 问题遇到的现象和发生背景**
在进行自建数据集进行data.DataLoader时的时候

问题相关代码,请勿粘贴截图
train_set = MiddleDataset(config.dataset_path, transform_train, 'train') # 这一步报的错__
self.train_loader = data.DataLoader(dataset=train_set, batch_size=config.batch_size, shuffle=True, num_workers=1)

** 运行结果及报错内容 **
前两个为python内置代码里的异常,
File "E:\PycharmProjects\pythonProject\venv\lib\site-packages\torch\utils\data\sampler.py", line 101, in init if not isinstance(self.num_samples, int) or self.num_samples <= 0:
File "E:\PycharmProjects\pythonProject\venv\lib\site-packages\torch\utils\data\sampler.py", line 109, in num_samples return len(self.data_source)
TypeError: object of type 'MiddleDataset' has no len()

求一个解决的办法!!__

  • 写回答

1条回答 默认 最新

  • 不会长胖的斜杠 后端领域新星创作者 2022-04-21 19:34
    关注

    你调用了len(MiddleDataset)吧,这个是没有len()方法的,你应该找找参数里面哪个是str类型的,用len()包住,而不是MiddleDataset整体

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 4月29日
  • 已采纳回答 4月21日
  • 创建了问题 4月21日