问题描述可以大致看看这篇[[[已解决]ERROR: Unexpected bus error encountered in worker. This might be caused by......-CSDN博客](https://blog.csdn.net/qq_41855453/article/details/130280934?ops_request_misc=&request_id=&biz_id=102&utm_term=Unexpected%20bus%20error%20encounter&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-130280934.142^v100^pc_search_result_base3&spm=1018.2226.3001.4187)]
打开cdsn的话基本两个解决方案:
1. 扩展共享内存 with docker
2. 降低num_workers的大小
首先对于方案一,我这边服务器没有docker,然后如何扩展shm without docker基本查不到。昨天走迂回路线想先下载一下docker然后再扩内存,结果太tm迂回了。docker我不懂,安的时候一堆报错,搞得事更多了。
对于方案二,网上说降低num_workers的大小,甚至得降到0。我试了试,也就是训练速度巨慢,也就是一两个小时训7个epoch。现在我解决了。我发现num_workers确实要降,之前源码上写的是
num_workers=os.cpu_count()
根据服务器也就是128,也就是服务器所有的cpu都是我的(不知道能不能这样理解),确实不合适。num_workers的设定可以看[[Pytorch DataLoader中的num_workers (选择最合适的num_workers值)_numworkers设置多少-CSDN博客](https://blog.csdn.net/CRW__DREAM/article/details/128700648?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-2-128700648-blog-119653283.235%5Ev31%5Epc_relevant_yljh&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-2-128700648-blog-119653283.235%5Ev31%5Epc_relevant_yljh)]。
其次就是降低batch_size。根据我这边的情况
降到8就能跑了。