PyTorch - 텐서란? (2)

2023. 4. 18. 15:16·인공지능/PyTorch
728x90
SMALL

실행 환경: Google Colab

https://colab.research.google.com/

 

Google Colaboratory

 

colab.research.google.com

런타임 유형: GPU

GPU 변경 후 셀에 입력하면 내가 어떤 GPU를 쓰고 있는지 확인할 수 있다.

!nvidia-smi

무료버전인 경우: Tesla T4

 

Torch 버전확인하기

import torch
print(torch.__version__)
2.0.0+cu118
 
그러면 이런 값이 print가 되는데 밑에 내용을 뜻한다.
- torch 버전: 2.0.0
- GPU 병렬처리를 위한 CUDA 버전: 11.1.8

 

Tensor란?

PyTorch에서 Tensor는 수학적인 개념으로, 다차원 배열(multi-dimensional array)을 나타내는 데이터 구조이다.

Tensor는 머신러닝과 딥러닝에서 데이터, 파라미터, 그레이디언트(gradient) 등을 표현하는 데 사용된다.

PyTorch의 Tensor는 NumPy 배열과 유사하며, 다차원 배열을 다루는 데에 특화되어 있고, 임의의 차원(rank)을 가질 수 있으며, 정수나 부동소수점 등의 숫자 형식을 포함하는 요소를 가질 수 있다.

예를 들어, 1차원 Tensor는 벡터를, 2차원 Tensor는 행렬을 표현하는 데 사용될 수 있다.

Tensor는 PyTorch에서 가장 기본적인 데이터 구조 중 하나이며, 대부분의 계산은 Tensor를 사용하여 수행된다.

Tensor는 GPU와 CPU 간 데이터 전송, 자동 미분 등 딥러닝에서 필요한 기능을 지원하며, PyTorch에서 신경망 모델을 구축하고 학습하는 데에 필수적이다.

 

출처 - https://medium.com/linear-algebra-basics/vector-basic-operations-5f084ecee391

 

Scalar

# scalar
scalar = torch.tensor(6)
scalar

tensor(6)이 나오는 것을 확인할 수 있다.

 

1) 차원 확인

scalar.ndim

다만 스칼라는 차원이 없고 단지 하나의 숫자이다.

 

2) python int로 얻기

scalar.item()

6이 나오는것을 확인할 수 있다.


Vector

# Vector
vector = torch.tensor([5, 5])
vector

tensor([5, 5])이 나오는 것을 확인할 수 있다.

 

1) 차원 확인

vector.ndim

1차원으로 나온다.

 

2) 백터의 모양 확인

vector.shape

torch.Szie([2])가 나온다.


Mextrix

# Matrix
matrix = torch.tensor([[5, 5],
                       [6, 6]])
matrix

tensor([[5, 5],
        [6, 6]])

 

1) 차원 확인

matrix.ndim

2차원으로 나온다.

 

2) 인덱스 접근

matrix[1]

tensor([6, 6])이 나온다.

 

3) 메트릭스의 모양 확인

matrix.shape

torch.Size([2, 2])가 나오는데

첫 번째 차원: 내부 행렬을 2개의 행을 가진다. 따라서 차원의 크기 2

두 번째 차원: 각 행은 2개의 열을 가진다. 따라서 차원의 크기는 2


Tensor

# Tensor
tensor = torch.tensor(
    [
        [
         [1,2,3],
         [3,6,9],
         [2,4,5]
         ]
     ]
)
tensor

tensor([[[1, 2, 3],
         [3, 6, 9],
         [2, 4, 5]]])

 

1) 차원 확인

tensor.ndim

3차원으로 나온다.

 

2) 인덱스 접근

tensor[0]

tensor([[1, 2, 3],
        [3, 6, 9],
        [2, 4, 5]])

 

3) 메트릭스의 모양 확인

tensor.shape

torch.Size([1, 3, 3])가 나오는데

첫 번째 차원 (가장 바깥쪽 대괄호): 텐서는 1개의 요소(내부 행렬)를 가지고 있다. 따라서 첫 번째 차원의 크기는 1
두 번째 차원 (중간 대괄호): 내부 행렬은 3개의 행을 가지고 있다. 따라서 두 번째 차원의 크기는 3
세 번째 차원 (가장 안쪽 대괄호): 각 행은 3개의 열을 가지고 있다. 따라서 세 번째 차원의 크기는 3

728x90
SMALL
저작자표시 비영리 변경금지 (새창열림)

'인공지능 > PyTorch' 카테고리의 다른 글

PyTorch - 파이토치 기초 (4)  (2) 2023.04.23
PyTorch - 파이토치 기초 (3)  (0) 2023.04.18
PyTorch - 파이토치란? (1)  (0) 2023.04.17
PyTorch - 동적 계산 그래프(dynamic computation graph)  (0) 2023.04.17
PyTorch - GPU를 활용한 병렬처리란?  (0) 2023.04.17
'인공지능/PyTorch' 카테고리의 다른 글
  • PyTorch - 파이토치 기초 (4)
  • PyTorch - 파이토치 기초 (3)
  • PyTorch - 파이토치란? (1)
  • PyTorch - 동적 계산 그래프(dynamic computation graph)
동석해요
동석해요
공부하고 싶은게 많은, 사소한 IT 지식들 공유
    250x250
  • 동석해요
    개발로 자기계발
    동석해요
  • 전체
    오늘
    어제
    • 분류 전체보기 (226)
      • Develop (126)
        • 기초지식 (12)
        • FastAPI (102)
        • Django (11)
      • Database & Data (62)
        • 기초지식 (16)
        • MySQL (29)
        • PostgreSQL (8)
        • 데이터 분석 (9)
      • 인공지능 (11)
        • PyTorch (9)
      • Cloud (8)
        • AWS (4)
        • GCP (2)
      • 버그처리 (14)
      • 회고 & 일상 (5)
  • 인기 글

  • 최근 글

  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.3
동석해요
PyTorch - 텐서란? (2)
상단으로

티스토리툴바