[Python]次元の追加または減少:a.squeeze(axis)およびa.unsqueeze(axis)

777 ワード

a.squeeze(axis)およびa.unsqueeze(axis)は、tensorの上下次元のために使用され、括弧内のパラメータは、処理が必要な次元を表す.
パラメータの意味
  • 0:最初の次元
  • 1:2番目の次元
  • ···
  • -1:最後から1番目の次元
  • -2:最後から2番目の次元
  • a.squeeze(axis):次元ダウン
    低減が必要な次元は、1でなければなりません.1でなければ、操作は効果がありません.a.squeeze(axis)は、デフォルトでは、a内の1のすべての次元を削除します.
    x = np.array([[[0], [1], [2]]])
    # x=
    # [[[0]
    #  [1]
    #  [2]]]
    
    print(x.shape)
    # (1, 3, 1)
    
    x1 = np.squeeze(x)    #  a      1      
    print(x1)
    # [0 1 2]
    print(x1.shape)  
    # (3,)
    
    a.unsqueeze(axis):昇次元
    パラメータで指定した位置に次元を追加します.
    print(x.shape)
    # torch.Size([4, 3])
    
    x = x.unsqueeze(0) #       
    print(x.shape)
    # torch.Size([1, 4, 3])