首页 > 解决方案 > make_grid() 如何改变张量的维度?

问题描述

我正在尝试可视化批量数据加载器中加载的图像。我正在使用以下代码段:

def imshow(inp, title=None):
"""Imshow for Tensor."""
inp = inp.numpy().transpose((1,2,0))
print(inp.shape)
plt.imshow(inp)
if title is not None:
     plt.title(title)


# Get a batch of training data
image, label = next(iter(train_loader))
print(image.shape)
# Make a grid from batch
out = torchvision.utils.make_grid(image)
imshow(out, title=[label[x] for x in label])

我无法理解为什么make_grid将维度从 更改torch.Size([4, 3, 224, 224])torch.Size([3, 228, 906])224,224指定从到的过渡228,906是令人困惑的。不应该3, 224,224吗?

标签: python

解决方案


推荐阅读