ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [PyTorch Study]Tensor 자료형 사이즈 및 차원 변경
    2) Tech 2020. 9. 23. 09:04
    반응형

    PyTorch Study 세번째 시간입니다!!

     

    지난 게시물에 이어 Pytorch Tensor 자료형 응용 2번째 시간입니다.

     

    1. Tensor 자료형 사이즈 변경

    # pytorch reshape, view 사용법

    import
    torch

    t1 = torch.tensor([1,2,3,4,5,6])

    print( t1, '\n')

    t2 = t1.view(2, 3)

    print( t2, '\n')
    print( t1.reshape(2,3), '\n')

    출력

    위 코드의 출력을 보시면 reshape, view 의 역할이 감이 오실겁니다!

     

    - torch.tensor().reshape, view : Tensor 자료형의 사이즈 및 차원 변경시 사용

     

    굉장히 많이 사용되므로 사용법을 잘알아 두셔야합니다.

     

    이번에는 차원변경 예시를 함께 따라해봅시다.

     

    1-1. Tensor 자료형 차원 변경

    # pytorch reshape, view 사용법

    t3 = torch.tensor( [[1,2], [3,4], [5,6]] )


    print( t3, '\n')

    print( t3.size(), '\n')

    print( t3.view(-1), '\n')

    print( t3.view(1, -1), '\n')

    print( t3.view(1, -1).size(), '\n')

    출력 이미지

    - view(-1), reshape(-1) : Tensor 자료형 차원 풀기

     

    - view(n, -1), reshape(n, -1) : Tensor 자료형 차원 풀되, [n x ] 형태로 1차원 유지하기  

     

    조금 어렵다 싶으면, size함수를 사용해서 직접 찍어보시면 됩니다.

     

    이번엔 차원을 좀더 늘려서 확인해보겠습니다.

    # pytorch reshape, view 사용법

    t4 = torch.tensor( [[[1,2], [3,4]], [[5,6], [7,8]]] )

    print( t4, '\n')

    print( t4.size(), '\n')

    print( t4.view(-1), '\n')

    print( t4.view(1, -1), '\n')

    print( t4.view(2, -1), '\n')


    print( t4.view(2, -1).size(), '\n')

    출력 이미지

    3-Tensor의 예시를 보시면 view( , -1) 의 사용법이 더욱 이해가 되실거라 생각됩니다.

     

    2. torch.cat 

    이번에는 pytorch cat 함수를 사용해보겠습니다.

     

    - torch.cat : Tensor 자료형 결합시 사용

     

    Tensor 자료형을 행방향과 열방향으로 각각 결합이 가능하도록 도와주는 함수입니다.

     

    예시로 확인해보죠!

    # pytorch reshape, view 사용법

    t5 = torch.tensor( [[1,2,5], [3,4,6]] )
    t6 = torch.tensor( [[10,20,30], [40,50,60]] )

    print(t5)

    print('\n', t6)

    print('\n', torch.cat( [t5, t6], dim=1)

    print('\n', torch.cat( [t5, t6], dim=0)

    출력 이미지

    torch.cat() 또한 dim을 설정해주어서 어느 방향으로 tensor를 결합할지 결정해줍니다.

     

    dim =1 -> 방향

    dim =0 ↓ 방향

     

    오늘은 여기서 마무리 하겠습니다.

     

    글이 조금이나마 도움이 되었으면 좋겠습니다! 

     

    읽어주셔서 감사합니다.

    반응형

    댓글

Designed by Tistory.