🦬

torchのviewメモ

2023/05/29に公開

torchのviewによる変化がしりたかったのでちょっと試してみた。

a = torch.tensor([[[0,1,2,3,4,5], 
              [6,7,8,9,10,11]],
             [[12,13,14,15,16,17], 
              [18,19,20,21,22,23]],
             ])
	    
## torch.Size([2, 2, 6])

これを 2,4,3 に変えてみる。
一番最後の軸が分割されて、dim=1に移動した。

b = a.view((2,4,3))
tensor([[[ 0,  1,  2],
         [ 3,  4,  5],
         [ 6,  7,  8],
         [ 9, 10, 11]],

        [[12, 13, 14],
         [15, 16, 17],
         [18, 19, 20],
         [21, 22, 23]]])

[-1, 2]に変えてみる。
一番最後の軸が分割されて長さ2になって、dim=0に移動した。

c = a.view((-1,2))
tensor([[ 0,  1],
        [ 2,  3],
        [ 4,  5],
        [ 6,  7],
        [ 8,  9],
        [10, 11],
        [12, 13],
        [14, 15],
        [16, 17],
        [18, 19],
        [20, 21],
        [22, 23]])

Discussion