正确的形状(BS、H、W、C)在 torchvision.utils.save_image 中不起作用

correct shape (BS,H,W,C) not working in torchvision.utils.save_image

设 BS 为批量大小,H 为高度,w 为重量,c 为通道数,在我的例子中为 3。

当我用

以这种形状 (BS,C,H,W) 保存图像时
torchvision.utils.save_image(image, path)

效果很好,但由于格式错误,图像无法读取。

但是当我将图像重塑为正确的格式(BS,H,W,C)时,下面的代码不起作用

image = image.reshape(BS,H,W,C)  
torchvision.utils.save_image(image, path)

这是我遇到的错误:

TypeError: Cannot handle this data type: (1, 1, 256), |u1

您希望图像的大小为 (BS, C, H, W),但您错误地重塑了它。

假设 image.shape(BS, H, W, C),也许您打算执行 image = image.permute(0, 3, 1, 2) 将通道尺寸移动到第二个位置,以获得所需的形状。