Cal's Blog

Cal's Blog
写字的地方
  1. 首页
  2. Python
  3. 正文

Python os.listdir 排序不正确导致数据错误

2020年4月12日 310点热度 0人点赞 0条评论

前段时间在训练模型时,发现了一个莫名的问题,在两台机器上训练结果完全不同,一台机器可以拟合的比较好,另一台完全无法拟合数据。

同时,两台机器拿相同模型weights相同数据进行evaluate时,结果也相差很大。


检查各种问题,发现是读取数据的时候使用Python os.listdir获取路径下的所有文件,而这个方法的返回值是路径下所有文件名组成的一个list,重点是这个list顺序是没有规律的(在其中一台机器上是顺序的)。
这个问题导致读取的数据和label没有对应,自然也就不能训练理想的结果,同时evaluate时也会出现较高loss的情况。


解决方法也很简单,直接对os.listdir返回的list,进行一次排序就可以了。排序使得文件顺序和label对应,具体顺序根据label顺序来定。

 

标签: 暂无
最后更新:2021年9月21日

caltong

Stay hungry, stay foolish.

点赞

文章评论

取消回复

caltong

Stay hungry, stay foolish.

文章分类
  • Python / 1篇
  • Ubuntu / 3篇
  • 博客 / 3篇
  • 服务器 / 5篇
  • 深度学习 / 3篇
  • 算法 / 2篇
  • 网络 / 3篇

COPYRIGHT © 2021 CALTONG.COM. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

浙ICP备20024866号-1