неверный индекс 0-dim тензора. Используйте tenor.item (), чтобы преобразовать 0-dim тензор в число Python - PullRequest
0 голосов
/ 25 июня 2019

Я использую учебник PyTorch для вычисления точности по классам, и это исключает ошибку, которая использует tensor.item(), которая уже находится в class_correct[target] += c[i].item()

class_correct = list(0. for i in range(15))
class_total = list(0. for i in range(15))

with torch.no_grad():

    for ii, data in enumerate(test_loader): 

        t_image, target, classess, image_path  = data

        t_image = t_image.to(device)
        target = target.to(device)

        outputs = model(t_image)

        _, predicted = torch.max(outputs, 1)
        c = (predicted == target).squeeze()

        for i in range(4):
            target = target[i]
            class_correct[target] += c[i].item()
            class_total[target] += 1

for i in range(14):
    print('Accuracy of %5s : %2d %%' % (
        classes[i], 100 * class_correct[i] / class_total[i]))  

, любой комментарий будет оценен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...