공식 도큐를 보면 위와 같이 표시돼 있습니다.
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._
형태로 지정해주면 됩니다.
"A torch.Tensor is a multi-dimensional matrix containing elements of a single data type."
torch.Tensor
는 torch.tensor
함수를 통해서도 만들 수 있지만, 당연히 클래스 자체를 호출해서도 만들 수 있습니다. 당연히 다양한 종류의 메소드도 가지고 있습니다.
위에서 살펴봤던 예시입니다.
test
객체의 내부 데이터타입을 함수를 호출하여 확인하고 있는데요.
test
객체는 클래스이므로 바로 메소드를 호출해서 타입을 확인할 수도 있습니다.
torch.Tensor
의 디폴트 설정은 FloatTensor
(=float32) 입니다.
참고문서
https://pytorch.org/docs/stable/generated/torch.tensor.html#torch-tensor