1、程序训到第一个epoch的最后一个iter就卡住了
原因:最后一个iter的batch_size < 其他iter
解决方案:sampler设计num_sample被batch_size整除
2、使用Pytorch dataloader时卡住
原因:pytorch的worker是子进程,如果worker因为错误或者内存满了(最常见的原因)什么原因挂掉了,现象就是主进程卡住了。具体dataloader的worker为什么会挂,就各有千秋了,最常见的还是dataloader的某个worker内存消耗太大/shm满了之类的原因,或者dataloader里面异常了
解决方案:禁用多线程num_worker=0