https://www.youtube.com/watch?v=V_xro1bcAuA
* 참고
https://velog.io/@optjyy/pytorch-1.-tensor
[pytorch] 1. tensor
python 기반의 과학연산 패키지numpy를 대체하면서 gpu를 이용한 연산수행이 가능한 플랫폼최대한의 유연성과 속도를 제공하는 딥러닝 연구 플랫폼tensor는 numpy의 ndarray와 유사하며, gpu를 사용한 연
velog.io
https://rekt77.tistory.com/102
[인공지능 개념] Tensor란 무엇인가?
# 인공지능 기초 개념 안녕하세요 코드사기꾼입니다. 오늘은 Tensor에 대한 개념 정립을 하는 시간을 갖도록 하겠습니다. 인공지능 연구분야에서 가장 유명한 라이브러리인 TensorFlow를 정말 많은
rekt77.tistory.com
머신러닝은 데이터들을 숫자로 바꾸고 그리고 그 숫자들 사이에서 finding patterns를 하는 과정임.
what is tensor?
tensor는 numpy의 ndarray와 유사하며, gpu를 사용한 연산 가속도 가능합니다.
만약 tensor에 하나의 값만 존재한다면, .item() 을 사용하여 python scalar 값을 얻을 수 있습니다.
tensor에 하나의 값이 아니라 여러 개가 존재한다면 사용이 불가능합니다.
- 스칼라는 일반적으로 존재하는 그냥 값 1개
- 벡터는 스칼라가 여러 개 모인 것
- 차원이 높아질 수록 아래 차원의 것을 모아 놓은 배열인 것
# 파이토치 버전 확인
import torch
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
print(torch.__version__)
#introduction to tensors
#creating tensors
# scalar
scalar = torch.tensor(7)
scalar
=> tensor(7) #tensor은 type이다.
pytorch tensors are created using 'torch.Tensor()' -= https://pytorch.org/docs/stable/tensors.html
torch.Tensor — PyTorch 2.1 documentation
Shortcuts
pytorch.org
GPU off -> None
rerun the cell
scalar.ndim #no dimension, just sinlge number. ndim은 차원을 출력함. 한 개의 값만 존재하는 0차원.
=> 0
# Get tensor back as python int
scalar.item()
=> 7
# vector
vector = torch.tensor([7, 7])
vector
=> tensor([7, 7])
vector.ndim #vector는 1차원이니까
=> 1
vector.shape #위에가 2 * 1 element이니까 shape를 출력하면 2가 나옴
=> torch.Size([2])
........
torch.size는 tensor의 행렬 크기를 반환합니다. tuple 타입으로, 모든 튜플 연산을 지원합니다.
x = x.new_ones(5, 3, dtype=torch.double)
print(x)
print(x.size())
# out : torch.Size([5, 3])
in-place 방식으로 tensor의 값을 변경하는 연산 뒤에는 '_'가 붙습니다.
x.copy_(y)
y.add_(x)
크기 변경
tensor의 크기(size)나 모양(shape)을 변경하고 싶다면 torch.view를 사용합니다.
x = torch.randn(4, 4)
y = x.view(16)
z = x.view(-1, 8) # -1은 다른 차원에서 유추합니다.
print(x.size(), y.size(), z.size())
# out : torch.Size([4, 4]) torch.Size([16]) torch.Size([2, 8])
tensor - numpy 변환(Bridge)
이와 같은 코드를 통해 tensor를 numpy배열로 변환할 수 있습니다.
a = torch.ones(5)
b = a.numpy()
'AI HW study > AI - NLP' 카테고리의 다른 글
BERT(Bidirectional Encoder Representations from Transformers)에 대해 알아보자! (1) | 2024.01.23 |
---|---|
GitHub 사용법을 알아봅시다 (0) | 2024.01.22 |
AI공부 사이트 ( + Bert + ResNet) (0) | 2024.01.04 |
텐서플로로 배우는 딥러닝 (0) | 2023.08.09 |
TensorFlow (and Keras) (0) | 2023.08.09 |