[PyTorch] torch.tensor와 torch.Tensor의 차이

Ethan·2022년 12월 26일
0

파이토치

목록 보기
1/3

torch.tensor VS torch.Tensor

공식 도큐를 보면 위와 같이 표시돼 있습니다.
torch.tensor는 함수고, torch.Tensor는 클래스입니다.

사실 이게 다이긴 한데, 조금만 더 살펴보겠습니다.

torch.tensor

"Constructs a tensor with no autograd history (also known as a “leaf tensor”) by copying data."

설명을 보니 data 객체를 복사해서 tensor 객체를 생성한다고 적혀 있습니다. 즉, 이미 정의한 data 객체를 가지고 tensor로 바꿀 때 사용하는 함수가 torch.tensor 이고, 그렇게 해서 생성되는 객체가 바로 torch.Tensor 입니다. 아래 예시를 보겠습니다.

torch.tensor의 디폴트 dtype 값은 None입니다. 따라서 데이터타입을 사용자가 지정할 수 있습니다. 위와 같이 torch._ 형태로 지정해주면 됩니다.

torch.Tensor

"A torch.Tensor is a multi-dimensional matrix containing elements of a single data type."

torch.Tensortorch.tensor 함수를 통해서도 만들 수 있지만, 당연히 클래스 자체를 호출해서도 만들 수 있습니다. 당연히 다양한 종류의 메소드도 가지고 있습니다.

위에서 살펴봤던 예시입니다.
test 객체의 내부 데이터타입을 함수를 호출하여 확인하고 있는데요.

test 객체는 클래스이므로 바로 메소드를 호출해서 타입을 확인할 수도 있습니다.

torch.Tensor 의 디폴트 설정은 FloatTensor (=float32) 입니다.


참고문서
https://pytorch.org/docs/stable/generated/torch.tensor.html#torch-tensor

profile
재미있게 살고 싶은 대학원생

0개의 댓글

관련 채용 정보