亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Pytorch MNIST 代碼返回 IndexError

Pytorch MNIST 代碼返回 IndexError

慕田峪9158850 2023-03-22 16:36:48
我遵循了 Pytorch 文檔并為 MNIST 數據集制作了一個極其簡單的分類器。下面是我的代碼:import numpy as npimport torchimport torchvisionfrom torchvision import transforms, datasetsimport torch.nn as nnimport torch.nn.functional as Ftransform = transforms.Compose([    transforms.ToTensor(),    transforms.Normalize([0.5], [0.5])    ])train = datasets.MNIST('', train=True, download=True, transform=transform)test = datasets.MNIST('', train=False, download=True, transform=transform)trainset = torch.utils.data.DataLoader(train, batch_size=1, shuffle=True)testset = torch.utils.data.DataLoader(test, batch_size=1, shuffle=False)class Classifier(nn.Module):    def __init__(self, D_in, H, D_out):        super(Classifier, self).__init__()        self.linear_1 = torch.nn.Linear(D_in, H)        self.linear_2 = torch.nn.Linear(H, D_out)    def forward(self, x):        x = self.linear_1(x).clamp(min=0)        x = self.linear_2(x)        return F.log_softmax(x, dim=1)net = Classifier(28*28, 128, 10)optimizer = torch.optim.Adam(net.parameters(), lr=1e-3)for epoch in range(3):    running_loss = 0.0    for X, label in iter(trainset):        X = X.view(28*28, -1)        optimizer.zero_grad()        output = net(torch.flatten(X))        loss = nn.CrossEntropyLoss(output, label)        loss.backward()        optimizer.step()        running_loss += loss.item()        if i % 2000 == 1999:    # print every 2000 mini-batches            print(f'[{epoch + 1}, {i + 1}] loss: {running_loss / 2000}')            running_loss = 0.0print("Finished training.")torch.save(net.state_dict(), './classifier.pth')出于某種原因,我得到了輸出IndexError: Dimension out of range (expected to be in range of [-1, 0], but got 1)在該行:output = net(torch.flatten(X)在此先感謝您的幫助!
查看完整描述

1 回答

?
尚方寶劍之說

TA貢獻1788條經驗 獲得超4個贊

flatten()您刪除所有維度(包括批次維度)時!

嘗試:

output = net(x.view(x.shape[0], -1))


查看完整回答
反對 回復 2023-03-22
  • 1 回答
  • 0 關注
  • 155 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號