Pytorch eval不动 也不报错

问题

单卡训练, 训练的时候很快,到eval的时候,跑了一个batch之后不动了,也不报错。

做过的尝试,依旧不动

1,valid_loader 的pin_memory改为False。如果是True, 会把数据自动加载到pin_memory,加快了数据
传输到GPU的速度。
2, num_workers改为1, 有人说workers数太多可能导致多进程互锁,可以减少或不用

最终work的策略

valid_loader:
pin_memory=True # 这个很关键,之前网上的人说改False可能会解决问题,我的实验证明不work,改回True就跑得正常了
num_workers=4
batch_size=8

train_loader:
pin_memory=True
num_workers=4
batch_size=8
这部分参数和valid_loader的一样

总的来说,首先是valid_loader的pin_memory保持True,这个好理解,数据是自动加载到pin_memory,加快了数据传输到GPU的速度,推理过程自然加快。然后,workers数目和batch_size调小,valid_loader和train_loader的都要调小。train_loader的pin_memory 也是保持True。

你可能感兴趣的:(项目遇到的问题,pytorch,深度学习,python)