pytorch中squeeze()和unsqueeze()函数
  TnD0WQEygW8e 2023年11月02日 106 0

 

下面使用一个二维矩阵看下dim不同时呈现出的效果:

    # 创建一个3*4的全1二维tensor
    a = torch.ones(3,4)
    '''
    运行结果

tensor([[1., 1., 1., 1.],
            [1., 1., 1., 1.],
            [1., 1., 1., 1.]])
    '''



在0维度上插入一个维度,可以看到现在a的形状变为[1, 3, 4],第0维度的大小默认是1

a = a.unsqueeze(0)
    print(a.shape)
    '''


    运行结果

tensor([[[1., 1., 1., 1.],
             [1., 1., 1., 1.],
             [1., 1., 1., 1.]]])
    torch.Size([1, 3, 4])
    '''



在最后一个维度上插入一个维度,形状变为[3, 4, 1]

a = a.unsqueeze(a.dim())
    print(a.shape)
    '''


    运行结果

tensor([[[1.],
             [1.],
             [1.],
             [1.]],
            [[1.],
             [1.],
             [1.],
             [1.]],
            [[1.],
             [1.],
             [1.],
             [1.]]])
    torch.Size([3, 4, 1])
    '''




【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
TnD0WQEygW8e