텐서의 자료형을 반환해라. 라고 할 때 dtype()을 써야 하는지, type()을 써야 하는지 헷갈린다.
여기서 dtype()과 type()의 차이점을 정확하게 알아야 한다.
사실 알고 나면 별거 아니다!!
dtype()
dtype()은 객체 안에 들어있는 원소의 자료형을 의미한다. 객체 내 알맹이의 데이터 타입을 의미한다고 생각하면되는데 만약 텐서, 넘파이 배열이나 판다스 시리즈, 데이터 프레임이 있을 때 구성 요소인 데이터의 타입을 확인하거나 지정할 때 사용된다.
import torch
x = torch.tensor([1.0, 2.0, 3.0]) # float 기본
print(x.dtype) # torch.float32
y = torch.tensor([1, 2, 3]) # int 기본
print(y.dtype) # torch.int64
z = torch.tensor([True, False])
print(z.dtype) # torch.bool
## 지정할 때
torch.tensor([1, 2, 3], dtype=torch.float64)
torch.zeros((2, 3), dtype=torch.int32)
type()
type()은 파이썬의 모든 객체에 대해 사용될 수 있는 파이썬 내장 함수이고, 객체 전체의 데이터 타입을 의미한다.
import torch
x = torch.tensor([1.0, 2.0, 3.0])
print(type(x)) # <class 'torch.Tensor'>
print(x.type()) # 'torch.FloatTensor'
y = torch.tensor([1, 2, 3])
print(y.type()) # 'torch.LongTensor'
- 데이터 값이 어떤 형식으로 저장돼 있는지 알고 싶다 → dtype
- 객체 자체의 클래스 타입을 보고 싶다 → type 또는 .type()
'헷개정 - 헷갈리는 개념 정리' 카테고리의 다른 글
| 왜 데이터를 zero-centering하고 normalization 해야 할까? (0) | 2025.09.26 |
|---|---|
| 두 Vector 사이의 각도, 내적, 유사도? (0) | 2025.09.16 |
| 1000개의 데이터를 이용하여 모델 학습을 1 에폭 수행할 때 경사하강법과 확률적 경사하강법의 계산 시행 횟수(iteration)는 각각 몇 회가 되는가? (0) | 2025.09.03 |
| 코사인 유사도를 구할 때 왜 Tensor의 내적을 활용할까? (0) | 2025.09.03 |
| 채널은 맨 앞에? 맨 뒤에? (1) | 2025.09.02 |