Pytorch 二维矩阵中关于dim使用的样例

本文通过实例详细解析了PyTorch中Softmax函数的使用方法,特别是在不同维度上的应用。展示了如何通过设置dim参数使矩阵行或列的元素和等于1,对理解PyTorch中的张量操作及概率分布转换有重要意义。
import torch
a = torch.tensor([[1.0, 2.0, 3.0],
                  [2.0, 2.0, 2.0],
                  [3.0, 2.0, 1.0]])
print(a.shape)
print(a)
"""
torch.Size([3, 3])
tensor([[ 1.,  2.,  3.],
        [ 2.,  2.,  2.],
        [ 3.,  2.,  1.]])
"""

使用softmax函数,当dim=1时,矩阵中每一行的和为1:

import torch.nn.functional as F
attention = F.softmax(a,dim=1)
print(attention)
"""
tensor([[ 0.0900,  0.2447,  0.6652],
        [ 0.3333,  0.3333,  0.3333],
        [ 0.6652,  0.2447,  0.0900]])
"""

dim=0时,矩阵中每一列的和为1:

attention_1 = F.softmax(a,dim=0)
print(attention_1)
"""
tensor([[ 0.0900,  0.3333,  0.6652],
        [ 0.2447,  0.3333,  0.2447],
        [ 0.6652,  0.3333,  0.0900]])
"""

按照我目前的理解,当维度大于2时,dim参数就是对指定的维度进行处理了,二维矩阵的处理总是抱有疑惑,故本篇博客以一个样例来说明。

分享一个使用方括号的角度来对维度进行解读的博客:
【Pytorch】Pytorch 中的 dim

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值