pytorch 中的dim 的作用范围

1. 二维矩阵时

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

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

对于矩阵:

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

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

解释如下:

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

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

1.1 求和

python 复制代码
>> 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;

python 复制代码
import torch

import torch.nn.functional as 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)
python 复制代码
(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时, 是对每一维度相同位置的数值进行softmax运算,和为1

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

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

python 复制代码
import torch 
import torch.nn.functional as F 
input= torch.randn(2,2,3))
print(input)

dim= 0,

dim=1,

dim =2

相关推荐
肖遥Janic27 分钟前
Stable Diffusion绘画 | 如何做到不同动作表情,人物角色保持一致性(上篇)
人工智能·ai·ai作画·stable diffusion
SEU-WYL42 分钟前
基于深度学习的3D人体姿态预测
人工智能·深度学习·3d
红米煮粥1 小时前
OpenCV-OCR
人工智能·opencv·ocr
xuehaisj1 小时前
地图箭头方向检测系统源码分享
人工智能·计算机视觉·目标跟踪
William_Edmund1 小时前
Python 语言学习——应用1.2 数字图像处理(第二节,变换)
人工智能·学习·计算机视觉
我爱学Python!2 小时前
面试问我LLM中的RAG,秒过!!!
人工智能·面试·llm·prompt·ai大模型·rag·大模型应用
zh路西法2 小时前
基于opencv-C++dnn模块推理的yolov5 onnx模型
c++·图像处理·pytorch·opencv·yolo·dnn·yolov5
weixin_514548892 小时前
机器学习课程学习周报十五
人工智能·学习·机器学习
慢成长2 小时前
如何创建虚拟环境并实现目标检测及验证能否GPU加速
人工智能
AIGC破防黑吗喽2 小时前
Midjourney零基础学习
人工智能·gpt·学习·ai·stable diffusion·midjourney·ai绘画