当前位置: 首页 > 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])


相关文章:

  • 2. Maven 继承与聚合
  • 小游戏和GUI编程(4) | 基于 SFML 的黑客帝国字符雨
  • 机器学习3----决策树
  • Android java基础_多态性
  • [ubuntu]split命令分割文件
  • Swift 初见
  • MQTT的学习与应用
  • rtt设备io框架面向对象学习-dac设备
  • Unity下使用Sqlite
  • 开发自定义标记应用程序
  • 2024年远控软件年度盘点:安全、稳定、功能之选
  • 柚见(伙伴匹配系统)第三期
  • 动态水印怎么加 怎么去除动态水印 视频剪辑软件 会声会影安激活序列号 会声会影怎么剪辑视频
  • 2024beginCTF-Crypto 复现
  • linuxqq关闭主面板后无法再次打开的问题
  • 4. 路由到控制器 - Laravel从零开始教程
  • Git学习与使用心得(1)—— 初始化
  • JavaScript/HTML5图表开发工具JavaScript Charts v3.19.6发布【附下载】
  • java概述
  • Just for fun——迅速写完快速排序
  • PHP变量
  • Python_OOP
  • Redis 懒删除(lazy free)简史
  • 从setTimeout-setInterval看JS线程
  • 前嗅ForeSpider中数据浏览界面介绍
  • 网络应用优化——时延与带宽
  • #LLM入门|Prompt#3.3_存储_Memory
  • #微信小程序(布局、渲染层基础知识)
  • (09)Hive——CTE 公共表达式
  • (阿里云万网)-域名注册购买实名流程
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (实战篇)如何缓存数据
  • (一)appium-desktop定位元素原理
  • ./和../以及/和~之间的区别
  • .naturalWidth 和naturalHeight属性,
  • .NET CF命令行调试器MDbg入门(三) 进程控制
  • .NET Core引入性能分析引导优化
  • .net 打包工具_pyinstaller打包的exe太大?你需要站在巨人的肩膀上-VC++才是王道
  • .net 中viewstate的原理和使用
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • .net开发时的诡异问题,button的onclick事件无效
  • .net开源工作流引擎ccflow表单数据返回值Pop分组模式和表格模式对比
  • .NET轻量级ORM组件Dapper葵花宝典
  • .NET设计模式(2):单件模式(Singleton Pattern)
  • .NET业务框架的构建
  • ?.的用法
  • @31省区市高考时间表来了,祝考试成功
  • [ 数据结构 - C++]红黑树RBTree
  • []sim300 GPRS数据收发程序
  • [3D游戏开发实践] Cocos Cyberpunk 源码解读-高中低端机性能适配策略
  • [AIGC] Spring Interceptor 拦截器详解
  • [Angular 基础] - 数据绑定(databinding)
  • [C# 开发技巧]如何使不符合要求的元素等于离它最近的一个元素
  • [C++][数据结构][算法]单链式结构的深拷贝