小编饼干大*_*干大仙的帖子

Pytorch CNN 训练中的“RuntimeError:预期标量类型为 Double 但发现 Float”

我刚刚开始学习 Pytorch 并创建了我的第一个 CNN。该数据集包含 3360 张 RGB 图像,我将它们转换为[3360, 3, 224, 224]张量。数据和标签在dataset(torch.utils.data.TensorDataset). 下面是训练代码。

    def train_net():
        dataset = ld.load()
        data_iter = Data.DataLoader(dataset, batch_size=168, shuffle=True)
        net = model.VGG_19()
        summary(net, (3, 224, 224), device="cpu")
        loss_func = nn.CrossEntropyLoss()
        optimizer = optim.SGD(net.parameters(), lr=0.001, momentum=0.9, dampening=0.1)
        scheduler = torch.optim.lr_scheduler.StepLR(optimizer, step_size=50, gamma=0.1)
        for epoch in range(5):
            print("epoch:", epoch + 1)
            train_loss = 0
            for i, data in enumerate(data_iter, 0):
                x, y = data
                print(x.dtype)
                optimizer.zero_grad()
                out = net(x)
                loss = loss_func(out, y)
                loss.backward()
                optimizer.step() …
Run Code Online (Sandbox Code Playgroud)

python scalar deep-learning pytorch tensor

4
推荐指数
1
解决办法
3519
查看次数

标签 统计

deep-learning ×1

python ×1

pytorch ×1

scalar ×1

tensor ×1