跑模型的日子就是天天、天天地改bug,bug天天对我说“爱你”,我只想让它滚出地球呜呜呜呜呜呜。为了表达我对它们的“爱意”,我一定要把这几天的辛酸泪记录下来!
前情
前情是我开始跑GitHub上大佬的模型,下载好了资源,准备好了环境,开始运行,毫无意外,报错:
BrokenPipeError: [Errno 32] Broken pipe
去网上找原因,一般是因为线程设置过多,在内存不够的情况下会出现线程管道破裂。
(碰到这个问题的朋友,可以直接问题解决,就不要浪费时间看我中间一大段叭叭叭叭了)
第一种解决办法:将num_workers设置为0.
RUN AGAIN!
继续报错
OK fine,那我继续找办法。
第二种解决办法:
加入下面代码,直接忽略管道破裂的报错:
from signal import signal, SIGPIPE, SIG_DFL
signal(SIGPIPE, SIG_DFL)
RUN AGAIN AND AGAIN!
哇喔!我就知道没那么顺利地让我跑出来,它就是想让我接着报错接着哭!!!
好嘛,继续找原因,发现signal这个包一般是在Linux系统下才有的,Windows不支持,OMG!不会吧不会吧我不会要去整个Linux系统吧救命!
艰难的Linux之路
好家伙,我还真就去整