ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [PyTorch Study]Tensor 자료형 연산
    2) Tech 2020. 9. 23. 08:18
    반응형

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

     

    오늘은 Pytorch Tensor 자료형 연산에 대해 알아보겠습니다.

     

    tensor 자료형 연산은 numpy ndarray 연산과 유사한점이 굉장히 많습니다.

    1. tensor 자료형 연산

    # 덧셈 뺄셈, 제곱

    import
    torch

    t1 = torch.tensor([1,2,3])
    t2 = torch.tensor([5,6,7])
    t3 = t1+10
    t4 = t1 - t2

    print(t3, '\n')
    print(t2**2)
    print('\n', t4)

    출력 결과

    보시면 tensor 자료형으로 덧셈, 뺄셈, 제곱 연산이 가능합니다.

     

    # Broad casting
    t1 = torch.tensor([1,2,3])
    t5 = torch.tensor([[10, 20, 30], [40, 50, 60]])

    print('\n', t5)
    print('\n', t5+t1)

    #선형간격의 벡터 생성 및 exponential, log 연산
    t6 = torch.linspace(0, 3, 10)

    print('\n', t6)
    print('\n', torch.exp(t6))
    print('\n', torch.log(t6))

    출력 결과

    broadcasting 과 exp, log 연산 또한 잘 진행되는 걸 보실수 있습니다.

     

    직접 따라하시면서 익혀두시면 나중에 응용하실 부분이 많이 있을 겁니다!!

     

    마지막으로 max 함수 소개드리고 마무리 하겠습니다.

     

    예제코드로 보겠습니다.

    # torch.max 함수

    t7 = torch.tensor([[2,4,6], [1,3,9]])

    print('\n', t7)

    print('\n', torch.max(t7))

    print('\n', torch.max(t7, dim=1)) # 행방향으로 최대값 구해라 ,value, index

    print('\n', torch.max(t7, dim=0)) # 열방향으로 최대값 구해라

    print('\n', torch.max(t7, dim=1)[0]) # value 만 추출

    print('\n', torch.max(t7, dim=1)[1])
    # index 만 추출

    출력 결과

    torch에서는 max 함수는 각 원소 중 최대값을 출력 해줍니다.

     

    또한 dim을 이용하여 축방향을 설정할 수 있습니다.

     

    dim=0 일때는 열방향 dim=1 이라면, 행방향으로 말이죠!

     

    하지만 dim을 설정하게 되면, value와 index가 함께 출력되는 특징이 있습니다.

     

    dim=1 이라면, 빨간 화살표 방향으로 최대값을 찾습니다.

    찾은 값위치를 출력해줍니다. 

    torch.return_types.max(values=tensor([6, 9]), indices=tensor([2, 2])

     

    때문에 max함수에서 dim을 설정해주므로 argmax함수의 기능을 사용할 수 있다고 생각하시면 됩니다.

     

    출력의 index를 설정해서 원하는 tensor 객체의 value와 index를 각각 뽑아 낼 수 있기 때문입니다.

     

     

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

     

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

    읽어주셔서 감사합니다.

    반응형

    댓글

Designed by Tistory.