从图像角度理解torch.mean()函数。继而学习torch.max等等相关函数

(1)归根到底,torch.mean()函数是求平均值的

(2)深度学习时,图片通常是四位的即[b,c,h,w]。其中b表示图片个数,c、h、w分别表示每一个图片通道数,高和宽

假设 y = torch.arange(24).view(2,2,3,2)。也就是有两个图片,每个图片的维度、高、宽是2,3,2

从图像角度理解torch.mean()函数。继而学习torch.max等等相关函数_第1张图片

①torch.mean(dim = 0 , keepdim = True)

对某一个维度求torch.mean()我们就首先将该维度置为1,因此,这个最终结果的维度一定是[1,2,3,2]。

0为表示的是图像个数,也就是对每一个图像的对应位置求平均值。(下面这段内容可以不看:在看一篇vit相关的论文时,特征图是[b,HW,C],这时在第0维度上进行求平均值代替平均池化的操作。)

从图像角度理解torch.mean()函数。继而学习torch.max等等相关函数_第2张图片

②torch.mean(dim = 1 , keepdim = True)

对某一个维度求torch.mean()我们就首先将该维度置为1,因此,这个最终结果的维度一定是[2,1,3,2]。

1维为表示的是每个图像的通道,也就是在同一个图像的对应通道像素值进行求平均,如图

从图像角度理解torch.mean()函数。继而学习torch.max等等相关函数_第3张图片

③torch.mean(dim = 3 , keepdim = True)

对某一个维度求torch.mean()我们就首先将该维度置为1,因此,这个最终结果的维度一定是[2,2,1,2]。第四维我们就不做了实际上从这就已经很清晰啦。

2维为表示的是每个图像的每一个通道的高,因此我们要对每一个图像的每一个通道上的每一个高进行求平均,如图

从图像角度理解torch.mean()函数。继而学习torch.max等等相关函数_第4张图片

你可能感兴趣的:(python,深度学习,numpy,pytorch)