pytorch里面的mean函数使用

本文详细介绍了如何在PyTorch中对张量进行维度上的平均值计算,以(2, 3, 4)形状的张量为例,展示了在channels维度取均值的效果。解释了在RGB图像上下文中,对channels取均值意味着计算每个像素的通道平均值,从而减少到单通道。此外,还讨论了张量平均操作在深度学习和图像处理中的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import torch

x = torch.arange(24).view(2,3,4).float()
print(x)

"""
输出是这样的
[[[ 0.,  1.,  2.,  3.],
  [ 4.,  5.,  6.,  7.],
  [ 8.,  9., 10., 11.]],

 [[12., 13., 14., 15.],
  [16., 17., 18., 19.],
  [20., 21., 22., 23.]]]
"""

如上,创建一个shape为(2,3,4)的张量。我们可以把它看成一个图片,图片的shape为

(channels=2, width=3,  height=4)

1.所谓的mean就是取平均值,无非就是看取哪一个维度的平均值

例如,在第0个维度channels上取平均值:

import torch

x = torch.arange(24).view(2,3,4).float()
y1 = x.mean([0])
print(y1)


"""
x输出是这样的
[[[ 0.,  1.,  2.,  3.],
  [ 4.,  5.,  6.,  7.],
  [ 8.,  9., 10., 11.]],

 [[12., 13., 14., 15.],
  [16., 17., 18., 19.],
  [20., 21., 22., 23.]]]
"""


"""
y1输出结果为:
[[ 6.,  7.,  8.,  9.],
 [10., 11., 12., 13.],
 [14., 15., 16., 17.]]
"""

 通过对比x和y1的输出结果可以看出:对于一个(channels,width, height)的张量,如果在channels上取均值的话,就是对每一个channel相加然后取平均值,它输出的shape为(width, height)。

以RGB图像为例,在channels上取均值,就是对RGB三个通道计算平均值,最后变成一个通道。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值