더북(TheBook)

2.2.1 텐서 다루기

파이토치를 사용하기 위해서는 텐서의 사용법을 잘 숙지해야 합니다. 먼저 텐서를 생성하는 방법에 대해 알아봅시다.

 

텐서 생성 및 변환

텐서는 파이토치의 가장 기본이 되는 데이터 구조입니다. 넘파이의 ndarray와 비슷하며 GPU에서의 연산도 가능합니다.

텐서 생성은 다음과 같은 코드를 이용합니다.

import torch
print(torch.tensor([[1,2],[3,4]])) ------ 2차원 형태의 텐서 생성
print(torch.tensor([[1,2],[3,4]], device="cuda:0")) ------ GPU에 텐서 생성
print(torch.tensor([[1,2],[3,4]], dtype=torch.float64)) ------ dtype을 이용하여 텐서 생성

다음은 생성된 텐서의 결과입니다.

tensor([[1, 2],
       [3, 4]])
tensor([[1., 2.],
       [3., 4.]], dtype=torch.float64)

이번에는 텐서를 ndarray로 변환해 보겠습니다.

temp = torch.tensor([[1,2],[3,4]])
print(temp.numpy()) ------ 텐서를 ndarray로 변환

temp = torch.tensor([[1,2],[3,4]], device="cuda:0")
print(temp.to("cpu").numpy()) ------ GPU상의 텐서를 CPU의 텐서로 변환한 후 ndarray로 변환
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.