【BUG调试】——OSError: Caught OSError in DataLoader worker process 0

目录

问题描述:

参考链接

问题分析

解决方案

出现情况


问题描述:

在使用pytorch搭建了VGG从头开始训练时出现了以下问题:

OSError: Caught OSError in DataLoader worker process 0

参考链接

参考up主视频:4.2 使用pytorch搭建VGG网络_哔哩哔哩_bilibili

参考博客文章:解决 OSError: cannot identify image file 或者 Caught TypeError in DataLoader worker process 8_梦坠凡尘-CSDN博客跑模型在读取数据是出错如题,找了两个多小时干到深夜依然不能解!!!本地把数据过了一遍都是OK的,代码也是一样!!!一模一样的代码一模一样的数据为何本地OK,服务器就挂了????最后网上给百度说是可能是Pillow版本的原因本地是Pillow == 5.2.0服务器是5.1.0最后将服务器升级为 Pillow5.2.0==真的解决了!!!!!!!!!谜之答案!!!!!浪费晚上两个多小时。心痛!谨记!...https://blog.csdn.net/c2250645962/article/details/108658892

问题分析

参考上述资源后,发现在Windows系统下线程只能设置为0,在Linux或者其他系统上可以设置为非0值

解决方案

修改前:

    # 加载训练数据集
    train_loader = torch.utils.data.DataLoader(train_dataset,
                                               batch_size=batch_size, shuffle=True,
                                               num_workers=nw)

修改后:

    train_loader = torch.utils.data.DataLoader(train_dataset,
                                               batch_size=batch_size, shuffle=True,
                                               num_workers=0)

最后问题解决,可以正常运行

出现情况

由于线程设置为0,所以相对于其他系统多线程训练的速度会比较慢

你可能感兴趣的:(Python,bug,修复,pytorch,深度学习,机器学习,VGG,BUG修复)