PyTorch中torch.squeeze() 和torch.unsqueeze()用法

2023-11-29 03:58

本文主要是介绍PyTorch中torch.squeeze() 和torch.unsqueeze()用法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

squeeze的用法主要就是对数据的维度进行压缩或者解压

  • torch.squeeze() 对数据的维度进行压缩

https://pytorch.org/docs/stable/torch.html?highlight=torch%20squeeze#torch.squeeze

(a) 去掉维数为1的的维度,比如是一行或者一列这种,一个一行三列(1,3)的数去掉第一个维数为一的维度之后就变成(3)行。squeeze(a)就是将a中所有为1的维度删掉。不为1的维度没有影响。a.squeeze(N) 就是去掉a中指定的维数为一的维度。

(b) b=torch.squeeze(a,N) a中去掉指定的定的维数的维度。

  • torch.unsqueeze()对数据维度进行扩充

https://pytorch.org/docs/stable/torch.html?highlight=torch%20squeeze#torch.unsqueeze

(a) 给指定位置加上维数为一的维度,比如原本有个三行的数据(3),在0的位置加了一维就变成一行三列(1,3)。a.squeeze(N) 就是在a中指定位置N加上一个维数为1的维度。

(b) b=torch.squeeze(a,N) a就是在a中指定位置N加上一个维数为1的维度

torch.unsqueeze 举例说明

x = torch.tensor([1, 2, 3, 4])
print('x.shape = ',x.shape)
print('x = ',x)
x.shape =  torch.Size([4])
x =  tensor([1, 2, 3, 4])
x1 = torch.unsqueeze(x, 0) # x 在0的位置加上一个维度
print('x1.shape = ',x1.shape)
print('x1 = ',x1)
x1.shape =  torch.Size([1, 4])
x1 =  tensor([[1, 2, 3, 4]])
x2 = torch.unsqueeze(x, 1)
print('x2.shape = ',x2.shape)
print('x2 = ',x2)
x2.shape =  torch.Size([4, 1])
x2 =  tensor([[1],[2],[3],[4]])

torch.squeeze 举例说明

x = torch.zeros(2, 1, 2, 1, 2)
print('x.shape = ',x.shape)
x.shape =  torch.Size([2, 1, 2, 1, 2])
y = torch.squeeze(x) # 取出所有维度1
print('y.shape = ',y.shape)
y.shape =  torch.Size([2, 2, 2])
y = torch.squeeze(x, 1)#去除指定位置1
print('y.shape = ',y.shape)
y.shape =  torch.Size([2, 2, 1, 2])

这篇关于PyTorch中torch.squeeze() 和torch.unsqueeze()用法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/431358

相关文章

java之Objects.nonNull用法代码解读

《java之Objects.nonNull用法代码解读》:本文主要介绍java之Objects.nonNull用法代码,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录Java之Objects.nonwww.chinasem.cnNull用法代码Objects.nonN

JavaScript Array.from及其相关用法详解(示例演示)

《JavaScriptArray.from及其相关用法详解(示例演示)》Array.from方法是ES6引入的一个静态方法,用于从类数组对象或可迭代对象创建一个新的数组实例,本文将详细介绍Array... 目录一、Array.from 方法概述1. 方法介绍2. 示例演示二、结合实际场景的使用1. 初始化二

一文带你了解SpringBoot中启动参数的各种用法

《一文带你了解SpringBoot中启动参数的各种用法》在使用SpringBoot开发应用时,我们通常需要根据不同的环境或特定需求调整启动参数,那么,SpringBoot提供了哪些方式来配置这些启动参... 目录一、启动参数的常见传递方式二、通过命令行参数传递启动参数三、使用 application.pro

使用PyTorch实现手写数字识别功能

《使用PyTorch实现手写数字识别功能》在人工智能的世界里,计算机视觉是最具魅力的领域之一,通过PyTorch这一强大的深度学习框架,我们将在经典的MNIST数据集上,见证一个神经网络从零开始学会识... 目录当计算机学会“看”数字搭建开发环境MNIST数据集解析1. 认识手写数字数据库2. 数据预处理的

关于@RequestParam的主要用法详解

《关于@RequestParam的主要用法详解》:本文主要介绍关于@RequestParam的主要用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 基本用法2. 默认值3. 可选参数4. 绑定到对象5. 绑定到集合或数组6. 绑定到 Map7. 处理复杂类

Pytorch微调BERT实现命名实体识别

《Pytorch微调BERT实现命名实体识别》命名实体识别(NER)是自然语言处理(NLP)中的一项关键任务,它涉及识别和分类文本中的关键实体,BERT是一种强大的语言表示模型,在各种NLP任务中显著... 目录环境准备加载预训练BERT模型准备数据集标记与对齐微调 BERT最后总结环境准备在继续之前,确

SQL中的CASE WHEN用法小结

《SQL中的CASEWHEN用法小结》文章详细介绍了SQL中的CASEWHEN函数及其用法,包括简单CASEWHEN和CASEWHEN条件表达式两种形式,并通过多个实际场景展示了如何使用CASEWH... 目录一、简单CASE WHEN函数:二、CASE WHEN条件表达式函数三、常用场景场景1:不同状态展

Linux find 命令完全指南及核心用法

《Linuxfind命令完全指南及核心用法》find是Linux系统最强大的文件搜索工具,支持嵌套遍历、条件筛选、执行动作,下面给大家介绍Linuxfind命令完全指南,感兴趣的朋友一起看看吧... 目录一、基础搜索模式1. 按文件名搜索(精确/模糊匹配)2. 排除指定目录/文件二、根据文件类型筛选三、时间

Java导入、导出excel用法步骤保姆级教程(附封装好的工具类)

《Java导入、导出excel用法步骤保姆级教程(附封装好的工具类)》:本文主要介绍Java导入、导出excel的相关资料,讲解了使用Java和ApachePOI库将数据导出为Excel文件,包括... 目录前言一、引入Apache POI依赖二、用法&步骤2.1 创建Excel的元素2.3 样式和字体2.

pytorch+torchvision+python版本对应及环境安装

《pytorch+torchvision+python版本对应及环境安装》本文主要介绍了pytorch+torchvision+python版本对应及环境安装,安装过程中需要注意Numpy版本的降级,... 目录一、版本对应二、安装命令(pip)1. 版本2. 安装全过程3. 命令相关解释参考文章一、版本对