当前位置: 首页 > news >正文

张量维度改变总结

文章目录

  • 一、view() 或 reshape()
  • 二、unsqueeze()
  • 三、squeeze()
  • 四、transpose()
  • 五、torch.expand_dims


一、view() 或 reshape()

  view() 或 reshape(): 这两个函数可以用于改变张量的形状,但保持元素总数不变。它们可以接受一个新的形状作为参数,并返回一个新的张量。例如:

import torchx = torch.randn(2, 3, 4)  # 创建一个形状为 [2, 3, 4] 的张量x_viewed = x.view(2, 12)  # 改变形状为 [2, 12]
x_reshaped = x.reshape(6, 4)  # 改变形状为 [6, 4]

二、unsqueeze()

  unsqueeze(): 这个函数可以在指定位置插入一个新的维度。它接受一个整数作为参数,表示要插入的位置。例如:

import torchx = torch.randn(3, 4)  # 创建一个形状为 [3, 4] 的张量x.unsqueeze(0)  # 在第 0 个位置插入一个新的维度,形状变为 [1, 3, 4]
x.unsqueeze(1)  # 在第 1 个位置插入一个新的维度,形状变为 [3, 1, 4]
import torchx = torch.randn(2, 3)  # 创建一个形状为 [2, 3] 的张量x_unsqueezed = torch.unsqueeze(x, dim=0)  # 在第 0 个位置插入一个新的维度,形状变为 [1, 2, 3]

三、squeeze()

  squeeze(): 这个函数可以删除维度为 1 的维度。它会返回一个新的张量,其中已删除了所有维度为 1 的维度。例如:

import torchx = torch.randn(1, 3, 1, 4)  # 创建一个形状为 [1, 3, 1, 4] 的张量x.squeeze()  # 删除所有维度为 1 的维度,形状变为 [3, 4]

四、transpose()

  transpose(): 这个函数可以交换张量的维度顺序。它接受两个整数作为参数,表示要交换的维度的位置。例如:

import torchx = torch.randn(2, 3)  # 创建一个形状为 [2, 3] 的张量x.transpose(0, 1)  # 交换维度 0 和维度 1 的位置,形状变为 [3, 2]

五、torch.expand_dims

  torch.expand_dims(input, dim): 这个函数接受一个张量 input 和一个整数 dim,表示要在 dim 位置插入一个新的维度。它会返回一个新的张量,其中插入了一个维度。例如:

import torchx = torch.randn(2, 3)  # 创建一个形状为 [2, 3] 的张量x_expanded = torch.expand_dims(x, dim=1)  # 在第 1 个位置插入一个新的维度,形状变为 [2, 1, 3]
http://www.lryc.cn/news/318820.html

相关文章:

  • C++ ezOptionParse的用法
  • MATLAB:一些杂例
  • 使用OpenCV实现两张图像融合在一起
  • PyTorch学习笔记之基础函数篇(十)
  • kubernetes部署集群
  • 软件工程师,该偿还一下技术债了
  • HTML5、CSS3面试题(三)
  • pytorch之诗词生成6--eval
  • Django自定义中间件
  • 【JavaScript】JavaScript 运算符 ① ( 运算符分类 | 算术运算符 | 浮点数 的 算术运算 精度问题 )
  • 掘根宝典之C++迭代器简介
  • DP-力扣 120.三角形最小路径和
  • 【WEEK3】学习目标及总结【SpringMVC】【中文版】
  • peft模型微调--Prompt Tuning
  • 【算法训练营】周测1
  • PyTorch Dataset、DataLoader长度
  • 动态IP和静态IP
  • 中电金信:技术实践|Flink维度表关联方案解析
  • HQL 55 题【持续更新】
  • lqb省赛日志[8/37]-[搜索·DFS·BFS]
  • uni app 钓鱼小游戏
  • openssl3.2 - note - Decoders and Encoders with OpenSSL
  • 分享几个 Selenium 自动化常用操作
  • 【Python】【数据类型】List (列表) 的常见操作
  • 【C语言】病人信息管理系统
  • Java Spring Boot 接收时间格式的参数
  • 【C++】实现红黑树
  • 爬虫(六)
  • 最长连续序列 - LeetCode 热题 3
  • 运营模型—RFM 模型