开发者

pytorch 中的dim的作用范围详解

开发者 https://www.devze.com 2023-12-06 09:21 出处:网络 作者: mingqian_chu
目录dim简介1. 二维矩阵时1.1 求和1.2 softmax2. 三维张量时dim简介 pytorch中对tensor的很多操作都涉及到dim(维度的设置),但是,我们总是搞不清楚每个维度代表什么,到底设置几维,比如sum(求和)、softmax、ma
目录
  • dim简介
  • 1. 二维矩阵时
    • 1.1 求和
    • 1.2 softmax
  • 2. 三维张量时

    dim简介

    pytorch中对tensor的很多操作都涉及到dim(维度的设置),但是,我们总是搞不清楚每个维度代表什么,到底设置几维,比如sum(求和)、softmax、max(最大值)。

    下面看下pytorch 中的dim的作用范围。

    1. 二维矩阵时

    不同的运算, dim 的作用域都是一样的思想;

    当数据是二维矩阵时, 可以按照下面的思想理解

    对于矩阵:

    dim=0 按列操作(沿列向下)。

    dim=1 按行操作(跨行)。

    解释如下:

    dim=0 :这是指张量的第一个维度,通常被视为行。如果您沿此维度应用函数,它将按列处理数据。换句话说,该函数独立地应用于每一列。

    dim=1 :这是指张量的第二维,通常被视为列。当您沿此维度应用函数时,它会按行处理数据。也就是说,该函数独立地应用于每一行。

    1.1 求和

    >> a = torch.Tensor([[1,2,3], [4,5,6]])
    >> print(a.shape)
    torch.Size([2, 3])
    >> print(torch.sum(a, dim=0))
    tensor([5., 7., 9.])
    >> print(torch.sum(a, dim=1))
    tensor([ 6., 15.])

    1.2 softmax

    dim = 0) #对每一列进行softmax;

    dim =1) #对每一行进行softmax;

    import torch
    import torch编程客栈.nn.functional apythons F
    x= torch.Tensor( [ [1,2,3,4],[1,2,3,4],[1,2,3,4]])
    y1= F.softmax(x, dim = 0) #对每一列进行softmax
    print(y1)
    y2 = F.softmax(x,dim =1) #对每一行进行softmax
    print(y2)
    x1 = torch.Tensor([1,2,3,4])
    print(x1)
    y3 = F.softmax(x1,dim=0) #一维时使用dim=0,使用dim=1报错
    print(y3)
    (deeplearning) userdeMBP:pytorch user$ python test.py 
    tensor([[0.3333, 0.3333, 0.3333, 0.3333],
            [0.3333, 0.3333, 0.3333, 0.3333],
            [0.3333, 0.3333, 0.3333, 0.3333]])
    tensor([[0.0321, 0.0871, 0.2369, 0.6439],
            [0.0321, 0.0871, 0.2369, 0.6439],
            [0.0321, 0.0871, 0.2369, 0.6439]])
    tensor([1., 2., 3., 4.])
    tensor([0.0321, 0.0871, 0.2369, 0.6439])

    2. 三维张量时

    当dim=0时, 是对每一维度相同位置的数值进行softma编程x运算,和为1

    当dim=1时, 是对某一维度的列进行softmax运算,和为1

    当dim=2时, 是对某一维度的行进行softmax运算,和为1

    import torch 
    import torch.nn.functional as F 
    input= torch.randn(2,2,3))
    print(input)

    pytorch 中的dim的作用范围详解

    d编程客栈im= 0,

    pytorch 中的dim的作用范围详解

    dim=1,

    pytorch 中的dim的作用范围详解

    dim =2

    pytorch 中的dim的作用范围详解

    到此这篇关于pytorch 中的dim 的作用范围的文章就介绍到这了,更多相关pytorch dim内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多javascript多支持编程客栈(www.devze.com)!

    0

    精彩评论

    暂无评论...
    验证码 换一张
    取 消

    关注公众号