关于训练unet时报错: Unexpected bus error encountered in worker. This might be caused by insufficient shared

问题描述可以大致看看这篇[[[已解决]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就能跑了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值