PyTorch中的flatten+transpose函数说明

flatten函数就是对tensor类型进行扁平化处理,就是在不同维度上进行堆叠操作

a.flatten(m),这个意思是将a这个tensor,从第m(m取值从0开始)维度开始堆叠,一直堆叠到最后一个维度

import torcha=torch.rand(2,3,2,3)print(a)x = a.flatten(0)
print(x)
print(x.size())y = a.flatten(1)
print(y)
print(y.size())z = a.flatten(2)
print(z)
print(z.size())#a.flatten()这个括号里面的参数也不只是只有一个,在官方文档里面的说法,这个里面可以是两个参数
#start_dim (int) – the first dim to flatten
#end_dim (int) – the last dim to flatten
#将a的0维度和1维度合并u = a.flatten(0,1)
print(u)
print(u.size())输出:
tensor([[[[0.9807, 0.8278, 0.2853],[0.2290, 0.3709, 0.6642]],[[0.2521, 0.0556, 0.3562],[0.3926, 0.9639, 0.3037]],[[0.9804, 0.7069, 0.8673],[0.0434, 0.5438, 0.7231]]],[[[0.7031, 0.2287, 0.0640],[0.5223, 0.0660, 0.5081]],[[0.2562, 0.4229, 0.8700],[0.1164, 0.5058, 0.2986]],[[0.6062, 0.2247, 0.4474],[0.2376, 0.5606, 0.5911]]]])
tensor([0.9807, 0.8278, 0.2853, 0.2290, 0.3709, 0.6642, 0.2521, 0.0556, 0.3562,0.3926, 0.9639, 0.3037, 0.9804, 0.7069, 0.8673, 0.0434, 0.5438, 0.7231,0.7031, 0.2287, 0.0640, 0.5223, 0.0660, 0.5081, 0.2562, 0.4229, 0.8700,0.1164, 0.5058, 0.2986, 0.6062, 0.2247, 0.4474, 0.2376, 0.5606, 0.5911])
torch.Size([36])tensor([[0.9807, 0.8278, 0.2853, 0.2290, 0.3709, 0.6642, 0.2521, 0.0556, 0.3562,0.3926, 0.9639, 0.3037, 0.9804, 0.7069, 0.8673, 0.0434, 0.5438, 0.7231],[0.7031, 0.2287, 0.0640, 0.5223, 0.0660, 0.5081, 0.2562, 0.4229, 0.8700,0.1164, 0.5058, 0.2986, 0.6062, 0.2247, 0.4474, 0.2376, 0.5606, 0.5911]])
torch.Size([2, 18])tensor([[[0.9807, 0.8278, 0.2853, 0.2290, 0.3709, 0.6642],[0.2521, 0.0556, 0.3562, 0.3926, 0.9639, 0.3037],[0.9804, 0.7069, 0.8673, 0.0434, 0.5438, 0.7231]],[[0.7031, 0.2287, 0.0640, 0.5223, 0.0660, 0.5081],[0.2562, 0.4229, 0.8700, 0.1164, 0.5058, 0.2986],[0.6062, 0.2247, 0.4474, 0.2376, 0.5606, 0.5911]]])
torch.Size([2, 3, 6])tensor([[[0.9807, 0.8278, 0.2853],[0.2290, 0.3709, 0.6642]],[[0.2521, 0.0556, 0.3562],[0.3926, 0.9639, 0.3037]],[[0.9804, 0.7069, 0.8673],[0.0434, 0.5438, 0.7231]],[[0.7031, 0.2287, 0.0640],[0.5223, 0.0660, 0.5081]],[[0.2562, 0.4229, 0.8700],[0.1164, 0.5058, 0.2986]],[[0.6062, 0.2247, 0.4474],[0.2376, 0.5606, 0.5911]]])
torch.Size([6, 2, 3])

transpose是Tensor类的一个重要方法,同时它也是torch模块中的一个函数

返回一个张量,它是输入张量的转置版本,其中将给定的维度dim0和dim1交换

import random
import torch#二维数据情况
arr = torch.rand(2,3)
print(arr)
print(arr.size())a = arr.transpose(1, 0)
print(a)
print(a.size())#三维数据情况
arr = torch.rand(2,3,4)
print(arr)
print(arr.size())a = arr.transpose(1, 0)
print(a)
print(a.size())b = arr.transpose(1, 2)
print(b)
print(b.size())输出:
tensor([[0.3193, 0.1526, 0.0878],[0.2070, 0.5021, 0.0383]])
torch.Size([2, 3])tensor([[0.3193, 0.2070],[0.1526, 0.5021],[0.0878, 0.0383]])
torch.Size([3, 2])tensor([[[0.9428, 0.8610, 0.7115, 0.2870],[0.0846, 0.5500, 0.8890, 0.6003],[0.2907, 0.1275, 0.9961, 0.9360]],[[0.3068, 0.2193, 0.6061, 0.3032],[0.3735, 0.1232, 0.4352, 0.2763],[0.5179, 0.7830, 0.1859, 0.1262]]])
torch.Size([2, 3, 4])tensor([[[0.9428, 0.8610, 0.7115, 0.2870],[0.3068, 0.2193, 0.6061, 0.3032]],[[0.0846, 0.5500, 0.8890, 0.6003],[0.3735, 0.1232, 0.4352, 0.2763]],[[0.2907, 0.1275, 0.9961, 0.9360],[0.5179, 0.7830, 0.1859, 0.1262]]])
torch.Size([3, 2, 4])tensor([[[0.6059, 0.7055, 0.8131],[0.3136, 0.1284, 0.1374],[0.8604, 0.0243, 0.3363],[0.5041, 0.0764, 0.0649]],[[0.6565, 0.1308, 0.7233],[0.6803, 0.9431, 0.8020],[0.2651, 0.7857, 0.4266],[0.4035, 0.1960, 0.8238]]])
torch.Size([2, 4, 3])

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/780441.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C# FTP的使用

直接上代码如下: using Newtonsoft.Json; using System; using System.Collections.Generic; using System.IO; using System.Net; using System.Text; using System.Threading.Tasks;namespace ConsoleApp2 {class Program{static void Main(string[] args){Conso…

【项目技术介绍篇】若依开源项目RuoYi-Cloud后端技术介绍

作者介绍:本人笔名姑苏老陈,从事JAVA开发工作十多年了,带过大学刚毕业的实习生,也带过技术团队。最近有个朋友的表弟,马上要大学毕业了,想从事JAVA开发工作,但不知道从何处入手。于是&#xff0…

机器学习:scikit-learn库的主要组件

scikit-learn(sklearn)是一个用于机器学习的Python库,它提供了广泛的算法和工具,用于数据预处理、模型构建、模型评估、模型选择等。scikit-learn的设计遵循一致的API原则,使得使用不同的模型和算法变得简单且直观。以…

图解CAP原理

CAP原理 通常说一个分布式系统或者服务或者中间件,不能同时拥有这三个特性。它们只能两两组合。 分区容错性 尽管一个系统出现了数据的丢失或者故障,那么我们的系统仍然要对外提供正常的访问 如上图所示,一个结点挂掉不影响另一个结点对外提供…

3、Cocos Creator 节点和组件

目录 1、 节点和组件 2、 节点层级和显示顺序 3、坐标系和节点变换属性 坐标系 锚点 旋转 缩放 尺寸 4、 常用技巧 5、参考 1、 节点和组件 Cocos Creator 的工作流程是以组件式开发为核心的,组件式架构也称作 组件 — 实体系统(或 Entity-C…

「PHP系列」PHP 常量/字符串、类型比较

文章目录 一、PHP 常量1. 定义常量使用 define() 函数使用 const 关键字(在类内部) 2. 访问常量3. 常量的特点4.注意事项5. 示例 二、PHP 字符串1. 定义字符串使用单引号使用双引号使用 heredoc 和 nowdoc 2. 字符串操作字符串连接字符串长度字符串替换字…

旅游管理系统|基于springBoot旅游管理系统设计与实现(附项目源码+论文)

基于springBoot旅游管理系统设计与实现 一、摘要 现代经济快节奏发展以及不断完善升级的信息化技术,让传统数据信息的管理升级为软件存储,归纳,集中处理数据信息的管理方式。本旅游管理系统就是在这样的大环境下诞生,其可以帮助…

脏牛提权(靶机复现)

目录 一、脏牛漏洞概述 二、漏洞复现 1.nmap信息收集 1.1.查看当前IP地址 1.2.扫描当前网段,找出目标机器 1.3.快速扫描目标机全端口 三、访问收集到的资产 192.168.40.134:80 192.168.40.134:1898 四、msf攻击 1.查找对应exp 2.选择对应exp并配置相关设置 五、内…

每天五分钟卷积神经网络:如何基于滑动窗口技术完成目标的检测?

汽车检测算法 现在我们想要构建一个汽车检测算法,我们希望输入到算法中一张图片,算法就可以帮助我们检测出这张图片中是否有汽车。 数据集 首先创建一个标签训练集,x是样本,y是标签。我们的训练集最好是被剪切过的图片,剪掉汽车以外的部分,使汽车居于中间位置,就是整张…

如何使用jQuery来隐藏和显示一个元素?描述一下jQuery中的事件绑定方法。

如何使用jQuery来隐藏和显示一个元素? 在jQuery中,隐藏和显示元素是常见的操作,可以通过.hide()和.show()方法来实现。这两个方法分别用于隐藏和显示选定的HTML元素。 隐藏元素 要隐藏一个元素,你可以使用.hide()方法。例如&…

Java 学习和实践笔记(50):使用Comparable 接口确定对象根据什么属性来排序

多个对象进行排序时,需要根据对象的什么属性来排序。 例如,同样都是人,可以根据人的身高排序,可以根据人的年龄排序。因此,当对多个人进行排序时,就要事先确定好根据人的什么属性来排序。 使Comparable 接…

使用verilog实现俄罗斯方块游戏

编写俄罗斯方块游戏需要进行大量的硬件设计,包括图形显示、用户输入处理、游戏逻辑等。以下是一个简单的基于Verilog的俄罗斯方块游戏示例,用于说明该过程: ```verilog module tetris_game ( input clk, // 时钟信号 input reset, // 复位信号 input lef…

kubernetes(K8S)学习(八):K8S之常见部署方案

K8S之常见部署方案 一、普通部署二、滚动更新(Rolling update)三、蓝绿部署(Blue/Green Deployment)四、灰度发布(金丝雀发布) 常见的部署方案参考博文:常见部署方案:普通部署、滚动…

【物联网项目】基于ESP8266的家庭灯光与火情智能监测系统——文末完整工程资料源码

目录 系统介绍 硬件配置 硬件连接图 系统分析与总体设计 系统硬件设计 ESP8266 WIFI开发板 人体红外传感器模块 光敏电阻传感器模块 火焰传感器模块 可燃气体传感器模块 温湿度传感器模块 OLED显示屏模块 系统软件设计 温湿度检测模块 报警模块 OLED显示模块 …

Java基础之自增自减运算符

Java基础之自增自减运算符 基本用法 int a 10;a; System .out.prinln(a);//a11int a 10;a; System .out.prinln(a);//a11tip: 第一次运算之后a的值会更新 然后再进行下面的运算!!! 练习: 代码呈现: 结果: tip: x的值是最新的x的值.

微信小程序开发【从入门到精通】——页面导航

👨‍💻个人主页:开发者-曼亿点 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 曼亿点 原创 👨‍💻 收录于专栏&#xff1a…

el-select的错误提示不生效、el-select验证失灵、el-select的blur规则失灵

发现问题 在使用el-select进行表单验证的时候&#xff0c;发现点击下拉列表没选的情况下&#xff0c;他不会提示没有选择选项的信息&#xff0c;我设置了rule如下 <!--el-select--><el-form-item label"等级" prop"level"><el-select v-m…

Y Combinator W24 AI 创业地图

近日公布&#xff0c;Y Combinator的W24 AI创业地图上&#xff0c;有149家公司专注于AI领域&#xff0c;占到了总数的63%哦&#xff01; 而且&#xff0c;这些公司中&#xff0c;有70%是在应用层发力&#xff0c;28%则专注于工具层&#xff0c;只有2%是搞基础设施的。 分类百分…

esp单片机下arduino_gfx不相干显示驱动优化对flash空间的占用对比

一般情况下&#xff0c;很多esp32或者esp8266下的tft模块驱动都会包含很多种&#xff0c;而我们只需要其中一种&#xff0c;那就有个疑问这些被编译进的显示驱动到底占用了多少空间&#xff0c;是否需要把他优化掉&#xff1f; 这是默认的驱动列表&#xff1a; 84个文件&…

对谈Concured首席技术官:利用AI和MongoDB打造个性化内容推荐系统

Built with MongoDB 栏目采访了AI初创企业Concured在成立约一年后加入的首席技术官 Tom Wilson&#xff0c;围绕 Concured 的人工智能使用情况、Wilson 加入团队的过程、坚持选择MongoDB的原因以及公司未来发展展开讨论。 关于Concured 内容无处不在。无论消费者寻找什么或所处…