Pytorch小记-torch.nn.Softmax(dim=1)如何理解?

Pytorch小记-torch.nn.Softmax(dim=1)如何理解?_双木的木的博客-CSDN博客_dim=1什么意思

在进行多分类时,时常看到Softmax分类函数,理论基础可看文章PyTorch深度学习实践概论笔记9-SoftMax分类器。应用时经常看到代码torch.nn.Softmax(dim=1),如何理解呢?

定义

将Softmax函数应用于一个n维输入张量,对其进行缩放,使n维输出张量的元素位于[0,1]范围内,总和为1。

公式

参数

dim (int) - Softmax将被计算的维度(因此沿dim的每个切片和为1)。

请注意

此模块不直接与NLLLoss一起工作,它期望在Softmax和它自己之间计算Log。

可以使用LogSoftmax代替(它更快并且有更好的数值属性)。
2.例子

import torch
a = torch.randn(2,3,4)
print(a)
a是维度为(2,3,4)的tensor,输出为:
tensor([[[-0.5947,  0.9496, -1.9366,  0.0580],
         [ 0.8346,  2.2958,  1.4638, -0.0390],
         [ 0.1379,  1.2085,  1.2671, -1.2156]],
 
        [[-0.1980, -0.8921, -1.1665, -1.2323],
         [-0.8220, -1.9701,  1.7183, -0.2698],
         [ 0.1977, -0.1474, -1.5431, -2.2217]]])

当dim=0时,指的是在维度0上的元素相加等于1。

torch.nn.Softmax(dim=0)(a)

当dim=1时,指的是在维度1上的元素相加等于1。

torch.nn.Softmax(dim=1)(a)

 

当dim=2时,指的是在维度2上的元素相加等于1。

torch.nn.Softmax(dim=2)(a)

 

 

  • 11
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值