目录
问题描述:
参考链接
问题分析
解决方案
出现情况
问题描述:
在使用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,所以相对于其他系统多线程训练的速度会比较慢