RuntimeError: Pin memory thread exited unexpectedly

项目场景:

最近在用UNETR做医学图像的分割,下载好源代码和作者数据后,在终端输入命令行准备训练时报错


问题描述

原代码没变,在终端命令行如下

python main.py --feature_size 32 --batch_size 1 --logdir unetr_test --optim_lr 1e-4 --lrschedule warmup_cosine --infer_overlap 0.5 --save_checkpoint --data_dir "/data/MAE/research-contributions-main/UNETR/BTCV/dataset/dataset0/" --distributed

报错:
RuntimeError: Pin memory thread exited unexpectedly


原因分析:

当计算机的内存充足的时候,可以设置pin_memory=True。当系统卡住,或者交换内存使用过多的时候,设置pin_memory=False
参考:torch之DataLoader参数pin_memory解析


解决方案:

例如:找到 data.DataLoader 函数,把参数 pin_memory=True 改成pin_memory=False,注意测试集的、训练集的还有验证集的DataLoader都要改
在这里插入图片描述


版权声明:本文为weixin_40198079原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。