深度学习(14)--x.view()详解
在torch中,常用view()函数来改变tensor的形状

查询官方文档:
torch.Tensor.view — PyTorch 2.2 documentation
https://pytorch.org/docs/stable/generated/torch.Tensor.view.html#torch.Tensor.view示例
1.创建一个4x4的二维数组进行测试
x = torch.randn(4, 4)
print(x)
print(x.size())

(1).将二维数组变换为一维数组
y = x.view(16)
print(y)
print(y.size())

(2).将二维数组变换为其他形式的二维数组
z = x.view(2, 8)
print(z)
print(z.size())

(3).可以将其中一个参数设置为-1,view()会根据已设置的维度自动推断出另外一个维度的大小
# the size -1 is inferred from other dimensions
yy = x.view(-1, 8)
print(yy)
print(yy.size())zz = x.view(8, -1)
print(zz)
print(zz.size())

可以看到分别得到了2x8的yy和8x2的zz,符合实际的情况。
2.创建一个1x2x3x4的四维矩阵进行测试
x = torch.rand(1, 2, 3, 4)
print(x)
print(x.size())

(1).将四维数组变换为一维数组
y = x.view(-1)
print(y)
print(y.size())

(2).将四维数组变换为二维数组
z = x.view(2,-1)
print(z)
print(z.size())

(3).将四维数组变换为三维数组
a = x.view(2, -1, 4)
print(a)
print(a.size())

(4).将四维数组转换为其他形式的四维数组
b = x.view(1, 3, 2, 4)
print(b)
print(b.size())

值得注意的是view()函数并不改变tensor数据在内存中的层次
利用tranpose函数进行验证,transpose函数可以交换数据指定的维度:
c = x.transpose(1, 2)
print(c)
print(c.size())
transpose(1,2)将第二个维度和第三个维度互换(四维对应的索引是0,1,2,3)

利用equal()函数判断b和c是否相同:
print("b和c是否相等:")
print(torch.equal(b, c))

由如上结果可知,view()函数并不改变数据在内存中的层次。
相关文章:
深度学习(14)--x.view()详解
在torch中,常用view()函数来改变tensor的形状 查询官方文档: torch.Tensor.view — PyTorch 2.2 documentationhttps://pytorch.org/docs/stable/generated/torch.Tensor.view.html#torch.Tensor.view示例 1.创建一个4x4的二维数组进行测试 x torch.…...
最新wordpress外贸主题
日用百货wordpress外贸主题 蓝色大气的wordpress外贸主题,适合做日用百货的外贸公司搭建跨境电商网站使用。 https://www.jianzhanpress.com/?p5248 添加剂wordpress外贸建站主题 橙色wordpress外贸建站主题,适合做食品添加剂或化工添加剂的外贸公司…...
Spring Cloud Gateway:使用RestController动态更新路由
相关类介绍 动态路由(自己控制,非注册中心控制)涉及两个很重要的Bean: RouteDefinitionWriter:用于添加、修改、删除路由规则。RouteDefinitionLocator:用于查询路由规则。 以及一个相关事件:…...
用Python动态展示排序算法
文章目录 选择冒泡插入排序归并排序希尔排序 经常看到这种算法可视化的图片,但往往做不到和画图的人心灵相通,所以想自己画一下,本文主要实现归并排序和希尔排序,如果想实现其他算法可参考这篇 C语言实现各种排序算法[选择&#x…...
vscode代码快捷键
1、 log console.log()2、edf export default (first)>{ second } 或者 export default function(params)>{ }可以使用tab键切换修改项 3、ednf export default function first(second) {third}4、! 生成html模板 5、div#app <div id"app"></di…...
深入了解C++:形参、内联、重载、引用、const和指针、new和delete
形参带默认值的函数 1.给默认值的时候从右向左给。 2.定义出可以给形参默认值,声明也可以给形参默认值。 3.形参默认值只能出现一次。 4.参数调用的效率问题 #sum(10,20)对应了五条汇编指令 mov eax,dword ptr[ebp-8] push eax mov ecx dword ptr[ebp-4] push …...
Linux 目录结构结构
Linux 目录结构结构 概念 Linux 没有 C、D、E...盘符,只有一个目录树。通过挂载,将不同的磁盘挂载到目录树下,通过目录访问磁盘。 不同目录的作用 目录存放内容/作用/根目录,目录树的起点,存放所有文件。…...
C++基础入门:掌握核心概念(超全!)
C作为一门广泛使用的编程语言,以其高性能和灵活性在软件开发领域占据重要地位。无论是游戏开发、系统编程还是实时应用,C都是一个不可或缺的工具。本博客旨在为初学者提供C编程语言的核心概念,帮助你建立坚实的基础。 C关键字 C关键字是编程…...
Linux第47步_安装支持linux的第三方库和mkimage工具
安装支持linux的第三方库和mkimage工具,做好移植前的准备工作。 编译linux内核之前,需要先在 ubuntu上安装“lzop库”和“libssl-dev库”,否则内核编译会失败。 mkimage工具会在zImage镜像文件的前面添加0x40个字节的头部信息,就可以得到uI…...
数据工程工程师学习路线图
数据工程岗位要求 Skill Sets required: - Hands on experience enabling data via Adobe Analytics and/or Google Analytics - Understanding of how customer level data is captured and stitched with behavioural data - Experience working with Testing (QA) and D…...
MySQL主从同步与分库分表
分库分表...
百度PaddleOCR字符识别推理部署(C++)
1 环境 1.opencv(https://sourceforge.net/projects/opencvlibrary/) 2.cmake(https://cmake.org/download/) 3.vs2019((https://github.com/PaddlePaddle/PaddleOCR/tree/release/2.1) 4.paddleOCR项目-建议2.0(http…...
C++ Qt框架开发 | 基于Qt框架开发实时成绩显示排序系统(2)折线图显示
对上一篇的工作C学习笔记 | 基于Qt框架开发实时成绩显示排序系统1-CSDN博客继续优化,增加一个显示运动员每组成绩的折线图。 1)在Qt Creator的项目文件(.pro文件)中添加对Qt Charts模块的支持: QT charts 2…...
Microsoft Excel 加载数据分析工具
Microsoft Excel 加载数据分析工具 1. 打开 Excel,文件 -> 选项2. 加载项 -> 转到…3. 分析工具库、分析工具库 - VBA4. 打开 Excel,数据 -> 数据分析References 1. 打开 Excel,文件 -> 选项 2. 加载项 -> 转到… 3…...
Day32 贪心算法part02
买卖股票的最佳时机 太牛了我,随随便便双指针秒杀 md题解里面双指针都没用直接for循环秒杀 跳跃游戏 写成这样纯粹是没有看到第一次跳跃必须从第一个开始 class Solution:def canJump(self, nums: List[int]) -> bool:if len(nums) 1:return Truefor i in …...
3分钟带你了解Vue3的nextTick()
前言 Vue 实现响应式并不是数据发生变化之后 DOM 立即变化,而是按一定的策略进行 DOM 的更新。简单来说,Vue在修改数据后,视图不会立刻更新,而是等同一事件循环中的所有数据变化完成之后,再统一进行视图更新ÿ…...
数据库的使用方法
sqlite3 API: 头文件: #include <sqlite3.h> 编译时候要加上-lsqlite3 gcc a.c -lsqlite3 1)sqlite3_open int sqlite3_open(const char *filename, /* Database filename (UTF-8) */ sqlite3 **ppDb /* OUT: SQLite db …...
HTML5和CSS3强化知识总结
HTML5的新特性 HTML5的新增特性主要是针对于以前的不足,增一些新的标签、新的表单和新的表单属性等。这些新特性都有兼容性问题,基本是IE9以上版本的浏览器才支持,如果不考虑兼容性问题,可以大量使用这些新特性。 HTML5新增的语义…...
华为机考入门python3--(13)牛客13-句子逆序
分类:列表 知识点: 列表逆序(和字符串逆序是一样的) my_list[::-1] 题目来自【牛客】 def reverse_sentence(sentence): # 将输入的句子分割words sentence.split() # 将单词逆序排列 words words[::-1] # 将单词用空…...
javaScript实现客户端直连AWS S3(亚马逊云)文件上传、断点续传、断网重传
写在前面:在做这个调研时我遇到的需求是前端直接对接亚马逊平台实现文件上传功能。上传视频文件通常十几个G、客户工作环境网络较差KB/s,且保证上传是稳定的,支持网络异常断点重试、文件断开支持二次拖入自动重传等。综合考虑使用的Aws S3的分…...
Captain AI助力Ozon大卖店群高效管理,实现规模化运营
随着Ozon商家运营规模的扩大,多店铺运营(店群)成为很多资深大卖的选择,通过多店铺布局,可扩大市场覆盖、分散运营风险、提升整体销量。但店群运营过程中,商家常常面临“管理繁琐、数据混乱、效率低下”的问…...
别再只盯着业务代码了!SpringBoot应用层安全之Tomcat连接管理实战
SpringBoot应用层安全实战:Tomcat连接管理的三驾马车 当我们在讨论SpringBoot应用安全时,业务代码的漏洞修复往往占据了大部分注意力。然而,真正的安全防线远不止于此——应用层基础设施的配置与优化同样至关重要。想象一下,你的应…...
Treelink选择工具:基于树形结构与链接关系的智能对象筛选方案
1. 项目概述:为什么我们需要“简化模拟选择”?在仿真分析、游戏开发、影视特效乃至工业设计领域,“模拟选择”是一个高频且令人头疼的操作。无论是为3D场景中的一片森林批量设置风力参数,还是在电路仿真中挑选特定节点进行信号分析…...
OPPO新时代板凳精神:解码长期主义研发体系与前沿技术人才战略
1. 从“板凳精神”到“微笑前行”:OPPO的研发哲学与人才战略最近,OPPO在五四青年节发布的那支名为《板凳》的品牌片,以及随之公布的超过2000人的技术研发招聘计划,在科技圈里引发了不小的讨论。很多人乍一看,觉得这又是…...
生成式AI项目实战:从PyTorch到Hugging Face的完整开发指南
1. 项目概述:从GitHub仓库名到生成式AI项目的实战蓝图看到HeyNina101/generative_ai_project这个仓库名,很多开发者会心一笑。这太典型了——一个以个人ID命名的GitHub仓库,里面很可能是一个关于生成式人工智能(Generative AI&…...
STM32F103C8T6最小系统板避坑指南:从ST-LINK接线到Keil5乱码,新手必看的5个实战问题
STM32F103C8T6最小系统板避坑指南:从ST-LINK接线到Keil5乱码,新手必看的5个实战问题 第一次点亮STM32开发板的LED时,那种成就感就像电子工程师的"成人礼"。但通往成功的路上往往布满荆棘——接错一根线可能导致整晚的调试失败&…...
手把手调优:如何榨干寒武纪MLU370系列卡的每一份算力?
寒武纪MLU370算力压榨实战:从芯片架构到BANG编程的深度调优指南 当一张价值数十万元的AI加速卡在数据中心里以30%的利用率运行时,每个周期都在烧掉本该属于企业的利润。寒武纪MLU370系列作为国产AI加速卡的代表作,其真实算力潜力往往被大多数…...
langchain4j笔记-09
RAG 1. easy rag Test void test03() {// 1. 创建模型// 2. 加载文档List<Document> documents ClassPathDocumentLoader.loadDocuments("excel");//List<Document> documents FileSystemDocumentLoader.loadDocuments("/home/langchain4j/docum…...
从特征稀缺到精准定位:基于HS-FPN与可变形注意力的白细胞检测新范式
1. 白细胞检测的现状与挑战 在医学影像分析领域,白细胞检测一直是个让人头疼的问题。想象一下,医生需要从密密麻麻的血细胞图像中找出白细胞,就像在沙滩上找特定形状的贝壳一样困难。传统方法主要依赖医生手动操作显微镜,不仅效率…...
C51可重入函数原理与实践指南
1. 理解C51中的可重入函数概念 在8051单片机开发中,可重入函数(Reentrant Function)是一个关键但常被误解的概念。与通用计算机上的C语言开发不同,由于8051架构的特殊限制,标准C51函数默认都是不可重入的。这源于8051硬件设计的几个固有特点&…...
