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越大,出错概率越大。
解决方法:把作图的代码注释掉即可。