torch.flatten()

 将张量拉成一维的向量

x=torch.randn(2,3,2)
x2=torch.flatten(x,0)
x3=torch.flatten(x,1)
x4=torch.flatten(x,2)

import torch
x=torch.randn(2,3,2)
print(x)

#生成:
[    [   [-0.5829,  0.8214],
         [ 0.6218,  0.3298],
         [ 0.0222, -0.8473]   ],

     [   [ 0.1044, -1.8784],
         [ 1.2323,  2.6551],
         [ 0.0382,  0.6649]   ]    ]


x2=torch.flatten(x,0)#等价于x2=torch.flatten(x)
print(x2)
[-0.5829,  0.8214,  0.6218,  0.3298,  0.0222, -0.8473,  0.1044, -1.8784, 1.2323,  2.6551,0.0382,  0.6649]


import torch
x=torch.randn(2,3,2)
print(x)

#生成:
[    [   [-0.5829,  0.8214],
         [ 0.6218,  0.3298],
         [ 0.0222, -0.8473]   ],

     [   [ 0.1044, -1.8784],
         [ 1.2323,  2.6551],
         [ 0.0382,  0.6649]   ]    ]



x3=torch.flatten(x,1)
print(x3)


[   [-0.5829,  0.8214,  0.6218,  0.3298,  0.0222, -0.8473],
    [ 0.1044, -1.8784,  1.2323,  2.6551,  0.0382,  0.6649]    ]
import torch
x=torch.randn(2,3,2)
print(x)

#生成:
[    [   [-0.5829,  0.8214],
         [ 0.6218,  0.3298],
         [ 0.0222, -0.8473]   ],

     [   [ 0.1044, -1.8784],
         [ 1.2323,  2.6551],
         [ 0.0382,  0.6649]   ]    ]


x4=torch.flatten(x,2)
print(x4)



[    [   [-0.5829,  0.8214],
         [ 0.6218,  0.3298],
         [ 0.0222, -0.8473]     ],

     [   [ 0.1044, -1.8784],
         [ 1.2323,  2.6551],
         [ 0.0382,  0.6649]     ]    ]

torch.flatten()函数是PyTorch中用于将张量降维的函数。具体使用方法如下: 1. 首先创建一个三维张量x,例如x = torch.randn(2, 3, 4)。 2. 调用torch.flatten()函数,可以将张量x降维为一维向量。例如A = torch.flatten(x),则A的形状为torch.Size([24]),A的内容为tensor([0.5366, 0.5488, 0.4033, -0.5649, -0.9119, 0.8464, -2.6698, 0.9435, 1.4485, 0.6482, -0.3760, 0.4114, 0.1044, 0.8057, -0.6402, 0.4294, 0.4673, -3.0244, 0.4310, -0.2473, 0.9410, 0.1142, 1.8234, 0.9855)。 3. 可以通过指定参数dim来控制降维的方式。例如B = torch.flatten(x, 1),则将张量x以行的方式降维为一个二维张量。B的形状为torch.Size([2, 12]),B的内容为tensor([[-0.6268, 2.0879, -0.3395, 0.7372, 1.2479, 0.7701, -1.0685, -0.1118, 0.8185, -0.7564, -0.1037, 0.6884],[ 0.0925, -0.9300, -1.2214, 0.1166, 1.7271, 0.8715, -0.0598, 0.5371, 0.3556, -0.7636, 0.4855, 0.0844]])。<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [torch.flatten()函数详解](https://blog.csdn.net/weixin_46319994/article/details/123118446)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [pytorch permute维度转换方法](https://download.csdn.net/download/weixin_38738189/12865675)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值