1、expand()函数

功能:
扩展张量中某维数据的尺寸,返回输入张量在某维扩展为更大尺寸后的张量,且原始tensor和扩展后tensor不共享内存。

参数:
括号中输入参数为指定经过维度尺寸扩展后的张量的size。

注意事项:
expand()函数只能将size=1的维度扩展到更大的尺寸,如果扩展其他size()的维度会报错。(如下:示例三)

# 示例一
import torch
a = torch.tensor([1, 2, 3])   # a.size:一行三列
b = a.expand(2, 3) # 将 a 扩展为:两行三列
print(a)
print(a.size)
print(b)
print(b.size)# 输出:
tensor([1, 2, 3])
torch.Size([3])
tensor([[1, 2, 3],[1, 2, 3]])
torch.Size([2, 3])# 示例二
import torch
a = torch.tensor([1, 2, 3])  # a.size:一行三列
b = a.expand(3, 3)  # 将 a 扩展为:三行三列
print(a)
print(b)
# 输出:
tensor([1, 2, 3])
tensor([[1, 2, 3],[1, 2, 3],[1, 2, 3]])# 示例三
import torch
a = torch.tensor([[1], [2], [3]])  # a.size:三行一列
b = a.expand(3, 3)  # 将 a 扩展为:三行三列
print(a.size())
print(a)
print(b.size())
print(b)
# 输出:
torch.Size([3, 1])
tensor([[1],[2],[3]])
torch.Size([3, 3])
tensor([[1, 1, 1],[2, 2, 2],[3, 3, 3]])

2、expand_as()函数

功能:
与expand()类似,用来扩展张量中某维数据的尺寸。

参数:
括号内输入参数是另一个张量(可以理解为复制操作,仿照括号内张量的size进行扩展,将输入tensor的维度扩展为与括号内指定tensor相同的size)

# 示例一
import torch
a = torch.tensor([1, 2, 3])  # a.size:一行三列
b = torch.tensor([[1, 1, 1], [2, 2, 2]])  # b.size:两行三列
c = a.expand_as(b)  # 将a的size按照b的size扩展,赋值为c,c的size和b的size是相同的
print(a)
print(a.size)print(b)
print(b.size())print(c)
print(c.size())# 输出:
tensor([1, 2, 3])
torch.Size([3])     # a的size此时是1行3列tensor([[1, 1, 1],[2, 2, 2]])
torch.Size([2, 3])  # b的size此时是2行3列tensor([[1, 2, 3],[1, 2, 3]])
torch.Size([2, 3])  # c,由a扩展而来,按照b的size扩展得到的c,c的size和b的相同,都是2行3列

【PyTorch基础】——expand()和expand_as()相关推荐

  1. pytorch中expand()和expand_as()和repeat()函数解读

    简要 三个函数都是不扩展维度却改变tensor维度数值存在的.关于扩展维度查看squeeze和unsqueeze;关于更改维度位置查看transpose和 permute 1. expand()和ex ...

  2. 深入浅出Pytorch:02 PyTorch基础知识

    深入浅出Pytorch 02 PyTorch基础知识 内容属性:深度学习(实践)专题 航路开辟者:李嘉骐.牛志康.刘洋.陈安东 领航员:叶志雄 航海士:李嘉骐.牛志康.刘洋.陈安东 开源内容:http ...

  3. 第02章 PyTorch基础知识

    文章目录 第02章 Pytorch基础知识 2.1 张量 2.2 自动求导 2.3 并行计算简介 2.3.1 为什么要做并行计算 2.3.2 CUDA是个啥 2.3.3 做并行的方法 补充:通过股票数 ...

  4. 深度学习之Pytorch基础教程!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:李祖贤,Datawhale高校群成员,深圳大学 随着深度学习的发展 ...

  5. 【深度学习】深度学习之Pytorch基础教程!

    作者:李祖贤,Datawhale高校群成员,深圳大学 随着深度学习的发展,深度学习框架开始大量的出现.尤其是近两年,Google.Facebook.Microsoft等巨头都围绕深度学习重点投资了一系 ...

  6. PyTorch基础(part5)--交叉熵

    学习笔记,仅供参考,有错必纠 文章目录 原理 代码 初始设置 导包 载入数据 模型 原理 交叉熵(Cross-Entropy) Loss=−(t∗ln⁡y+(1−t)ln⁡(1−y))Loss =-( ...

  7. PyTorch基础(part4)

    学习笔记,仅供参考,有错必纠 文章目录 PyTorch 基础 MNIST数据识别 常用代码 导包 载入数据 定义网络结构 PyTorch 基础 MNIST数据识别 常用代码 # 支持多行输出 from ...

  8. PyTorch基础(part3)

    学习笔记,仅供参考,有错必纠 文章目录 PyTorch 基础 线性回归 常用代码 导包 生成数据 构建神经网络模型 非线性回归 生成数据 构建神经网络模型 PyTorch 基础 线性回归 常用代码 # ...

  9. PyTorch基础(part2)

    学习笔记,仅供参考,有错必究 文章目录 PyTorch基础 基本操作 加法 减法/乘法/除法 求和.最大.最小 数据的索引 求导 PyTorch基础 基本操作 # 导入常用的包 import torc ...

  10. PyTorch基础(part1)

    学习笔记,仅供参考,有错必究 文章目录 PyTorch基础 PyTorch介绍 PyTorch CPU版安装 导包 构造tensor tensor的基本属性 生成数据 PyTorch基础 PyTorc ...

最新文章

  1. python基础04
  2. ashx是什么文件,如何创建
  3. html css百分比效果,css百分比不起作用是什么原因?
  4. python 类组合_python类与对象的组合与继承
  5. 服务器图片(绝对地址) 客户端显示问题
  6. AT1983-[AGC001E]BBQ Hard【dp,组合数学】
  7. 【Python 标准库学习】多种操作系统接口和常用路径操作库 — os 与 os.path
  8. spark eventLoop模型
  9. cordova-plugin-themeablebrowser 0.2.17 ThemeableBrowserionic跳转外链插件在ios中heardBar会遮住内容的bug...
  10. securecrt 多窗口运行相同命令
  11. 在二叉搜索树(BST)中查找第K个大的结点之非递归实现
  12. 拆分工作簿为多个文件_能不能将总表快速拆分为多个工作簿?当然!
  13. linux上实现getch()函数
  14. 《Adobe Fireworks CS5中文版经典教程》——1.2 工具面板
  15. c语言fltk图形库,c-free-C/C++集成开发环境-c-free下载 v5.0官方版-完美下载
  16. AEJoy ——表达式代码列表和示例(四)【代码详解】
  17. linux禁调usb,Linux主机禁用USB接口
  18. 拼图技巧,一家人的健康码行程码拼图怎么拼
  19. 最新目标跟踪评估指标汇总
  20. 涉及数字的英语表示——几点钟、年月日、世纪、年代、年龄

热门文章

  1. live2d_【内有礼包】七罪看板Live 2D公开,天使的面容,魔鬼的身材~
  2. docker仓库Repository和harbor仓库
  3. Vuforia SDK---- AR开发vuforia 问题总结
  4. ?软件测试mysql面试题:varchar(50)中50的涵义?
  5. tomcat配置静态资源访问
  6. 简单工厂SimpleFactory
  7. echarts在IE浏览器不显示的问题
  8. java 菱形代码加解释_Java 9增强的“菱形”语法
  9. 21华为杯数学建模B题--空气质量二次预测
  10. 程序员,请不要天天加班