torch.squeeze() dim=1 dim=-1 dim=2

对数据的维度进行压缩

使用方式:torch.squeeze(input, dim=None, out=None)

将输入张量形状中的1 去除并返回。 如果输入是形如(A×1×B×1×C×1×D),那么输出形状就为: (A×B×C×D)

当给定dim时,那么挤压操作只在给定维度上。例如,输入形状为: (A×1×B), squeeze(input, 0) 将会保持张量不变,只有用 squeeze(input, 1),形状会变成 (A×B)。

注意:

如果dim指定的维度的值为1

第一种情况

import torch

x = torch.rand(2,1,1,3,1,4)
print('=======x=========')
print(x.shape)
out_1 = torch.squeeze(x, dim=1)
print('=======out_1=========')
print(out_1.shape)
# =======x=========
# torch.Size([2, 1, 1, 3, 1, 4])
# =======out_1=========
# torch.Size([2, 1, 3, 1, 4])

第二种情况

x = torch.rand(1,2,1,1,3,1,4)
print('=======x=========')
print(x.shape)
out_2 = torch.squeeze(x, dim=1)
print('=======out_2=========')
print(out_2.shape)
# =======x=========
# torch.Size([1, 2, 1, 1, 3, 1, 4])
# =======out_2=========
# torch.Size([1, 2, 1, 1, 3, 1, 4])

第三种情况

x = torch.rand(1,1,2,1,1,3,1,4)
print('=======x=========')
print(x.shape)
out_3 = torch.squeeze(x, dim=1)
print('=======out_3=========')
print(out_3.shape)
# =======x=========
# # torch.Size([1, 1, 2, 1, 1, 3, 1, 4])
# # =======out_3=========
# # torch.Size([1, 2, 1, 1, 3, 1, 4])

如果dim指定的维度的值为-1

第一种情况 如果dim指定的维度的值为-1

import torch

x = torch.rand(2,1,1,3,1,4)
print('=======x=========')
print(x.shape)
out_1 = torch.squeeze(x, dim=-1)
print('=======out_1=========')
print(out_1.shape)
# =======x=========
# torch.Size([2, 1, 1, 3, 1, 4])
# =======out_1=========
# torch.Size([2, 1, 1, 3, 1, 4])

第二种情况 如果dim指定的维度的值为-1

x = torch.rand(2,1,1,3,1,4,1)
print('=======x=========')
print(x.shape)
out_2 = torch.squeeze(x, dim=-1)
print('=======out_2=========')
print(out_2.shape)
# =======x=========
# torch.Size([2, 1, 1, 3, 1, 4, 1])
# =======out_2=========
# torch.Size([2, 1, 1, 3, 1, 4])

第三种情况 如果dim指定的维度的值为-1

x = torch.rand(2,1,1,3,1,4,1,1)
print('=======x=========')
print(x.shape)
out_3 = torch.squeeze(x, dim=-1)
print('=======out_3=========')
print(out_3.shape)
# =======x=========
# torch.Size([2, 1, 1, 3, 1, 4, 1, 1])
# =======out_3=========
# torch.Size([2, 1, 1, 3, 1, 4, 1])

如果dim指定的维度的值为2

import torch

x = torch.rand(2,1,3,1,4)
print('=======x=========')
print(x.shape)
out_1 = torch.squeeze(x, dim=2)
print('=======out_1=========')
print(out_1.shape)
# =======x=========
# torch.Size([2, 1, 3, 1, 4])
# =======out_1=========
# torch.Size([2, 1, 3, 1, 4])

x = torch.rand(2,1,1,3,1,4)
print('=======x=========')
print(x.shape)
out_2 = torch.squeeze(x, dim=2)
print('=======out_2=========')
print(out_2.shape)
# =======x=========
# torch.Size([2, 1, 1, 3, 1, 4])
# =======out_2=========
# torch.Size([2, 1, 3, 1, 4])


x = torch.rand(1,2,1,1,3,1,1,4)
print('=======x=========')
print(x.shape)
out_3 = torch.squeeze(x, dim=2)
print('=======out_3=========')
print(out_3.shape)
# =======x=========
# torch.Size([1, 2, 1, 1, 3, 1, 1, 4])
# =======out_3=========
# torch.Size([1, 2, 1, 3, 1, 1, 4])

相关推荐

  1. torch.squeeze() dim=1 dim=-1 dim=2

    2024-06-13 11:58:03       32 阅读
  2. Codeforces Round 959(Div. 1 + Div. 2)A~C

    2024-06-13 11:58:03       26 阅读
  3. Codeforces Round 959 sponsored by NEAR (Div. 1 + Div. 2) VP

    2024-06-13 11:58:03       24 阅读
  4. Codeforces Round 918 (Div. 4) 1

    2024-06-13 11:58:03       49 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-13 11:58:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-13 11:58:03       101 阅读
  3. 在Django里面运行非项目文件

    2024-06-13 11:58:03       82 阅读
  4. Python语言-面向对象

    2024-06-13 11:58:03       91 阅读

热门阅读

  1. Trusty qemu + android环境搭建详细步骤

    2024-06-13 11:58:03       30 阅读
  2. Apache Flink 如何保证 Exactly-Once 语义

    2024-06-13 11:58:03       34 阅读
  3. mysql 相关

    2024-06-13 11:58:03       29 阅读
  4. Eclipse项目导入笔记大全&踩坑大全

    2024-06-13 11:58:03       81 阅读
  5. ARCGIS进行视域分析及地形图制作

    2024-06-13 11:58:03       32 阅读
  6. CPython源码学习5:字节对象

    2024-06-13 11:58:03       26 阅读
  7. TC 中有⼏个画圆函数?怎么使⽤?

    2024-06-13 11:58:03       31 阅读
  8. 洛谷P3269 [JLOI2016] 字符串覆盖

    2024-06-13 11:58:03       21 阅读
  9. Perl语言入门学习

    2024-06-13 11:58:03       34 阅读
  10. if else 条件判断力使用hooks有什么问题

    2024-06-13 11:58:03       32 阅读
  11. git 如何强制下拉某个分支

    2024-06-13 11:58:03       29 阅读