多线程冲突: "RuntimeError: main thread is not in main loop"

Environment

•  Linux

•  2080Ti

•  CUDA10.0

•  Python3

•  Tensorflow1.12



有时候会在运行到一定的epoch时突然中断报错,有时候会成功运行完全程。神奇的“上帝掷筛子”的Bug奇遇,报错信息:

                “RuntimeError: main thread is not in main loop”

来回检查了好多遍,发现可能是由于自己太强迫症,每个epoch结束都要作分布图保存。

在作图的过程中调用了matplotlib和sns等作图工具包,  相当于进入了另一个线程之中。在主线程main和作图的小线程display_score之间来回折腾,很容易线程出错。且epoch越大,出错概率越大。

解决方法:把作图的代码注释掉即可。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容