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

作者:马鹏森 时间:2023-11-05 19:54:47 

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,一维将会扩展位更高维。

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

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

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

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

来源:https://mapengsen.blog.csdn.net/article/details/120602026

标签:Pytorch,expand,扩展,维度
0
投稿

猜你喜欢

  • 深入浅出SQL之左连接、右连接和全连接

    2009-08-30 15:14:00
  • 如何使用Python进行OCR识别图片中的文字

    2021-05-05 13:11:07
  • Python中的装饰器用法详解

    2022-02-09 04:03:33
  • python读取文件夹中图片的图片名并写入excel表格

    2021-09-10 07:38:38
  • thinkPHP删除前弹出确认框的简单实现方法

    2024-06-07 15:28:58
  • 一文详解Python中的super 函数

    2022-02-26 03:18:35
  • 探讨Mysql中OPTIMIZE TABLE的作用详解

    2024-01-24 21:43:41
  • JavaScript数组合并的8种常见方法小结

    2024-04-16 09:32:55
  • 关于SQL Server中索引使用及维护简介

    2008-12-24 15:39:00
  • pytorch-神经网络拟合曲线实例

    2022-03-17 18:17:30
  • bootstrap-table.js扩展分页工具栏(增加跳转到xx页)功能

    2024-04-29 13:12:45
  • asp开发Wap中的随笔

    2008-05-21 12:56:00
  • PHP实现的服务器一致性hash分布算法示例

    2024-06-05 09:49:25
  • window.onload使用指南

    2024-04-18 10:58:51
  • 微信小程序基于slider组件动态修改标签透明度的方法示例

    2024-05-11 09:42:14
  • TensorBoard 计算图的可视化实现

    2021-12-06 19:39:58
  • asp如何对数组显示和排序?

    2009-11-20 18:30:00
  • 低版本Druid连接池+MySQL驱动8.0导致线程阻塞、性能受限

    2024-01-20 05:11:49
  • JavaScript实现alert弹框效果

    2024-05-10 10:57:40
  • 超简单的Python HTTP服务

    2023-01-22 06:19:15
  • asp之家 网络编程 m.aspxhome.com