python - 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
吗?
解决方案
推荐阅读
- svg - 调整窗口大小时的 Clip-Path vs Border-Radius 问题
- rust - Rust 堆栈大小
- visual-studio-2017 - Typemock 未与 VS2017 和 NUnit3 集成
- vapor - 在 Vapor 3 中返回带有位置标头的 201(已创建)
- makefile - GNU Make 在处理子目录下的目标和来自另一个目录的源时不报告任何规则
- c# - C# 中的 FindWindow(通过 pinvoke)找到所需的窗口句柄,但不是在所需的条件下。我如何解决它?
- ios - ios如何调试动态框架?
- javascript - 使用 GEOFirestore 获取附近的 GEO 结果
- javascript - 仅当我发送多个请求时nodejs才会崩溃
- .net - Entity Framework Core QueryTypes 可以将结果映射到多种类型的对象吗?