PyTorch张量维度操作(拼接、扩展、压缩、重复、变形、置换维度)

涉及到的方法有:
拼接torch.cat();torch.stack
扩展torch.Tensor.expand()
压缩torch.squeeze(); torch.Tensor.narrow()
重复torch.Tensor.repeat(); torch.Tensor.unfold()
变形torch.Tensor.view();torch.Tensor.resize_()
置换维度torch.Tensor.permute()

torch.cat(seq, dim=0, out=None) → Tensor
在指定的维度dim上对序列seq进行连接操作
torch.stack(seq, dim=0, out=None) → Tensor
增加新的维度进行堆叠
torch.Tensor.expand(*sizes) → Tensor
返回张量的一个新视图,可以将张量的单个维度扩大为更大的尺寸。
传入-1则意味着维度扩大不涉及这个维度。
扩大张量不需要分配新内存,仅仅是新建一个张量的视图。

torch.squeeze(input, dim=None, out=None) → Tensor
除去输入张量input中数值为1的维度,并返回新的张量。
当通过dim参数指定维度时,维度压缩操作只会在指定的维度上进行。
如果一个张量只有1个维度,那么它不会受到上述方法的影响。
输出的张量与原张量共享内存,如果改变其中的一个,另一个也会改变。

torch.Tensor.repeat(*sizes)
沿着指定的维度重复张量。不同于expand

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
PyTorch中,可以使用多种方法对张量维度进行变换。其中常用的方法有view()和squeeze()。view()方法可以用来改变张量的形状,而squeeze()方法可以去除维度中值为1的尺寸。举例如下: 1. 使用view()方法进行维度变换。view()方法会返回一个改变了形状的新张量,但张量中的元素数量必须保持不变。可以使用该方法实现维度的展平、增加或减少维度操作。 2. 使用squeeze()方法进行维度变换。squeeze()方法可以去除张量维度中值为1的尺寸,并返回一个新张量。可以指定具体的维度进行去除,也可以不指定维度,即默认去除所有为1的维度。 例如,假设有一个张量a的形状为(2, 1, 2, 1, 3),使用squeeze()方法可以去除其中值为1的维度,得到一个形状为(2, 2, 3)的新张量。 在PyTorch中,还可以使用unsqueeze()方法对张量进行维度扩展。unsqueeze()方法会在指定的维度上增加一个尺寸为1的维度,并返回一个新张量。 总结起来,PyTorch中的维度变换包括view()、squeeze()和unsqueeze()等方法,可以根据具体需求选择合适的方法进行张量维度变换。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [PyTorchTensor维度变换实现](https://download.csdn.net/download/weixin_38698174/13988496)[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* *3* [Pytorch 基础之维度变化](https://blog.csdn.net/zxhandroid/article/details/129192950)[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 ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值