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

【PyTorch】改变张量(Tensor)形状操作

PyTorch深度学习总结

第二章 PyTorch中改变张量(Tensor)形状操作


文章目录

  • PyTorch深度学习总结
  • 一、前言
  • 二、改变张量形状


一、前言

上文讲解了张量生成信息获取的知识,本文将针对张量的操作进行详细讲解。


二、改变张量形状

1、改变张量形状的函数总结:

函数描述
A.reshape(3, 4)改变张量A形状为3*4
A.resize_(3, 4)改变张量A形状为3*4
A.resize_as_(B)改变张量A形状与张量B相同
torch.unsqueeze(A, dim=0)在A的0维度添加尺寸为1的新张量
torch.unsqueeze(A, dim=0)移除A的维度为1的维度
torch.unsqueeze(A)移除A中所有维度为1的维度
A.expand(3, -1)将张量A扩充为3行
A.expand_as(C )将张量A根据C的大小形状进行扩充
A.repeat(1, 2, 2)对张量A的对应维度进行扩充

2、部分函数细节讲解

针对unsqueeze的讲解:

# 引入库
import torch# 生成张量A
A = torch.arange(start=0, end=2, step=1) # 使用torch.unsqueeze函数添加维度
B = torch.unsqueeze(A, dim=0)
print(A, B)
print(A.shape, B.shape)

输出结果为:
tensor([0, 1]) , tensor([[0, 1]])
torch.Size([2]), torch.Size([1, 2])

针对squeeze的讲解:

# 生成多维度的张量C
C = torch.unsqueeze(B, dim=0)# 对维度为1的维度进行裁剪
D = torch.squeeze(C, dim=0)
E = torch.squeeze(C)# 输出结果
print(C, D, E)
print(C.shape, D.shape, E.shape)

输出结果:
tensor([[[0, 1]]]) , tensor([[0, 1]]), tensor([0, 1])
torch.Size([1, 1, 2]), torch.Size([1, 2]) , torch.Size([2])


http://www.lryc.cn/news/299571.html

相关文章:

  • 《金融人工智能:用python实现ai量化交易》
  • 位运算+leetcode ( 2 )
  • 17 ABCD数码管显示与动态扫描原理
  • 【Zigbee课程设计系列文章】Zigbee开发环境搭建
  • [Linux开发工具]项目自动化构建工具-make/Makefile
  • PLC_博图系列☞参数实例
  • LLaMA 2 和 QianWen-14B
  • 浅谈Java常见设计模式及实例
  • 【RISC-V DSP设计】基于CEVA DSP架构的指令集分析(一)-总体介绍
  • Rust标量类型详解
  • 【双指针】【C++算法】1537. 最大得分
  • golang常用库之-操作数据库ORM:GORM 包介绍 | 一些 GORM 提示和注意事项
  • Stream流学习笔记
  • 单片机——FLASH(2)
  • 个体诊所门诊电子处方开单管理系统软件,配方模板病历模板设置一键导入操作教程
  • ELAdmin 配置定时任务
  • 【服务器部署】Docker环境的安装
  • leetcode刷题--贪心算法
  • 《Java 简易速速上手小册》第5章:Java 开发工具和框架(2024 最新版)
  • Python json解析
  • [FFmpeg学习]从视频中获取图片
  • Redis集中管理Session和系统初始化参数详解
  • [网鼎杯 2020 朱雀组]phpweb
  • 情人节html代码
  • 键盘重映射禁用 CtrlAltDel 键的利弊
  • 【网工】华为设备命令学习(综合实验一)
  • JavaScript中的常见算法
  • 桥接模式:连接抽象与实现的设计艺术
  • C语言——oj刷题——字符串左旋
  • 神经网络(Nature Network)