首页 > 其他分享 >[PyTorch] 如何判定运算维度

[PyTorch] 如何判定运算维度

时间:2023-12-05 17:47:23浏览次数:33  
标签:dim 运算 space torch PyTorch 判定 维度 quad 进行

实际上无论是几维,方法都是一样。假设以 torch.softmax() 为例:

# 下面运行结果所使用的代码
import torch
import numpy as np
z = np.arange(1, 33).reshape((2, 2, 2, 4))
z = torch.tensor(z, dtype=torch.float32)
# 为了使各元素softmax的结果相差不至于过大,这里简单处理一下,但是与原张量的计算结果并不等价
z = z ** 0.2
torch.softmax(z, dim=0) 

一. 三维

为了方便查阅,直接放个图,方法实际上和四维是一样的。

image

二. 四维

假设有四维tensor:(B, C, H, W),具体为(2, 2, 2, 4)

\[\begin{align} [[[&[\space1, \quad 2, \quad 3, \quad 4], \\ &[\space5, \quad 6, \quad 7, \quad 8]], \\ [&[\space9, \space\space\space 10, \space\space 11, \space\space 12], \\ &[13, \space\space 14, \space\space 15, \space\space 16]]], \\ [&[17, \space\space 18, \space\space 19, \space\space 20], \\ &[21, \space\space 22, \space\space 23, \space\space 24]], \\ [&[25, \space\space 26, \space\space 27, \space\space 28], \\ &[29, \space\space 30, \space\space 31, \space\space 32]]]] \end{align} \]


1. 当dim=0或dim=-4时

最外层 \([\space]\) 的元素进行运算,也就是最外层 \([\space]\) 中用逗号隔开的所有对应元素相运算。例如向量中的117进行运算,925运算。

image


2. 当dim=1或dim=-3时

同一 batch 的最外层 \([\space]\) 的所有对应元素进行运算。例如向量中的19进行运算,1725运算。

image


3. 当dim=2或dim=-2时

同一 Height 的最外层 \([\space]\) 的所有对应元素进行运算。例如向量中的15进行运算,913进行运算,1721进行运算,2529进行运算。

image


4. 当dim=3或dim=-1时

同一 W 的最外层 \([\space]\) 的所有对应元素进行运算。例如向量中的1234进行运算,5678进行运算,……,29303132进行运算。

image

三. 高维

类比四维的情况……

【注】可能我表达确实不行,如看不懂,可看看这篇文章:https://zhuanlan.zhihu.com/p/525276061

标签:dim,运算,space,torch,PyTorch,判定,维度,quad,进行
From: https://www.cnblogs.com/chasemeng/p/17876881.html

相关文章

  • 使用 PyTorch 完全分片数据并行技术加速大模型训练
    本文,我们将了解如何基于PyTorch最新的完全分片数据并行(FullyShardedDataParallel,FSDP)功能用Accelerate库来训练大模型。动机......
  • PyTorch解説
    PyTorch是一种面向Python的开源机器学习库。它是由Facebook的人工智能研究团队基于最初支持多范式脚本语言“Lua”的Torch开发而来。Python是一种广泛用于“利用机器学习进行人工智能开发”、“Web服务和Web应用开发”、“区块链开发”以及“物联网开发”等多个领域的编程语言。......
  • Keras 3.0正式发布:可用于TensorFlow、JAX和PyTorch
    前言 Keras3.0正式发布:可用于TensorFlow、JAX和PyTorch本文转载自机器之心仅用于学术分享,若侵权请联系删除欢迎关注公众号CV技术指南,专注于计算机视觉的技术总结、最新技术跟踪、经典论文解读、CV招聘信息。CV各大方向专栏与各个部署框架最全教程整理【CV技术指南】CV全栈......
  • pytorch 学习记录——计算图
    1.pytorch的计算图是动态更新的(tensorflow是静态计算图),数据流向可以是双向的。2.pytorchvariable(用于封装tensor,便于自动求导的变量类型,在pytorch0.4.0之后版本已被并入tensor)基本属性:data,dtype,shape,device,requires_grad,is_leaf,grad,grad_fn3.is_leaf是否为叶子节点:用户创......
  • prometheus federate特性(数据维度抽取)
    一、背景描述:prometheus存有大量的监控明细数据,但是报表或者大屏监控需要的是更高维度的数据统计。如果直接从明细数据统计,很可能会因为数据量过大而导致查询缓慢,甚至prometheus发生OOM。 二、解决思路:借助prometheus提供的federate特性和recording rule特性实现。 1.在......
  • 【医疗器械临床试验之检查要点及判定原则】
    医疗器械临床试验检查要点主要包括:1、临床实验条件及合规性检查2、受试者权益保障3、临床实验方案4、临床实验实施5、实验实验试剂及仪器管理6、临床实验记录7、临床实验报告医疗器械临床试验判定原则主要包括:1、真实性问题,必须要确保实验人员,数据,耗材,仪器的真实可靠。2、合规性问......
  • 智慧博物馆视频监控设计,可视化AI智能分析技术助力博物馆多维度监管
    一、背景与需求博物馆视频智能监控系统是智慧博物馆建设的重要组成部分,传统的博物馆视频监控系统以模拟系统架构为主,存在监管效率低、各个系统独立运作形成数据孤岛、以“事后补救”为主要监管手段等管理弊病,无法满足互联网高速发展背景下对博物馆的智能化、可视化、数字化、科学化......
  • Windows AMD install PyTorch
    根据本机python版本,创建pytorch环境condacreate-npytorchpython=3.11激活pytorch环境activatepytorch设置清华镜像condaconfig--addchannelshttps://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/condaconfig--addchannelshttps://mirrors.tuna.tsinghua.......
  • 3招解决时序数据高基数难题,性能多维度提升!
    本文分享自华为云社区《DTSETechTalk|3招解决时序数据高基数难题,性能多维度提升!》,作者:华为云开源。本期《openGemini全新列存引擎,为您解决时序数据高基数难题》的主题直播中,华为云开源DTSE技术布道师&数据库创新Lab技术专家黄飞腾,与开发者朋友们分享了时序数据库的特点和遥测......
  • 使用github rest api 按pr维度统计工作量思路
    1.准备组装必要参数1.基本参数在header中需要包含验证token2.功能参数#{baseApi}/#{org}/#{repo}/功能参数?since=#{date}&until=#{date}&per_page=#{num}&page=#{num}since和until用来确定时间范围,per_page和page组合用来翻页2.根据时间段获取pr对应commit的sha值......