import torch
a = torch.rand(4,3,28,28)
a[0].shape
输出: torch.Size([3, 28, 28])
a[0,0].shape
输出: torch.Size([28, 28])
a[0,0,2,4]
输出: tensor(0.7955)
a[:2].shape
输出: torch.Size([2, 3, 28, 28])
a变量是一个4维的tensor,可以表示CNN的输入 (batch_size,channel_size,width,height)
那么a[0]表示第一张图片,它的size应该是(3,28,28)
a[0,0]表示第一张图片的第一个通道 (28,28)
a[0,0,2,4]表示第一张图片的第一个通道的第三行第五列的值,因此输出结果是一个scaler
可以进一步做切片a[:2]表示获取前两张图片,它的形状是(2,3,428,28)
维度转换:一些主要的操作函数
view/reshape
squeeze/unsqueeze
transpose/t/permute
expand/repeat
a = torch.rand(4,1,28,28)
a.shape
输出(4,1,28,28)
a.view(4,28*28)
a.view(4,28*28).shape
输出(4,784)
意思是将图片的行列拼接在一起
a.view(4*2