迭代训练集,随机抽取batch_size数量的图片,报错索引超出范围index out of range

在训练SRGAN模型时,训练到一半突然终止并报错索引越界,排查发现是在迭代dataloder时,构造数据集的函数中有这样一句:

这句的作用是按照排列好的顺序读取图片 ,打印index语句的时候,打印了一部分,之后出现了索引越界错误,应该是其中某些文件的索引有空,或者超出范围,解决方案是跳过这些索引的文件,所以使用try,except,把这两句框起来,没错的时候正常运行,有错的时候跳过当前索引的文件,就运行成功了。

迭代训练集,随机抽取batch_size数量的图片,报错索引超出范围index out of range_第1张图片

还是这句,后面训练到一半报错UnboundLocalError: local variable 'labels' referenced before assignment

局部变量在赋值之前已经被引用,解决方案是labels修改为global变量,然后就运行成功了。

11/25后续,后面给数据集添加新数据的时候发现之前label文件夹和对应的img文件夹中图片的数量不一样,笔者训练的是有监督生成对抗网络,这两个文件夹的数据要是成对出现的,可能就是因为这个原因导致有的图片不是成对的,所以才报错了索引错误。

你可能感兴趣的:(深度学习,神经网络,人工智能)