首页 > 其他分享 >torch.sum()用法-截至2023年8月28日

torch.sum()用法-截至2023年8月28日

时间:2023-08-28 09:55:07浏览次数:40  
标签:dim times3 sum torch 28 维度 size

torch.sum()维度0,1,2。比如现在有\(3\times\ 2\times3\)的张量,理解为3个\(2\times3\)的矩阵。当dim=0,1,2时分别在哪个维度上相加[1]?下面是具体的矩阵

\[[1,2,3]\\ [4,5,6]\\\\ [1,2,3] \\ [4,5,6]\\\\ [1,2,3] \\ [4,5,6] \]

image-20230826105759041

在哪个维度相加,那个维度就去掉。\(3\times2\times3\)分别就对应0,1,2三个维度。

  • dim=0,最后计算结果就是\(2\times3\)。(可视化后按照宽维度相加对应元素)
  • dim=1,最后计算结果就是\(3\times3\)。(可视化后按照高维度相加对应元素)
  • dim=2,最后计算结果就是\(3\times2\)。(可视化后按照长维度相加对应元素)

宽和高维度是正面看的,所以不用动。而长维度是横着看,所以最后元素需要向左旋转。(具体计算时理解的,我这么表述可能不清楚)

示例代码

import torch
c = torch.tensor([[[1,2,3],
                   [4,5,6]],
                  
                  [[1,2,3],
                   [4,5,6]],
                  
                  [[1,2,3],
                   [4,5,6]]])
print(f" c size = {c.size()}")

c1=torch.sum(c , dim=0)
print(f" c1 = {c1}\n c1 size = {c1.size()}")


c2=torch.sum(c , dim=1)
print(f" c2 = {c2}\n c2 size = {c2.size()}")


c3=torch.sum(c , dim=2)
print(f" c3 = {c3}\n c3 size = {c3.size()}")

运行结果如下

image-20230826105628738


  1. https://mathpretty.com/12065.html#对于三维向量 ↩︎

标签:dim,times3,sum,torch,28,维度,size
From: https://www.cnblogs.com/urname/p/17661481.html

相关文章

  • 【230828-2】▲ABC中,AB=根号2,点D在边BC上,BD=2DC,Cos∠DAC=3/根号10,Cos∠C=2/根号5,则AC=
    ......
  • 【230828-1】▲ABC中,D是BC上的一点,∠B=60°,AD=2,AC=根号10,DC=根号2,则AB=?
    ......
  • 【230828-3】已知:AB垂直BD,AC垂直CD,AC=1,AB=2,∠BAC=120°。求:BD的长度=?
    ......
  • torch索引使用方式示例
    已知b=torch.Tensor([[1],[2]]),请问b[1]和b[[1]]的区别在PyTorch中,b[1] 和 b[[1]] 之间有一个微妙的区别,这涉及到张量的索引和切片操作。让我解释一下两者之间的区别:b[1]:这是使用整数索引来获取张量 b 中的元素。由于 b 是一个形状为(2,1)的张量,使用整数索......
  • 解决wsl正确安装torch_sparse、torch_scatter的问题
    快速解决torch_sparse、torch_scatter安装并正确使用的问题我们如果直接进行pipinstall后,会因为pip的机制自动下载最新版本的其他依赖,例如torch等cuda版本。所以我们需要找到对应自己电脑的cuda版本的模块whl,进行离线安装。找到对应版本打开https://pytorch-geometric.com/wh......
  • 剑指Offer 28. 对称的二叉树
    题目链接:剑指Offer28.对称的二叉树题目描述:请实现一个函数,用来判断一棵二叉树是不是对称的。如果一棵二叉树和它的镜像一样,那么它是对称的。例如,二叉树[1,2,2,3,4,4,3]是对称的。解法思路:采用递归的方法,依次遍历根节点的左子树和右子树,判断左子树的左子树与右子树的右......
  • LeetCode.283 移动零
    题目描述给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。请注意 ,必须在不复制数组的情况下原地对数组进行操作。https://leetcode.cn/problems/move-zeroes/description/ 输入:nums=[0,1,0,3,12]输出:[1,3,12,0,0]双指针挪......
  • kubeadm 安装k8s1.28.x 底层走containerd 容器
    一:k8s1.28.x的概述1.1:k8s1.28.x更新Kubernetesv1.28是2023年的第二个大版本更新,包含了46项主要的更新。而今年发布的第一个版本v1.27有近60项,所以可以看出来,在发布节奏调整后,每个Kubernetes版本中都会包含很多新的变化。其中20个增强功能正在进入Alpha......
  • AT_agc030_d [AGC030D] Inversion Sum 题解
    AT_agc030_d[AGC030D]InversionSum题解题目大意给你一个长度为\(n\)的数列,然后给你\(q\)次交换操作,你每次可以选择操作或者不操作,问所有情况下逆序对的总和。(\(n,q\le3000\))分析很容易想到\(dp\),但是发现不好直接算方案。所以我们用一个小技巧,将求方案数转化为求......
  • CF979D Kuro and GCD and XOR and SUM
    题目大意初始有一个空的集合,和\(Q\)个操作。对于每个操作,有两种类型,分别用如下的两种形式表示:1u:加入\(u\)到集合2xks:求一个最大的\(v\),使得:\(v+x\leqs\)\(k\mid\gcd(v,x)\)\(x\oplusv\)最大(其中\(\oplus\)表示按位异或,对应C++中的^运算符)如果找不......