Pytorch中expand()的使用(扩展某个维度)

 更新时间:2022年07月15日 11:39:58   作者:马鹏森  
这篇文章主要介绍了Pytorch中expand()的使用(扩展某个维度),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

Pytorch expand()的使用

有两点需要注意,无论是 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()函数

返回tensor的一个新视图

单个维度扩大为更大的尺寸。

tensor也可以扩大为更高维,新增加的维度将附在前面。

扩大tensor不需要分配新内存,只是仅仅新建一个tensor的视图,其中通过将stride设为0,一维将会扩展位更高维。

任何一个一维的在不分配新内存情况下可扩展为任意的数值。

note:使用expand()函数的时候

x自身不会改变,因此需要将结果重新赋值。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python批量裁剪图形外围空白区域

    Python批量裁剪图形外围空白区域

    这篇文章主要介绍了Python批量裁剪图形外围空白区域,批量裁剪掉图片的背景区域,一般是白色背景,从而减少背景值的干扰和减少存储,下面文章的具体操作内容需要的小伙伴可以参考一下
    2022-04-04
  • Python实现词云图词频统计

    Python实现词云图词频统计

    这篇文章主要为大家详细介绍了Python数据分析中的词频统计和词云图可视化,文中的示例代码讲解详细,对我们学习Python有一定的帮助,需要的可以参考一下
    2022-12-12
  • 表格梳理解析python内置时间模块看完就懂

    表格梳理解析python内置时间模块看完就懂

    这篇文章主要介绍了python内置的时间模块,本文用表格方式清晰的对Python内置时间模块进行语法及用法的梳理解析,有需要的朋友建议收藏参考
    2021-10-10
  • 解决python 输出到csv 出现多空行的情况

    解决python 输出到csv 出现多空行的情况

    这篇文章主要介绍了解决python 输出到csv 出现多空行的情况,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Python中第三方库Faker的使用详解

    Python中第三方库Faker的使用详解

    在如今的大数据时代,数据的价值可想而知。有时候为了做测试,需要模拟真实的环境,但是又不能直接使用真实数据,就需要我们认为制造一些数据出来。这时候就要来说说Python这的Faker库了,快跟随小编来学习一下这个库吧
    2022-04-04
  • Python matplotlib绘制灰度和彩色直方图

    Python matplotlib绘制灰度和彩色直方图

    Matplotlib是Python的绘图库,它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。本文将为大家介绍如何用matplotlib绘制灰度和彩色直方图,感兴趣的朋友可以学习一下
    2021-12-12
  • python基于openpyxl生成excel文件

    python基于openpyxl生成excel文件

    这篇文章主要介绍了python基于openpyxl生成excel文件的方法,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-12-12
  • python如何使用split多字符分割字符串的方法

    python如何使用split多字符分割字符串的方法

    这篇文章主要给大家介绍了关于python如何使用split多字符分割字符串的相关资料,split()方法是一个非常强大的工具,可以帮助我们轻松地分割字符串,需要的朋友可以参考下
    2023-10-10
  • python 添加环境变量及配置方法

    python 添加环境变量及配置方法

    这篇文章主要介绍了python 添加环境变量的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07
  • Python常用的日期时间处理方法示例

    Python常用的日期时间处理方法示例

    这篇文章主要介绍了Python常用的日期时间处理方法示例,本文直接给出实现代码,包含如给定日期向后N天的日期、昨天、今天、将字符串转换成datetime类型等方法,需要的朋友可以参考下
    2015-02-02

最新评论