
pytorch 기본기
PyTorch Tensor Basic Usage
- Create Tensor
- indexing, Joining, Slicing
- Initialization
- Math Operations
- GPU로 설정하기
런타임 유형변경 -> GPU로 바꾸기
- 기본세팅, Tensor 개념
import torch 실행 잘 되는지 확인 !
안된다면 패키지 설치해야 함
# import가 안된다면
!pip3 install torch
!pip3 install torchvision
Tensor란 ? (feat. chatGpt 4o)
'''
텐서(Tensor)는 수학 및 컴퓨터 과학에서 다차원 배열을 의미합니다. 이는 스칼라(0차원), 벡터(1차원), 행렬(2차원)을 일반화한 것으로, 다차원 데이터를 표현하는 데 사용됩니다. 텐서는 딥러닝과 머신러닝에서 중요한 개념으로, 주로 신경망의 입력, 출력, 그리고 중간 계산 결과를 나타내는 데 사용됩니다.
다음은 텐서의 차원별 예시입니다:
- 스칼라 (0차원 텐서):
- 단일 값입니다. 예를 들어, 5는 스칼라입니다.
- 벡터 (1차원 텐서):
- 일차원 배열로, 여러 개의 스칼라 값을 나열한 것입니다. 예를 들어, [1, 2, 3]은 벡터입니다.
- 행렬 (2차원 텐서):
- 이차원 배열로, 행과 열로 구성됩니다. 예를 들어, [[1, 2, 3], [4, 5, 6]]은 행렬입니다.
- 다차원 텐서:
- 3차원 이상의 배열로, 여러 차원을 가질 수 있습니다. 예를 들어, 3차원 텐서는 [[[1, 2], [3, 4]], [[5, 6], [7, 8]]]과 같이 구성될 수 있습니다.
텐서는 주로 다음과 같은 이유로 사용됩니다:
- 데이터 표현: 텐서는 이미지, 오디오, 텍스트 등의 다양한 데이터를 표현하는 데 사용됩니다. 예를 들어, 컬러 이미지는 일반적으로 3차원 텐서로 표현됩니다 (높이 x 너비 x 색상 채널).
- 연산: 텐서는 행렬 곱셈, 합성곱 등 다양한 수학 연산에 사용됩니다. 딥러닝에서 텐서 연산은 신경망의 학습과 추론 과정에서 핵심적인 역할을 합니다.
- 라이브러리 지원: TensorFlow, PyTorch 등의 딥러닝 라이브러리는 텐서를 기본 데이터 구조로 사용하여 다양한 모델을 효율적으로 구현하고 연산할 수 있게 해줍니다.
텐서의 개념을 이해하는 것은 딥러닝 및 머신러닝 모델을 설계하고 구현하는 데 있어 매우 중요합니다.
'''
행렬을 말하는듯 하다.
Create Tensor
# 1. Create Tensor
# 1) random numbers
import torch
# torch.rand(sizes) --> (0,1) 사이의 실수형 값을 랜덤값으로 발생함
# sizes : 1차원 갯수, 2차원 행렬갯수 등 지정
# 0과 1사이의 실수형 숫자를 균등하게 생성
x = torch.rand(2, 3)
x
0~1사이의 숫자가 생성된다
# torch.randn(sizes) --> Z(0,1)
# 평균이 0이고 표준편차가 1인 가우시안 정규분포를 이용해서 생성 # numpy의 randn하고는 차이가 있다.
x = torch.randn(2,3)
x
0~1사이가 아닌 평균이 0이고 표준편차가 1인 정규분포로 생성
위의 주석에 가우시안분포는 그냥 정규분포를 뜻한다
# torch.randperm(n) --> permutation of 0 ~ n
x = torch.randperm(5)
x
순열 만들기
*torch 에서 랜덤값으로 텐서 생성 *
- torch.rand() : 0과 1사이의 숫자를 균등하게 생성
- torch.rand_like() : 사이즈를 튜플로 입력하지 않고 기존의 텐서로 정의
- torch.randn() : 평균이 0이고 표준편차가 1인 가우시안 정규분포를 이용해서 생성
- torch.randn_like() : 기존의 텐서를 사용해서 같은 텐서를 생성
- torch.randint() : 주어진 범위 내의 정수를 균등하게 생성
- torch.randint_like() : 텐서 이용, 같은 텐서 생성
- torch.randperm() : 주어진 범위 내의 정수를 랜덤하게 생성
'국비지원교육 > Python' 카테고리의 다른 글
pytorch - custom fuction (0) | 2024.05.29 |
---|---|
pythorch 기본기 - CreateTensor with googlecolab 2 (0) | 2024.05.29 |
pytorch 설치, numpy와 tensorflow와 비교 with google colab (0) | 2024.05.28 |
numpy 정리 (0) | 2024.05.23 |
opencv - 외곽선 추출 (0) | 2024.05.14 |