1.view / reshape
#Tensor的维度变换1:view和reshape,两者完全可以通用
a=torch.rand(4,1,28,28)#随机均匀初始化,四张28*28尺寸的灰度图片
print(a.shape)
print(a.view(4,28*28))#直接把位置信息和通道信息合并
print(a.view(4,28*28).shape)
print(a.view(4,28*28).dim())#2
print(a.view(4*28,28).shape)#把所有的照片的所有通道和所有行合并
print(a.view(4*28,28).dim())#2
print(a.view(4*1,28,28).shape)#把照片和通道合并
print(a.view(4*1,28,28).dim())#3
print(a.view(4,784).shape)#最后会恢复成[4,28,28,1],Logic Bug
2.unsqueeze : 增加一个维度
#Tensor的维度变换2:unsqueeze增加一个维度
b=torch.rand(4,1,28,28)
print("示例一:")
print(b.shape)#torch.Size([4, 1, 28, 28])
print("示例二:")#增加额外的维度,没有增加数据,增加一个组,一个组里面有四张图片
print(b.unsqueeze(0).shape)#torch.Size([1, 4, 1, 28, 28])
print("示例三:")
print(b.unsqueeze(-1).shape)#torch.Size([4, 1, 28, 28, 1])
print("示例四:")
print(b.unsqueeze(4).shape)#torch.Size([