Я следовал следующему руководству на веб-сайте pytorch: https://pytorch.org/tutorials/intermediate/torchvision_tutorial.html
Я обучил свою модель на базе данных глаз, чтобы обнаружить зрачка. Я сохраняю обученную модель и открываю ее для оценки. Проблема в том, что если на изображении нет глаз, модель будет красть sh.
. Для воспроизведения я сначала напечатал модель на рабочем изображении:
[{'boxes': tensor([[126.9488, 112.5852, 141.5698, 127.4215]], device='cuda:0'), 'labels': tensor([1], device='cuda:0'), 'scores': tensor([1.0000], device='cuda:0'), 'masks': tensor([[[[0., 0., 0., ..., 0., 0., 0.],
[0., 0., 0., ..., 0., 0., 0.],
[0., 0., 0., ..., 0., 0., 0.],
...,
[0., 0., 0., ..., 0., 0., 0.],
[0., 0., 0., ..., 0., 0., 0.],
[0., 0., 0., ..., 0., 0., 0.]]]], device='cuda:0')}]
Затем на картинка с закрытым глазом: (так что ничего не обнаружено)
[{'boxes': tensor([], device='cuda:0', size=(0, 4)), 'labels': tensor([], device='cuda:0', dtype=torch.int64), 'scores': tensor([], device='cuda:0'), 'masks': tensor([], device='cuda:0', size=(0, 1, 255, 255))}]
Последний должен выглядеть как первый.
Ошибка, которую я получаю, такова:
img1 = Image.fromarray(prediction[0]['masks'][0, 0].mul(255).byte().cpu().numpy())
IndexError: index 0 is out of bounds for dimension 0 with size 0
Я получаю, что пытаюсь достичь чего-то за пределами списка, но я не могу на самом деле инициировать список нулей предсказания, потому что это загруженная модель. Модель представляет собой файл .pt
Если вам нужно что-то еще, пожалуйста, скажите мне
С уважением