Let’s BS be the batch size, H the height, w the weight, and c the number of channels which is 3 in my case.
When I save my image in this shape (BS,C,H,W) with
torchvision.utils.save_image(image, path)
it works very well but the image is unreadable since the format is wrong.
But when I am reshaping my image into the right format which is (BS,H,W,C), The code below does not work
image = image.reshape(BS,H,W,C) torchvision.utils.save_image(image, path)
Here is the error that I am stuck in:
TypeError: Cannot handle this data type: (1, 1, 256), |u1
Advertisement
Answer
You wanted your image to have size (BS, C, H, W), but you are incorrectly reshaping it.
Assuming the image.shape is (BS, H, W, C), perhaps you meant to perform image = image.permute(0, 3, 1, 2) which moves the channel dimension in the second position, to obtain the required shape.