Pytorch torch.mean()的简单用法

简单来说就是求平均数
比如以下的三种简单情况:

import torch

x1 = torch.Tensor([1, 2, 3, 4])
x2 = torch.Tensor([[1],
                   [2],
                   [3],
                   [4]])
x3 = torch.Tensor([[1, 2],
                   [3, 4]])
y1 = torch.mean(x1)
y2 = torch.mean(x2)
y3 = torch.mean(x3)
print(y1)
print(y2)
print(y3)

输出:

tensor(2.5000)
tensor(2.5000)
tensor(2.5000)

也就是说,在没有指定维度的情况下,就是对所有数进行求平均。

更多的时候用到的是有维度的情形,如:

import torch

x = torch.Tensor([1, 2, 3, 4, 5, 6]).view(2, 3)
y_0 = torch.mean(x, dim=0)
y_1 = torch.mean(x, dim=1)
print(x)
print(y_0)
print(y_1)

输出:

tensor([[1., 2., 3.],
        [4., 5., 6.]])
tensor([2.5000, 3.5000, 4.5000])
tensor([2., 5.])

输入tensor的形状为(2, 3),其中2为第0维,3为第1维。对第0维求平均,得到的结果为形状为(1, 3)的tensor;对第1维求平均,得到的结果为形状为(2, 1)的tensor。
可以理解为,对哪一维做平均,就是将该维所有的数做平均,压扁成1层(实际上这一层就给合并掉了,比如上面的例子,2维的tensor在求平均数后变成了1维),而其他维的形状不影响。
如果要保持维度不变(例如在深度网络中),则可以加上参数keepdim=True

y = torch.mean(x, dim=1, keepdim=True)
  • 33
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
torch.mean函数是用来计算张量的平均值的。它可以应用于多种情况,具体取决于输入张量的维度和参数的设置。 在第一个引用中的示例中,对于一维张量x1、二维张量x2和二维张量x3,torch.mean函数会计算它们的平均值,并返回一个标量。例如,对于x1,torch.mean(x1)会返回2.5。 在第二个引用中的示例中,对于二维张量x,torch.mean函数可以指定计算平均值的维度。通过设置dim参数,可以选择是沿着行还是沿着列计算平均值。例如,对于x,torch.mean(x, dim=0)会返回沿列方向计算的平均值,而torch.mean(x, dim=1)会返回沿行方向计算的平均值。 在第三个引用中的示例中,torch.mean函数还可以通过设置keepdim参数来保持输出张量的维度。当keepdim=True时,输出张量将保持与输入张量相同的维度。例如,对于二维张量x,torch.mean(x, dim=0, keepdim=True)会返回一个形状为(1, 3)的张量。 总结而言,torch.mean函数用于计算张量的平均值,可以根据输入张量的维度和参数的设置进行不同的计算。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Pytorch torch.mean()的简单用法](https://blog.csdn.net/qq_40714949/article/details/115485140)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *3* [PyTorch基础(九)----- torch.mean()方法](https://blog.csdn.net/dongjinkun/article/details/115393961)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值