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로 변환