Ошибка типа: не удается обработать тип данных в изображении PIL

1

У меня тензор Питорша размером (4,3,224,224). Когда я пытаюсь преобразовать первый тензор в объект Image, он говорит:

TypeError: Cannot handle this data type

Я выполнил следующую команду:

img = Image.fromarray(data[0][i].numpy().astype(np.uint8))

где данные являются тензором Питорча

Я пробовал другие решения, но не мог найти решения.

Пожалуйста, предложите !!

Теги:
image-processing
numpy
python-imaging-library
pytorch

1 ответ

1
Лучший ответ

Вы пытаетесь преобразовать 3x224x224 np.array в изображение, но PIL.Image ожидает, что его изображения будут иметь форму 224x224x3, прежде чем вы получите сообщение об ошибке.
Если вы транспонируете свой тензор так, чтобы размер канала был последним (а не первым), у вас не должно быть проблем

img = Image.fromarray(data[0][i].transpose(0,2).numpy().astype(np.uint8))

Ещё вопросы

Сообщество Overcoder
Наверх
Меню