pytorch/text

`THIndexTensor_(size)(target, 0) == batch_size' failed. at d:\projects\pytorch\torch\lib\thnn\generic/ClassNLLCriterion.c:54

Open

#186 ouverte le 26 nov. 2017

Voir sur GitHub
 (4 commentaires) (0 réactions) (0 assignés)Python (822 forks)batch import
bughelp wanted

Métriques du dépôt

Stars
 (3 396 stars)
Métriques de merge PR
 (Aucune PR mergée en 30 j)

Description

I am trying to train my neural networks on dog breeds data set. After feed-forward, during the loss computation it throws this error :`THIndexTensor_(size)(target, 0) == batch_size' failed. at d:\projects\pytorch\torch\lib\thnn\generic/ClassNLLCriterion.c:54

criterion =nn.CrossEntropyLoss()
optimizer=optim.Adam(net.parameters(),lr=0.001)


for epoch in range(10):  # loop over the dataset multiple times
        running_loss = 0.0
        print(len(trainloader))
        for i, data in enumerate(trainloader, 0):
            # get the inputs
            inputs, labels  = data

            # wrap them in Variable
            inputs, labels = Variable(inputs).float(), Variable(labels).float().type(torch.LongTensor)


            # zero the parameter gradients
            optimizer.zero_grad()

            # forward + backward + optimize
            outputs = net(inputs)

            loss = criterion(outputs, labels)
            loss.backward()
            optimizer.step()
            # print statistics
            running_loss += loss.data[0]
            if i % 2000 == 1999:    # print every 2000 mini-batches
               print('[%d, %5d] loss: %.3f' %
                      (epoch + 1, i + 1, running_loss / 2000))
                running_loss = 0.0

Error is generated in this line :

       loss = criterion(outputs, labels)

What's the issue ??

Guide contributeur