파이토치 텐서의 데이터 유형 가져오기
dtype 속성 사용:
텐서에는 dtype
속성이 있으며, 이 속성은 텐서의 데이터 유형을 나타내는 객체입니다. 다음 코드는 텐서의 데이터 유형을 출력하는 예시입니다.
import torch
# 텐서 생성
x = torch.tensor([1, 2, 3])
# 데이터 유형 출력
print(x.dtype)
# 출력 결과: torch.int64
torch.typename() 함수 사용:
torch.typename()
함수는 텐서의 데이터 유형을 문자열로 반환합니다. 다음 코드는 텐서의 데이터 유형을 문자열로 출력하는 예시입니다.
import torch
# 텐서 생성
x = torch.tensor([1, 2, 3])
# 데이터 유형 문자열 출력
print(torch.typename(x))
# 출력 결과: 'torch.int64'
type() 함수 사용:
type()
함수는 일반적인 Python 객체와 마찬가지로 텐서의 데이터 유형을 객체로 반환합니다. 다음 코드는 텐서의 데이터 유형을 객체로 출력하는 예시입니다.
import torch
# 텐서 생성
x = torch.tensor([1, 2, 3])
# 데이터 유형 객체 출력
print(type(x))
# 출력 결과: <class 'torch.Tensor'>
isinstance() 함수 사용:
isinstance()
함수는 객체가 특정 데이터 유형인지 확인하는 데 사용할 수 있습니다. 다음 코드는 텐서가 torch.int64
데이터 유형인지 확인하는 예시입니다.
import torch
# 텐서 생성
x = torch.tensor([1, 2, 3])
# 데이터 유형 확인
print(isinstance(x, torch.int64))
# 출력 결과: True
데이터 유형 목록
파이토치에서 사용할 수 있는 주요 데이터 유형은 다음과 같습니다.
torch.float32
: 32비트 부동소수점torch.int32
: 32비트 정수torch.bool
: 불리언torch.uint8
: 8비트 부호 없는 정수torch.complex64
: 64비트 복소수
예제 코드
import torch
# 텐서 생성
x = torch.tensor([1, 2, 3], dtype=torch.float32)
y = torch.tensor([True, False, True])
# 1. dtype 속성 사용
print(x.dtype) # 출력: torch.float32
print(y.dtype) # 출력: torch.bool
# 2. torch.typename() 함수 사용
print(torch.typename(x)) # 출력: 'torch.float32'
print(torch.typename(y)) # 출력: 'torch.bool'
# 3. type() 함수 사용
print(type(x)) # 출력: <class 'torch.Tensor'>
print(type(y)) # 출력: <class 'torch.Tensor'>
# 4. isinstance() 함수 사용
print(isinstance(x, torch.float32)) # 출력: True
print(isinstance(y, torch.bool)) # 출력: True
이 예제 코드는 다음과 같은 결과를 출력합니다.
torch.float32
torch.bool
'torch.float32'
'torch.bool'
<class 'torch.Tensor'>
<class 'torch.Tensor'>
True
True
참고:
- 이 예제 코드는 Python 3.7 및 파이토치 1.9.1에서 테스트되었습니다.
- 코드를 실행하기 전에 파이토치와 NumPy를 설치해야 합니다.
대체 방법
torch.tensor.data 속성 사용:
torch.tensor.data
속성은 텐서의 데이터를 NumPy 배열로 반환합니다. NumPy 배열의 dtype
속성을 사용하여 텐서의 데이터 유형을 확인할 수 있습니다. 다음 코드는 텐서의 데이터 유형을 NumPy 배열의 dtype
속성을 사용하여 출력하는 예시입니다.
import torch
# 텐서 생성
x = torch.tensor([1, 2, 3])
# NumPy 배열로 변환
x_numpy = x.data.numpy()
# 데이터 유형 출력
print(x_numpy.dtype)
# 출력 결과: dtype('int64')
str() 함수 사용:
str()
함수는 텐서를 문자열로 변환합니다. 텐서를 문자열로 변환하면 데이터 유형 정보도 함께 출력됩니다. 다음 코드는 텐서를 문자열로 변환하여 데이터 유형 정보를 출력하는 예시입니다.
import torch
# 텐서 생성
x = torch.tensor([1, 2, 3])
# 문자열로 변환
x_str = str(x)
# 출력 결과: tensor([1, 2, 3], dtype=torch.int64)
import torch
# 텐서 생성
x = torch.tensor([1, 2, 3])
# 표현식으로 변환
x_repr = repr(x)
# 출력 결과: tensor([1, 2, 3], dtype=torch.int64)
IPython 콘솔 사용:
IPython 콘솔에서 텐서를 입력하면 데이터 유형 정보도 함께 출력됩니다. 다음 코드는 IPython 콘솔에서 텐서를 입력하여 데이터 유형 정보를 출력하는 예시입니다.
import torch
# 텐서 생성
x = torch.tensor([1, 2, 3])
# IPython 콘솔에서 텐서 입력
x
# 출력 결과:
# tensor([1, 2, 3], dtype=torch.int64)
- 위에 설명된 대체 방법은 상황에 따라 유용할 수 있습니다.
- 일반적으로
dtype
속성을 사용하는 방법이 가장 간단하고 직관적입니다.
pytorch