본문 바로가기
함수 설명/인공지능 (Pytorch)

[PyTorch] 정수 시퀀스 생성 전문가 torch.arange()

by First Adventure 2024. 7. 15.
반응형

소개

  torch.arange 함수는 주어진 범위 내의 정수 또는 부동 소수점 수의 시퀀스를 생성하는 PyTorch 함수입니다. 이 함수는 반복문에서 인덱스를 생성하거나 일정한 간격의 값을 가지는 텐서를 생성할 때 매우 유용합니다.

 

기본 사용법

상세 설명

  • torch.arange 함수의 기본 구문은 torch.arange(start=0, end, step=1, out=None, dtype=None, layout=torch.strided, device=None, requires_grad=False)입니다.
    • start: 시퀀스의 시작 값을 지정합니다. 기본값은 0입니다.
    • end: 시퀀스의 종료 값을 지정합니다. 종료 값은 포함되지 않습니다.
    • step: 시퀀스의 간격을 지정합니다. 기본값은 1입니다.
    • out: 결과 텐서를 저장할 텐서.
    • dtype: 텐서의 데이터 타입을 지정합니다. 예: torch.float32, torch.int64.
    • layout: 텐서의 메모리 레이아웃을 지정합니다. 기본값은 torch.strided.
    • device: 텐서가 할당될 장치를 지정합니다. 예: torch.device('cpu'), torch.device('cuda').
    • requires_grad: True로 설정하면 텐서에 대한 연산 기록을 추적하여 자동 미분을 수행할 수 있습니다.

예시 설명

  • torch.arange(5)는 0부터 4까지의 정수 시퀀스를 생성합니다.
  • torch.arange(1, 6)는 1부터 5까지의 정수 시퀀스를 생성합니다.
  • torch.arange(1, 10, 2)는 1부터 9까지 2 간격의 정수 시퀀스를 생성합니다.
  • torch.arange(1, 4, dtype=torch.float32)는 1.0부터 3.0까지의 부동 소수점 시퀀스를 생성합니다.
  • torch.arange(1, 10, device=torch.device('cuda'))는 CUDA 장치(GPU)에 1부터 9까지의 정수 시퀀스를 생성합니다.
# 기본
import torch

tensor = torch.arange(5)
print(tensor)
# 출력: tensor([0, 1, 2, 3, 4])

# 시작과 종료 지정
import torch

tensor = torch.arange(1, 6)
print(tensor)
# 출력: tensor([1, 2, 3, 4, 5])

# 간격 지정
import torch

tensor = torch.arange(1, 10, 2)
print(tensor)
# 출력: tensor([1, 3, 5, 7, 9])

# 데이터 타입 지정
import torch

tensor = torch.arange(1, 4, dtype=torch.float32)
print(tensor)
# 출력: tensor([1.0000, 2.0000, 3.0000])

# GPU 텐서 생성
import torch

tensor = torch.arange(1, 10, device=torch.device('cuda'))
print(tensor)
# 출력: tensor([1, 2, 3, 4, 5, 6, 7, 8, 9], device='cuda:0')

 

라이센스

  PyTorch의 표준 라이브러리와 내장 함수들은 BSD-style license 하에 배포됩니다. 이 라이센스는 자유 소프트웨어 라이센스로, 상업적 사용을 포함한 거의 모든 용도로 사용이 가능합니다. 라이센스와 저작권 정보는 PyTorch의 공식 GitHub 리포지토리에서 확인할 수 있습니다.

 

마무리

  아무래도 인공지능은 실수를 많이 다루기 때문에 좀처럼 보기 힘든 함수입니다. 그래도 파이썬 기본 함수인 range()를 생각하시면 쉽게 배울 수 있는 함수입니다.

 

관련 내용

  

 

반응형