有两点需要注意,无论是 expand() 还是 expand_as():

  1. 只能在第0维扩展一个维数,比如原来是是(1,3,4)==》(2,1,3,4),而在其他维度扩展不可以(1,3,4)==》(1,2,3,4)【错误】
  2. 如果不增加维数,只是增加维度,要增加的原维度必须是1才可以在该维度增加维度,其他值均不可以
import torch
#1
x = torch.randn(2, 1, 1)#为1可以扩展为3和4
x = x.expand(2, 3, 4)
print('x :', x.size())
>>> x : torch.Size([2, 3, 4])
#2
#扩展一个新的维度必须在最前面,否则会报错
x = x.expand(2, 3, 4, 6)
>>> RuntimeError: The expanded size of the tensor (3) must match the existing size (2) at non-singleton dimension 1.
x = x.expand(6, 2, 3, 4)
>>> x : torch.Size([6, 2, 3, 4])
#3
#某一个维度为-1表示不改变该维度的大小
x = x.expand(6, -1, -1, -1)
>>> x : torch.Size([6, 2, 1, 1])
import torch
#1
x = torch.randn(2, 1, 1)#原维度为1可以扩展为其他维度
y = torch.randn(2, 3, 3)
x = x.expand_as(y)
print('x :', x.size())
>>> x : torch.Size([2, 3, 3])
#2
x = torch.randn(2, 2, 2)#原维度为其他不是1的值不可以扩展为其他维度
y = torch.randn(2, 3, 4)
x = x.expand_as(y)
print('x :', x.size())
>>> RuntimeError: The expanded size of the tensor (4) must match the existing size (2) at non-singleton dimension 2.  Target sizes: [2, 3, 4].

【Pytorch】expand()用法==》扩展某个维度相关推荐

  1. 【PyTorch】 tensor.squeeze压缩维度

    [PyTorch] tensor.squeeze压缩维度 1.背景 2.squeeze方法 3.示例 1.背景 pytorch的tensor维度扩展.压缩是一个常见的操作, tensor维度扩展参见如 ...

  2. 机器学习之神经网络(从神经网络结构到pytorch基本用法)

    机器学习之神经网络(从神经网络结构到pytorch基本用法) 1.神经网络概念 1.1 网络结构 ​ 人工神经网络(artificial neural network,ANN),简称神经网络(neur ...

  3. Pytorch基本用法 乘法函数详解:5个张量乘法function

    1.基础 张量维度:维度个数和维度大小:.ndim可查看维度个数,.shape可查看维度大小. 如下代码,张量a:维度个数为2,是一个2维张量:维度大小为[2,3],即第0维的维度大小为2,第1维为3 ...

  4. pytorch中的torch.tensor.repeat以及torch.tensor.expand用法

    文章目录 torch.tensor.expand torch.tensor.repeat torch.tensor.expand 先看招 import torch x = torch.tensor([ ...

  5. PyTorch expand() 函数

    文章目录 1.官方解释 2.例子 2.1.扩展到更大维度 2.2.添加新的维度 1.官方解释 Tensor.expand(*sizes) -> Tensor:对一个张量进行扩张 返回的是一个 t ...

  6. pytorch CrossEntropyLoss用法

    数据类型只支持long类型 只支持两个维度: import torch import torch.nn as nnloss = nn.CrossEntropyLoss()# input, NxC=2x ...

  7. pytorch 笔记: 扩展torch.autograd

    1 扩展torch.autograd 向 autograd 添加操作需要为每个操作实现一个新的 Function 子类. 回想一下,函数是 autograd 用来编码操作历史和计算梯度的东西. 2 何 ...

  8. 这可能是关于Pytorch底层算子扩展最详细的总结了!

    1.前言​ ​一般情况下,pytorch推荐使用python层的前端语言来构建新的算子.因为pytorch在python层的api已经足够丰富,可以构造出很多自定义的算子.但是有时候出于一些其他方面的 ...

  9. Npm配置全局安装插件目录以及命令用法扩展

    1 配置全局插件文件存放目录 说明:本地nodejs安装路径为:D:\Software\Nodejs 先在安装目录创建2个空的文件夹 cd /d D:\Software\Nodejs mkdir no ...

最新文章

  1. Windows Azure Virtual Network (6) 设置Azure Virtual Machine固定公网IP (Virtual IP Address, VIP) (1)...
  2. Android activity属性
  3. 计算机软件技术基础考前整理
  4. Anconda下的R语言
  5. 功能测试工具Selenium IDE
  6. J2me流媒体技术实现讨论[2]
  7. 软件工程结构化建模的方法和工具_软件工程系列-结构化设计方法2
  8. 暴走大侠显示进入服务器失败,暴走大侠:常见问题详解,再遇见这样的问题也不再迷糊...
  9. Windows函数错误处理
  10. 《『若水新闻』客户端开发教程》——09.代码编写(1)
  11. linux 下tomcat catalina.out日志操作
  12. Silverlight 数据绑定 (1):怎样实现数据绑定 Silverlight 数据绑定 (2):Source to Target...
  13. 计算机双面打印设置,双面打印怎么设置?双面打印设置方法步骤
  14. 网络安全--风险评估
  15. 计算机应用基础演示文稿内容,计算机应用基础(PowerPoint 2003电子演示文稿系统)...
  16. 什么是现汇买入价、现钞买入价、卖…
  17. Nolanjdc对接傻妞教程
  18. 物联网案例(三):工业物联网中故障预警与风险管理的规范性分析
  19. 手机怎么申请邮箱?手机邮箱下载
  20. Python爬虫之——爬取妹子图片

热门文章

  1. 【官方搭建入门】JEEWX 捷微开发环境搭建必读
  2. 开发指南专题五:JEECG微云快速开发平台代码生成器
  3. Jenkins自动化部署容器
  4. 区块链100讲:ERC20 中文版
  5. 机器视觉系统图像采卡基本概念
  6. 项目管理工具之maven
  7. mac升级10.12后,安全和隐私中没有了安装任何来源的选项的解决办法
  8. C# 延时小函数 很好用
  9. CentOS 6.5自动化运维之基于DHCP和TFTP服务的PXE自动化安装centos操作系统详解
  10. 多线程的等待唤醒机制