머신러닝 & 딥러닝/자연어처리

파이토치 기초 텐서(Tensor) 연산 및 유용한 함수 - torch.add(), arange(), view(), sum(), transpose()

by seokii 2021. 11. 27.
728x90
반응형

저번 글(텐서 타입)에 이어서 기본적인 연산에 대한 공부입니다.

 

주피터 노트북으로 실습

In [1] : 

import torch

def describe(x):
    print("타입: {}".format(x.type()))
    print("크기: {}".format(x.shape))
    print("값: \n{}".format(x))

- 라이브러리를 불러온 후, 설명을 위한 간단한 함수를 정의합니다.

 

 

 

In [2] : 

x = torch.randn(2,3)
describe(x)

- 실습을 진행하기 위해서 텐서 생성합니다.

 

 

 

In [3] : 

describe(torch.add(x, x))

- torch.add() 함수를 사용해 연산 수행합니다.

- torch.add(), torch.sub() 등 다양한 함수가 존재합니다.

 

 

In [4] : 

describe(x + x)

- 일반적인 +, -, *, / 를 사용해 연산하는 것도 가능합니다.

 

 

 

In [5] : 

x = torch.arange(6)
describe(x)

- torch.arange() 함수를 사용해 1차원 크기의 텐서를 반환할 수 있습니다.

 

 

 

In [6] : 

x = x.view(2,3)
describe(x)

- view() 메서드로 동일한 데이터를 공유하는 새로운 텐서를 만듭니다.

- view() 함수를 사용해 원래의 텐서를 원하는 형태로 변경할 수 있습니다.

 

 

 

In [7] : 

describe(torch.sum(x, dim=0))

In [8] : 

describe(torch.sum(x, dim=1))

- torch.sum() 함수를 사용해 행과 열을 기준으로 연산이 가능합니다.

- 2D 텐서는 행을 차원 0, 열을 차원 1로 표현합니다.

 

 

 

In [9] : 

describe(torch.transpose(x, 0, 1))

- tranpose() 함수를 사용해 transpose연산이 가능합니다.

- 자세한 설명은 공식문서에서 확인하실 수 있습니다.

 

 

 

 

 

도움이 되셨다면 아래 광고 한 번만 클릭해주세요 감사합니다!

728x90
반응형

댓글