-
PyTorch (1일차)NAVER AI TECH 2023. 3. 13. 11:43
Introduction to PyTorch
Question 1. 딥러닝을 할 때 코드는 처음부터 다 짠다?
Answer1: 죽을 수도 있습니다 ㅋㅋㅋㅋ
A Front Runner of Deep Learning Framework
1. PyTorch
2. TensorFlow
* Define by Run (DCG; Dynamic Computational Graph)
> 실행을 하면서 그래프를 생성하는 방식
> 디버깅이 편함
* Define and Run
> 그래프를 먼저 정의하고 실행시점에 데이터를 대입하는 방식
> Eager Execution을 도입했으나....
> Production, Cloud, Multi-GPU에 강점이 있음
PyTorch = Numpy + AutoGrad + Function
> Numpy 구조를 가지는 Tensor Object로 Array를 표현
> 자동미분을 지원하여 딥러닝 연산을 지원
> 다양한 형태의 딥러닝을 지원하는 함수와 모델을 제공
PyTorch Basics
기본적으로 tensor가 가질 수 있는 data type은 numpy와 대부분 동일하다.
data.flatten()
data.ones_like()
data.numpy()
data.shape()
data.dtype()
pytorch의 tensor는 GPU에 올릴 수 있다는 장점이 있다.
if torch.cuda.is_available(): x_data_cuda = x_data.to('cuda')
x_data_cuda.device # device(type='cuda', index=0)
Tensor handling을 위해서는 다음 함수를 사용할 수 있다.
data.view(): reshape() 대신 view()를 사용
The returned tensor will share the underling data with the original tensor.
data.squeeze(): 차원의 개수가 1인 차원을 삭제
data.unsqueeze(): 차원의 개수가 1인 차원을 추가
Tensor operations을 위해서는 다음 함수를 사용할 수 있다.
dot: 벡터 간 연산 지원
mm: 행렬 간 연산 지원
matmul: 행렬 간 연산 지원 + Broadcasting 지원
import torch.nn.fuctional as F # softmax, argmax, one_hot과 같은 함수를 사용할 수 있게 해준다.
PyTorch 프로젝트 구조 이해하기
Jupyter Notebook을 빠르게 벗어나라!
하지만 이해하지 못했다....
https://github.com/victoresque/pytorch-template
GitHub - victoresque/pytorch-template: PyTorch deep learning projects made easy.
PyTorch deep learning projects made easy. Contribute to victoresque/pytorch-template development by creating an account on GitHub.
github.com
'NAVER AI TECH' 카테고리의 다른 글
Computer Vision Applications (3주차) (0) 2023.03.21 Modern CNN (3주차) (0) 2023.03.21 2주차 회고록 (PyTorch) (0) 2023.03.17 1주차 회고록 (Python & AI Math) (0) 2023.03.10 Pandas (0) 2023.03.09