1. PyTorch Introduction
1.1 PyTorch Intro
- PyTorch? → 간편한 딥러닝 API를 제공하는 멀티플랫폼 프로그래밍 인터페이스
(멀티플랫폼? - 다양한 OS에서 모두 구현 가능 의미)
- ML 알고리즘 구현 우수, 실행 확장성이 뛰어남 (=작업량 처리 능력이 좋음)
- Produced by. FAIR(Facebook AI Research) Since. 2016.09
- PyTorch 활용기업
- Tesla: Autopilot → 자율주행 기능
- Uber: Pyro → 확률적 프로그래밍 언어 제작
- Hugging Face(최신 DL 모델 무료 제공 기업) → BERT, GPT-Series, Vision Transformer 등
- PyTorch vs Tensorflow
- On HuggingFace : PyTorch(92%) - Tensorflow(8%)
-
Fraction of Papers : 꾸준한 증가추세


-
PyTorch 아키텍처 ⇒ (Top -level) API + (Mid-level) Engine + (Low-level) Library
- API: 개발단계서 이용 (torch.autograd(자동미분), torch.nn(신경망), torch.multiprocessing, torch.utils)
- Engine: Tensor 연산처리, 자동미분 담당
- Library: C - Tensor 연산 담당 / CUDA - GPU 담당
- 기타 PyTorch 장점
- 간편한 사용성: “Pythonic”
- 강력한 커뮤니티, 생태계: GitHub, Twitter, Tutorials etc.
- 풍부한 모델 구현체: HuggingFace, PyTorch Hub 등 강력한 커뮤니티 형성
- 동적 계산 그래프: 명령형 프로그래밍 환경 제공(2022, 연산 평가와 계산 실행, 구체적인 값 즉시반환 등)
- 고성능, 효율성: GPU 지원(CUDA → 대규모 병렬연산 효율적으로)
2. What is Tensor?
2.1 Tensor의 의미
Tensor - PyTorch의 핵심 데이터 구조 ⇒ 데이터 표현
2.2 Tensor의 여러가지 표현
- 0-D Tensor(=Scalar)
- 하나의 숫자로 표현되는 양
- 대수적 표현
$a = a_1, a \in R$
- 공간적 표현 - “하나의 왕점”으로 표현 가능
- 코드 표현
a = torch.tensor(36.5)
- 1-D Tensor(=Vector)
- 순서가 지정된 여러 개의 숫자가 일렬로 나열된 구조 (ex. 사람들의 키, 체중, 허리둘레 등)
- 대수적 표현
$b = [b_1, b_2, b_3, b_4, b_5], b \in R^n$
- 공간적 표현 - 일렬로 나열, dim-0 (차원이 늘어날 때마다 축의 위치 변경)
- 코드 표현
b = torch.tensor([175, 60, 81, 0.8, 0.9])
- 2-D Tensor(=Matrix)
- 동일한 크기를 가진 1-D Tensor들이 형성한, 행과 열로 구성된 사각형 구조(ex. Grayscale Image)
- 대수적 표현

- 공간적 표현
- dim-0: 행 차원의 축
- dim-1: 열 차원의 축(기존 dim-0이 이동)
- 코드 표현
c = torch.tensor([[77, 114, 140, 191], [39, 56, 45, 119], [61, 29, 20, 33]])
- 3-D Tensor
- 동일한 크기의 2-D Tensor가 여러 겹 쌓여 형성, 입체적 배열 구조 (여기에 배치축을 추가할 경우, 4-D Tensor로 표현 가능)
- 대수적 표현

- 공간적 표현
- dim-0: 깊이(depth) 차원의 축
- dim-1: 행 차원의 축
- dim-2: 열 차원의 축(기존 dim-1이 이동)

- 코드 표현
d = torch.tensor([[[255, 0, 0], [0, 255, 0], [0, 0, 255], [255, 255, 0]]])
- N-D Tensor
- 동일한 크기의 N-D Tensor가 여러 겹 쌓여 형성된 입체적 배열 구조
- 투명도 고려한 이미지, Time-Dimesion 추가한 영상 등
- 공간적 표현


결론
Tensor는 언어/대수로, 공간에서, 코드로 표현 가능
chat_bubble 댓글남기기
댓글남기기