Сохранить тензор Pytorch 4D как изображение

#python #image #pytorch #tensor

#python #изображение #pytorch #тензор

Вопрос:

У меня есть 4-d Pytorch тензор, который я хотел бы сохранить на диск в формате .jpg

Мой тензор имеет следующий размер:

 print(image_tensor.size())

>>>torch.Size([1, 3, 400, 711])
  

Я могу просмотреть весь тензор как одно изображение в моей IDE:

 ax1.imshow(im_convert(image_tensor))
  

Поскольку я могу просматривать весь тензор как одно изображение, я предполагаю, что есть способ сохранить его как таковой. Однако, когда я пытаюсь сохранить изображение, похоже, что оно сохраняет только канал синего цвета. Я хотел бы сохранить весь тензор как одно изображение.

 img1 = image_tensor[0]
save_image(img1, 'img1.jpg')
  

Комментарии:

1. изображения обычно имеют цветовой канал последним.

Ответ №1:

В PyTorch этот фрагмент работает и сохраняет изображение:

 from torchvision.utils import save_image
import torch
import torchvision

tensor= torch.rand(2, 3, 400, 711) 

img1 = tensor[0]
save_image(img1, 'img1.png')
  

Перед сохранением изображения вы можете проверить форму img1 в любом случае, что-то произошло.