torch.mean()的使用方法
对一个三维数组的每一维度进行操作
1,dim=0
a = torch.Tensor([0, 1, 2, 3, 4, 5,6,7]).view(2, 2, 2)
print(a)
mean = torch.mean(a, 0)
print(mean, mean.shape)
输出结果:
tensor([[[0., 1.],
[2., 3.]],
[[4., 5.],
[6., 7.]]])
tensor([[2., 3.],
[4., 5.]]) torch.Size([2, 2])
2,dim=1
a = torch.Tensor([0, 1, 2, 3, 4, 5,6,7]).view(2, 2, 2)
print(a)
mean = torch.mean(a, 1)
print(mean, mean.shape)
输出结果
tensor(
[[[0., 1.],
[2., 3.]],
[[4., 5.],
[6., 7.]]])
tensor(
[[1., 2.],
[5., 6.]]) torch.Size([2, 2])
3,dim=2
a = torch.Tensor([0, 1, 2, 3, 4, 5,6,7]).view(2, 2, 2)
print(a)
mean = torch.mean(a, 2)
print(mean, mean.shape)
输出结果
tensor(
[[[0., 1.],
[2., 3.]],
[[4., 5.],
[6., 7.]]])
tensor(
[[0.5000, 2.5000],
[4.5000, 6.5000]]) torch.Size([2, 2])
补充,如果在函数中添加了True,表示要和原来数的维度一致,不够的用维度1来添加,如下
a = torch.Tensor([0, 1, 2, 3, 4, 5,6,7]).view(2, 2, 2)
print(a)
mean = torch.mean(a, 2, True)
print(mean, mean.shape)
tensor([[[0., 1.],[2., 3.]],[[4., 5.],[6., 7.]]])
tensor([[[0.5000],[2.5000]],[[4.5000],[6.5000]]]) torch.Size([2, 2, 1])
补充多维度变化
a = torch.Tensor([0, 1, 2, 3, 4, 5,6,7,8,9,10,11,12,13,14,15]).view(2, 2, 2,2)
print(a)
mean = torch.mean(a, 0, True)
print(mean, mean.shape)
tensor([[[[ 0., 1.],[ 2., 3.]],[[ 4., 5.],[ 6., 7.]]],[[[ 8., 9.],[10., 11.]],[[12., 13.],[14., 15.]]]])
tensor([[[[ 4., 5.],[ 6., 7.]],[[ 8., 9.],[10., 11.]]]]) torch.Size([1, 2, 2, 2])
a = torch.Tensor([0, 1, 2, 3, 4, 5,6,7,8,9,10,11,12,13,14,15]).view(2, 2, 2,2)
print(a)
mean = torch.mean(a, 1, True)
print(mean, mean.shape)
tensor([[[[ 0., 1.],[ 2., 3.]],[[ 4., 5.],[ 6., 7.]]],[[[ 8., 9.],[10., 11.]],[[12., 13.],[14., 15.]]]])
tensor([[[[ 2., 3.],[ 4., 5.]]],[[[10., 11.],[12., 13.]]]]) torch.Size([2, 1, 2, 2])
a = torch.Tensor([0, 1, 2, 3, 4, 5,6,7,8,9,10,11,12,13,14,15]).view(2, 2, 2,2)
print(a)
mean = torch.mean(a, 2, True)
print(mean, mean.shape)tensor([[[[ 0., 1.],[ 2., 3.]],[[ 4., 5.],[ 6., 7.]]],[[[ 8., 9.],[10., 11.]],[[12., 13.],[14., 15.]]]])
tensor([[[[ 1., 2.]],[[ 5., 6.]]],[[[ 9., 10.]],[[13., 14.]]]]) torch.Size([2, 2, 1, 2])
a = torch.Tensor([0, 1, 2, 3, 4, 5,6,7,8,9,10,11,12,13,14,15]).view(2, 2, 2,2)
print(a)
mean = torch.mean(a, 3, True)
print(mean, mean.shape)
tensor([[[[ 0., 1.],[ 2., 3.]],[[ 4., 5.],[ 6., 7.]]],[[[ 8., 9.],[10., 11.]],[[12., 13.],[14., 15.]]]])
tensor([[[[ 0.5000],[ 2.5000]],[[ 4.5000],[ 6.5000]]],[[[ 8.5000],[10.5000]],[[12.5000],[14.5000]]]]) torch.Size([2, 2, 2, 1])
a = torch.Tensor([0, 1, 2, 3, 4, 5,6,7,8,9,10,11,12,13,14,15,0, 1, 2, 3, 4, 5,6,7,8,9,10,11,12,13,14,15]).view(2, 2, 2,2,2)
print(a)
mean = torch.mean(a, 3, True)
print(mean, mean.shape)
tensor([[[[[ 0., 1.],[ 2., 3.]],[[ 4., 5.],[ 6., 7.]]],[[[ 8., 9.],[10., 11.]],[[12., 13.],[14., 15.]]]],[[[[ 0., 1.],[ 2., 3.]],[[ 4., 5.],[ 6., 7.]]],[[[ 8., 9.],[10., 11.]],[[12., 13.],[14., 15.]]]]])
tensor([[[[[ 1., 2.]],[[ 5., 6.]]],[[[ 9., 10.]],[[13., 14.]]]],[[[[ 1., 2.]],[[ 5., 6.]]],[[[ 9., 10.]],[[13., 14.]]]]]) torch.Size([2, 2, 2, 1, 2])
相关文章:
torch.mean()的使用方法
对一个三维数组的每一维度进行操作 1,dim0 a torch.Tensor([0, 1, 2, 3, 4, 5,6,7]).view(2, 2, 2) print(a) mean torch.mean(a, 0) print(mean, mean.shape) 输出结果: tensor([[[0., 1.], [2., 3.]], [[4., 5.], [6., 7.]]]) tensor([[2., …...

windows安装Redis,Mongo,ES并快速基本掌握开发流程
前言 这里只是一些安装后的基础操作,后期会学习更加深入的操作 基础操作 前言RedisRedis启动idea集成Redisjedis技术 Mongodbwindows版Mongodb的安装idea整合Mongodb ES(Elasticsearch)ESwindows下载ES文档操作idea整合ES低级别ES整合高级别ES整合 Redis Redis是…...

ruoyi-nbcio-plus基于vue3的flowable的自定义业务提交申请组件的升级修改
更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码: https://gitee.com/nbacheng/ruoyi-nbcio 演示地址:RuoYi-Nbcio后台管理系统 http://122.227.135.243:9666/ 更多nbcio-boot功能请看演示系统 gitee源代码地址 后端代码:…...

掌握网络抓取技术:利用RobotRules库的Perl下载器一览小红书的世界
引言 在信息时代的浪潮下,人们对于获取和分析海量网络数据的需求与日俱增。网络抓取技术作为满足这一需求的关键工具,正在成为越来越多开发者的首选。而Perl语言,以其卓越的文本处理能力和灵活的特性,脱颖而出,成为了…...

典型新能源汽车热管理系统方案分析
目前行业具有代表性的热管理系统有PTC电加热方案、热泵方案(特斯拉八通阀热泵、吉利直接式热泵)、威马的柴油加热方案以及以理想为代表的插电式混动车方案。 小鹏P7整车热管理方案分析(PTC电加热方案) 小鹏P7作为小鹏汽车的第2款…...

使用Docker部署开源项目FreeGPT35来免费调用ChatGPT3.5 API
Vercel部署FreeGPT35有严重限制,玩玩就好,真用还是得docker。 限制原因: Vercel的流式响应并不是一开始写流,客户端就能立刻收到响应流,而是先写到一个缓冲区,当流关闭才一股脑的流式响应回来(不是实时流) 因此导致: …...
《Linux运维实战:Kylin V10操作系统开启安装软件保留缓存设置》
总结:整理不易,如果对你有帮助,可否点赞关注一下? 更多详细内容请参考:Linux运维实战总结 一、操作步骤 1、改系统/etc/yum.conf配置文件,开启安装软件保留缓存设置 [rootecs-90c2-0003 ~]# vim /etc/yum.…...

视频生成技术:从GAN到Latte
GANs Diffusion Model...

机器学习中的激活函数
激活函数存在的意义: 激活函数决定了某个神经元是否被激活,当这个神经元接收到的信息是有用或无用的时候,激活函数决定了对这个神经元接收到的信息是留下还是抛弃。如果不加激活函数,神经元仅仅做线性变换,那么该神经网…...

LinuxAndroid: 旋转编码器input输入事件适配(旋转输入)
rk3588s: 旋转编码器input输入事件适配 基于Android 12 kernel-5.10版本 参考文档: https://blog.csdn.net/szembed/article/details/131551950 Linux 输入设备调试详解(零基础开发)Rotary_Encoder旋转编码器驱动 通用GPIO为例 挂载input输…...

机器学习和深度学习-- 李宏毅(笔记与个人理解)Day10
Day 10 Genaral GUidance training Loss 不够的case Loss on Testing data over fitting 为什么over fitting 留到下下周哦~~ 期待 solve CNN卷积神经网络 Bias-Conplexiy Trade off cross Validation how to split? N-fold Cross Validation mismatch 这节课总体听下来比较…...
perl 交叉编译
前言 Perl是一种高级、通用、解释型、动态的编程语言。Perl设计的初衷是为了更好地处理文本处理任务,但随着时间的发展,现在它已经变成了一种强大的一般目的编程语言。Perl支持面向过程和面向对象的编程风格。 Perl的特点: 强大的字符串处…...
浅谈.版本管理工具
定义: 版本控制是一种在开发的过程中用于管理我们对文件、目录或工程等内容的修改历史,方便查看更改历史记录,备份以便恢复以前的版本的软件工程技术。 特点: 1、方便用于管理多人协同开发项目 2、并行开发,可实现跨区…...

【汇编语言实战】已知10个整数求最大值
C语言描述该程序流程: #include <stdio.h> int main() {int a[]{11,33,23,54,12,51,2,4,34,45};int maxa[0];for(int i1;i<9;i){if(a[i]>max){maxa[i];}}printf("%d",max); }汇编语言: include irvine32.inc .data arr dword 11…...
在 CentOS 7 上安装 Redis
在 CentOS 7 上安装 Redis 可以通过几个简单的步骤完成。以下是一种常用的方法: 更新系统: 在安装任何新软件之前,最好先更新系统的软件包列表,以确保安装的软件版本是最新的。可以使用以下命令来更新: sudo yum up…...

『51单片机』蜂鸣器
🚩 WRITE IN FRONT 🚩 🔎 介绍:"謓泽"正在路上朝着"攻城狮"方向"前进四" 🔎🏅 荣誉:2021|2022年度博客之星物联网与嵌入式开发TOP5|TOP4、2021|2222年获评…...

计算机视觉 | 基于二值图像数字矩阵的距离变换算法
Hi,大家好,我是半亩花海。本实验基于 OpenCV 实现了二值图像数字矩阵的距离变换算法。首先生成一个 480x480 的黑色背景图像(定义黑色为0,白色为1),在其中随机选择了三个白色像素点作为距离变换的原点&…...
Arcgis windows webadaptor配置
注意windows下安装细节 1、电脑必须添加限定域名及dns后缀。 准备工作 a、安装webadaptor,获取jar文件 b、tomcat中部署两个jar,名字不相同,一个用server配置,一个用于portal配置 c、geoserver用来配置server d、geoscene用来配置…...
对接阿里云实时语音转文字的思路
将上述概念转化为详细代码需要一定的步骤。这里,我们将根据之前讨论的服务划分,创建一个简化的框架来模拟这个流程。注意,由于空间限制和简化目的,某些实现细节会被省略或简化,你可能需要根据实际情况进行调整。 1. 配…...

如何转行成为产品经理?
转行NPDP也是很合适的一条发展路径,之后从事新产品开发相关工作~ 一、什么是NPDP? NPDP 是产品经理国际资格认证,美国产品开发与管理协会(PDMA)发起的,是目前国际公认的唯一的新产品开发专业认证ÿ…...

国防科技大学计算机基础课程笔记02信息编码
1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...
[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 安全措施依赖问题 GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...
Java 语言特性(面试系列1)
一、面向对象编程 1. 封装(Encapsulation) 定义:将数据(属性)和操作数据的方法绑定在一起,通过访问控制符(private、protected、public)隐藏内部实现细节。示例: public …...

React第五十七节 Router中RouterProvider使用详解及注意事项
前言 在 React Router v6.4 中,RouterProvider 是一个核心组件,用于提供基于数据路由(data routers)的新型路由方案。 它替代了传统的 <BrowserRouter>,支持更强大的数据加载和操作功能(如 loader 和…...
三体问题详解
从物理学角度,三体问题之所以不稳定,是因为三个天体在万有引力作用下相互作用,形成一个非线性耦合系统。我们可以从牛顿经典力学出发,列出具体的运动方程,并说明为何这个系统本质上是混沌的,无法得到一般解…...

mac 安装homebrew (nvm 及git)
mac 安装nvm 及git 万恶之源 mac 安装这些东西离不开Xcode。及homebrew 一、先说安装git步骤 通用: 方法一:使用 Homebrew 安装 Git(推荐) 步骤如下:打开终端(Terminal.app) 1.安装 Homebrew…...
快刀集(1): 一刀斩断视频片头广告
一刀流:用一个简单脚本,秒杀视频片头广告,还你清爽观影体验。 1. 引子 作为一个爱生活、爱学习、爱收藏高清资源的老码农,平时写代码之余看看电影、补补片,是再正常不过的事。 电影嘛,要沉浸,…...

手机平板能效生态设计指令EU 2023/1670标准解读
手机平板能效生态设计指令EU 2023/1670标准解读 以下是针对欧盟《手机和平板电脑生态设计法规》(EU) 2023/1670 的核心解读,综合法规核心要求、最新修正及企业合规要点: 一、法规背景与目标 生效与强制时间 发布于2023年8月31日(OJ公报&…...

android RelativeLayout布局
<?xml version"1.0" encoding"utf-8"?> <RelativeLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"match_parent"android:layout_height"match_parent"android:gravity&…...

抽象类和接口(全)
一、抽象类 1.概念:如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象,这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法,包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中,⼀个类如果被 abs…...