【Python报错】train epoch数据读取for i, batch in enumerate(train_loader)失败?卡住?

已实现:根据路径加载图像和目标,即 train_loder内的数据样式对应 [image , target]

现目标:将数据输入到模型中进一步处理

做法:传统样式,不过多叙述。

for i, batch in tqdm(enumerate(train_loader), desc=f
"Epoch: {epoch + 1}/{epochs}. Loop: Train",
total=len(train_loader)) 
if is_rank_zero(args) else enumerate(train_loader):

 问题:报错,各种报错,因为是复盘整理,改错一个出现另一个,就全贴在这啦!

  • for i, batch in enumerate(train_loader)
  • exception: no description for  for i, batch in enumerate(train_loader):
  • python NotImplementedError no description
  • Caught IndexError in DataLoader worker process 0
  • raise NotImplementedError NotImplementedError

思考:关于借鉴数据处理的过程,因此有些参数实际没有理解全面。 

  1. dataloader里面num_worker的问题,设置为0、1?取决于是否多线程加载,加载的进程数,0代表不使用多进程。设置问题,有的会出现数据读取卡住情况。
  2. dataloader的参数设置,自定sample,那么shuffle=False,两者互斥
  3. 优先检查train_loader样式,是否符合输入,Debug~
  4. 反复失败,新建文件重新编程,离谱成功。(太痛了!建议优先尝试)

  5. 缩进问题,规范化,命名问题,基础错误就不明说了。(该)

推荐学习:

  • tqdm介绍及常用方法
  • Dataloader重要参数与内部机制
  • Pytorch DataLoader详解 | zdaiot
  • Python enumerate() 函数
  • Python迭代DataLoader时出现TypeError: Caught TypeError in DataLoader worker process 。

你可能感兴趣的:(【Python报错】,python,深度学习)