mmclassification测试时卡死

mmclassification测试时卡死

服务器:6张1080ti
系统:Ubuntu16.04
cuda:10.2
pytorch:1.8.2
mmcv-full:1.8.0+cu102
mmclassification:20220511

描述:在使用mmclassification,测试模型准确率时,发生卡死情况,从进度条看,数据全部正向推理完成,但是一直不输出最后的准确率;

解决方式

通过阅读源码,插入print语句,发现mmclassification中分布式计算需要通过collect_results_cpu函数把所有的结果收集起来,每个gpu会把结果写到临时文件夹.dist_test下,然后在rank=0时,再重新load到内存里,
通过这种方式把分散的计算结果统一起来。

进一步调试发现gpu-id=4时,无法正常保存临时结果,导致程序卡死。

通过CUDA_VISIBLE_DEVICES环境变量,把id=4的gpu屏蔽掉,只用其他5块就正常了。

总结

估计mmlab的其他工程都有类似逻辑,如果服务器gpu质量不好,均可能产生此类问题。

猜你喜欢

转载自blog.csdn.net/bcfd_yundou/article/details/124716285
今日推荐