RuntimeError: DataLoader worker (pid(s) 8548, 6916) exited unexpectedly

经过了两天的摸索,对于这个问题,终于圆满的解决了,对于一个深度学习的小白来说,面对这样的问题,实在太难受了。

在这几天里,不断去找一些博客的经验,很多都说把num_workers设置为0,但是却没有具体的关于如何设置的教程,使我在这个问题上特别难受。现在终于找到了解决办法了,希望能帮助到有同样问题的朋友。

由于在windows中是不能使用多个子进程加载数据的,在linux系统中可以。所以在windows中要将num_workers设置为0的。

具体怎么做呢,请往下看:

本文的例子问李沐老师的深度学习的示例(Lenet):

代码如下:

import torch
from torch import nn
from d2l import torch as d2l
from torch.utils import data

class Reshape(torch.nn.Module):
    def forward(self,x):
        return x.view(-1,1,28,28)

net = torch.nn.Sequential(
    Reshape(),nn.Conv2d(1,6,kernel_size=5,padding=2),nn.Sigmoid(),
    nn.AvgPool2d(2,stride=2),
    nn.Conv2d(6,16,kernel_size=5),nn.Sigmoid(),
    nn.AvgPool2d(kernel_size=2,stride=2),nn.Flatten(),#把低维保持,高维的拉成一维,最终为一维向量
    nn.Linear(16*5*5,120),nn.Sigmoid(),
    nn.Linear(120,84),nn.Sigmoid(),
    nn.Linear(84,10)
)


X = torch.rand(size=(1,1,28,28),dtype=torch.float32)
for layer in net:
    X = layer(X)
    #print(layer.__class__.__name__,'output shap
评论 30
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值