问题
python里os.listdir()
并不总是按照我们想要的顺序来排序的。
这几天在读取ABO下的数据集时,我写的代码在Windows下完美运行,render的图像和segmentation、base_color、metallic_roughness、normal是完全能够对应的。于是我就放心地把代码放到服务器上跑了,跑了三周,换了各种各样的网络结构,但是都训练不出来好的效果,今天我决定从头开始重新检查,结果发现,虽然在Windows下排序完全不会乱,但是在Ubuntu下可以说是完全乱套了,如下图所示。
Windows:
Ubuntu:
解决方案
因为乱序了,所以我们要做的就是将它们进行排序。
因为我这里的层级结构比较复杂,我就不放具体的代码了,但是可以先做子文件夹排序,再做子文件夹下子文件夹的排序,我参考的这个链接非常有帮助:【python】python中os.listdir的排序问题