docker 运行pytorch 程序报错---ERROR: Unexpected bus error encountered in worker.

1. 错误:ERROR: Unexpected bus error encountered in worker. This might be caused by insufficient shared memory (shm).

2. 原因:Pytorch的IPC会利用共享内存,在服务器上的docker中运行训练代码时,batch size设置得过大,shared memory不够(因为docker限制了shm),所以对于当前代码运行环境的共享内存必须足够大。

3. 解决方法:

(1)修改当前Docker的shm-size

docker run --runtime=nvidia -e NVIDIA_VISIBLE_DEVICES=0,1 --shm-size 8G  -it ******* env LANG=C.UTF-8 /bin/bash

(2)修改DataLoader中参数num_workers的值

dataloader = torch.utils.data.DataLoader(
        dataset,
        batch_size=16,
        shuffle=True,
        num_workers=0,
        pin_memory=True,
        collate_fn=dataset.collate_fn
    )

 

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值