我不明白为什么100x100图片的pytorch转换会变成3x100图片。
print("Original shape ", x.shape)
x = transforms.Compose([
transforms.ToPILImage(),
transforms.ToTensor()
])(x)
print("After transformation shape ", x.shape)
输出
Original shape torch.Size([100, 100, 3])
After transformation shape torch.Size([3, 100, 3])
发生了什么事?
答案 0 :(得分:1)
根据文档https://pytorch.org/docs/stable/torchvision/transforms.html#torchvision.transforms.ToPILImage,如果输入为Torch张量,则形状为C xH xW。因此将100视为通道数。由于没有对应于100个通道的模式,因此将其解释为RGB(3个通道)。
因此,您需要输入形状torch.Size([3, 100, 100])
以使其按需工作。