반응형
소개
torch.tensor 함수는 PyTorch에서 텐서를 생성하는 기본 함수입니다. 다양한 데이터 타입과 장치에서 텐서를 생성할 수 있으며, 딥러닝 모델 학습을 위한 자동 미분 기능도 지원합니다.
기본 사용법
상세 설명
- torch.tensor 함수의 기본 구문은 torch.tensor(data, dtype=None, device=None, requires_grad=False)입니다.
- data: 텐서를 생성할 원본 데이터. 리스트, 튜플, Numpy 배열 등일 수 있습니다.
- dtype: 텐서의 데이터 타입을 지정합니다. 예: torch.float32, torch.int64.
- device: 텐서가 할당될 장치를 지정합니다. 예: torch.device('cpu'), torch.device('cuda').
- requires_grad: True로 설정하면 텐서에 대한 연산 기록을 추적하여 자동 미분을 수행할 수 있습니다.
- PyTorch 텐서는 다양한 연산을 지원하며, GPU 가속을 통해 빠른 연산이 가능합니다. 텐서는 Numpy 배열과 유사하게 작동하지만, 딥러닝 모델의 학습을 위해 추가적인 기능을 제공합니다.
예시 설명
- torch.tensor([1, 2, 3, 4])는 리스트 [1, 2, 3, 4]로부터 정수 텐서를 생성합니다.
- torch.tensor([1.0, 2.0, 3.0, 4.0], dtype=torch.float32)는 리스트 [1.0, 2.0, 3.0, 4.0]로부터 부동 소수점 텐서를 생성합니다.
- torch.tensor([1, 2, 3, 4], device=torch.device('cuda'))는 CUDA 장치(GPU)에 텐서를 생성합니다.
- torch.tensor([1.0, 2.0, 3.0, 4.0], requires_grad=True)는 자동 미분을 위한 설정이 활성화된 텐서를 생성합니다.
# 리스트로부터 텐서 생성
import torch
data = [1, 2, 3, 4]
tensor = torch.tensor(data)
print(tensor)
# 출력: tensor([1, 2, 3, 4])
# 데이터 타입 지정
import torch
data = [1.0, 2.0, 3.0, 4.0]
tensor = torch.tensor(data, dtype=torch.float32)
print(tensor)
# 출력: tensor([1.0000, 2.0000, 3.0000, 4.0000])
# GPU 텐서 생성
import torch
data = [1, 2, 3, 4]
tensor = torch.tensor(data, device=torch.device('cuda'))
print(tensor)
# 출력: tensor([1, 2, 3, 4], device='cuda:0')
# requires_grad 설정
import torch
data = [1.0, 2.0, 3.0, 4.0]
tensor = torch.tensor(data, requires_grad=True)
print(tensor)
# 출력: tensor([1.0000, 2.0000, 3.0000, 4.0000], requires_grad=True)
라이센스
PyTorch의 표준 라이브러리와 내장 함수들은 BSD-style license 하에 배포됩니다. 이 라이센스는 자유 소프트웨어 라이센스로, 상업적 사용을 포함한 거의 모든 용도로 사용이 가능합니다. 라이센스와 저작권 정보는 PyTorch의 공식 GitHub 리포지토리에서 확인할 수 있습니다.
마무리
자주 쓰이는 파이토치 함수에 대해서 알아보았습니다. 지금 포스팅을 시작으로 앞으로 자주쓰이는 파이토치 함수들을 하나씩 살펴보도록 하겠습니다. 예문을 통해서 함수에 대해 조금씩 익숙해지셨으면 좋겠습니다.
관련 내용
반응형
'함수 설명 > 인공지능 (Pytorch)' 카테고리의 다른 글
[PyTorch] 랜덤하게 0과 1 사이에서 놀아보자: torch.rand() 사용법 (0) | 2024.07.17 |
---|---|
[PyTorch] 정수 시퀀스 생성 전문가 torch.arange() (0) | 2024.07.15 |
[PyTorch] 샘플링과 신호처리를 위한 torch.linspace() (0) | 2024.07.15 |
[PyTorch] 만땅이요! torch.ones() 1만 있는 텐서 생성 (0) | 2024.07.13 |
[PyTorch] 전부 젊은 얘들로요. torch.zeros() 0만 있는 텐서 생성 (0) | 2024.07.13 |