PyTorch 기초 (0) - 시리즈 소개
이 시리즈가 누구를 위한 글인지, NumPy·Pandas 기초 및 딥러닝 기초 시리즈와 어떻게 이어지는지, 그리고 텐서부터 autograd·nn.Module·데이터·학습 실무까지 여섯 편의 진행 순서를 정리한 0편입니다.
딥러닝 프레임워크 PyTorch를 기초부터 정리하는 시리즈의 0편입니다. 시리즈 소개와 진행 순서를 다루며, 본문은 1편부터 시작합니다.
누구를 위한 시리즈인가
이 시리즈는 다음에 해당하는 분들을 대상으로 작성한 글입니다.
- 딥러닝의 개념(순전파, 역전파, 경사하강)은 잡았지만 그것을 코드로 옮기는 도구가 없는 사람
- PyTorch 예제를 복사해 돌려는 봤지만
tensor,autograd,nn.Module이 각각 무슨 역할인지 흐릿한 사람 - NumPy는 익숙한데 “그럼 PyTorch는 NumPy와 뭐가 다른가”가 궁금한 사람
딥러닝의 원리 자체가 처음이라면 딥러닝 기초 시리즈를 먼저 보는 것을 권합니다. 이 시리즈는 그 원리를 도구로 옮기는 단계입니다.
이 시리즈의 위치
PyTorch는 도구입니다. 이 블로그에서 NumPy·Pandas가 데이터를 다루는 도구였다면, PyTorch는 딥러닝 모델을 다루는 도구이고, 그래서 같은 “라이브러리” 자리에 놓입니다.
- 데이터 라이브러리 — NumPy·Pandas 기초. 배열과 표를 다루는 도구.
- 딥러닝 프레임워크 — 이 시리즈. 텐서와 자동 미분으로 신경망을 만드는 도구.
- 개념(왜) — 딥러닝 기초. 신경망이 무엇을, 어떻게 배우는가.
- 적용 — 개념 + 도구를 실제 데이터에 붙이는 실습·프로젝트.
즉 딥러닝 기초가 신경망의 원리를 NumPy로 드러냈다면, 이 시리즈는 같은 원리를 PyTorch로 옮깁니다. 특히 (2) autograd 편은 딥러닝 기초 (4)에서 손으로 짰던 역전파를, 프레임워크가 대신 계산해주는 loss.backward() 한 줄로 대체하는 지점입니다.
어떻게 진행하는가
여섯 편(0–5)으로 진행하며, 순서는 아래와 같습니다.
| 편 | 주제 |
|---|---|
| (1) | 텐서: NumPy 배열에서 넘어오기, 그리고 GPU |
| (2) | autograd: 자동 미분과 계산 그래프 |
| (3) | 모델 조립: nn.Module, 손실, 옵티마이저, 학습 루프 |
| (4) | 데이터 파이프라인: Dataset과 DataLoader |
| (5) | 학습 실무: GPU, train/eval 모드, 체크포인트, 재현성 |
각 편은 개념을 먼저 세우고 최소한의 코드로 확인하는 방식으로 진행합니다. 각 편이 공개되면 위 표에 링크를 답니다.
실습 환경
실습은 Google Colab으로 통일합니다. 별도 설치 없이 브라우저에서 실행할 수 있고, torch가 이미 설치되어 있으며 무료 GPU도 붙일 수 있습니다(런타임 → 런타임 유형 변경 → GPU). 아래 코드가 에러 없이 돌고 버전이 출력되면 준비가 끝난 것입니다.
1
2
3
4
import torch
torch.__version__ # '2.x.x'
torch.cuda.is_available() # GPU 런타임이면 True
환경 준비가 처음이라면 NumPy·Pandas 기초 0편의 실습 환경 절을 참고하세요. 준비가 됐으면 1편부터 시작합니다.