헷개정 - 헷갈리는 개념 정리

dtype? type?

cch8ii 2025. 9. 16. 01:50

텐서의 자료형을 반환해라. 라고 할 때 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()