반응형

PyTorch란 무엇인가?
- PyTorch는 AI 모델을 만들기 위한 도구 상자라고 생각하면 이해하기 쉽습니다. 페이스북 AI 연구소에서 개발한 오픈소스 라이브러리로, 컴퓨터 비전·자연어 처리·강화학습 등 다양한 분야에서 사용됩니다.
- PyTorch의 중요한 특징은 동적 계산 그래프입니다. 프로그램을 실행하는 동안 모델 구조를 자유롭게 바꿀 수 있어, 실험과 디버깅이 쉽습니다.
- 내부적으로 **텐서(Tensor)**라는 다차원 배열을 이용해 데이터를 저장하고 처리하며, 자동 미분 기능이 있어 모델 학습에 필요한 기울기 계산을 자동으로 해 줍니다.
간단한 설치 방법
- Python 설치: 먼저 Python이 필요합니다. Anaconda와 같은 배포판을 설치하면 편리합니다.
- 터미널 또는 명령 프롬프트 열기: Windows는 “명령 프롬프트”, macOS/Linux는 터미널을 열어주세요.
- PyTorch 설치: 터미널에서 다음 명령을 입력합니다. 초보자는 CPU 버전만 설치해도 되지만, NVIDIA GPU를 쓰고 싶다면 자동으로 GPU 버전이 설치됩니다.pip는 Python 패키지를 설치하는 표준 도구입니다.
-
pip install torch torchvision torchaudio
- 설치 확인: 터미널에서 Python을 실행한 뒤, 아래와 같이 입력해 PyTorch가 잘 설치됐는지 확인합니다.
-
import torch
print(torch.__version__) # 설치된 버전 출력
print(torch.cuda.is_available()) # GPU 사용 가능 여부 확인
어디에서 코드를 실행할까?
초보자에게 가장 쉬운 방법 두 가지를 안내드릴게요.
1. 로컬 PC에서 Jupyter Notebook 실행
- Jupyter Notebook 설치: pip install notebook을 실행하거나, Anaconda를 설치하면 기본 포함돼 있습니다.
- 노트북 열기: 터미널에서 jupyter notebook을 입력하면 웹브라우저가 열립니다.
- 새 노트북 생성: “New → Python 3”를 선택해 새 노트북을 만듭니다.
- 코드 작성: 셀에 아래처럼 간단한 PyTorch 예제를 입력하고 Shift + Enter로 실행합니다.위 예제는 GeeksforGeeks 튜토리얼에서 소개된 간단한 텐서 연산입니다. 실행 결과를 바로 아래에 확인할 수 있습니다.
-
import torch
# 리스트로부터 텐서 만들기
t1 = torch.tensor([1, 2, 3])
print("tensor:", t1)
# 모양이 (2,3)인 0으로 채운 텐서
t2 = torch.zeros(2, 3)
print("zeros:", t2)
# 두 텐서 더하기
result = t1 + t2
print("t1 + t2:", result) - GPU 사용: GPU를 활용하려면 위에서 확인한 torch.cuda.is_available()가 True인 경우, 생성한 텐서를 .to('cuda')로 옮기면 됩니다.
-
tensor_gpu = t1.to('cuda')
2. 온라인 Google Colab 사용
설치를 원하지 않는다면, Google Colab이라는 웹 기반 노트북 서비스를 이용하면 됩니다.
- 브라우저에서 https://colab.research.google.com 접속.
- 구글 계정으로 로그인하고 **“새 노트북”**을 만듭니다.
- 메뉴에서 Runtime → Change runtime type을 선택하고 Hardware accelerator를 GPU로 설정합니다.
- 셀에 위와 같은 PyTorch 예제를 입력하고 실행합니다. Colab에는 기본적으로 PyTorch가 설치되어 있지만, 버전을 지정해 설치하려면 !pip install torch torchvision torchaudio를 셀에 입력해 실행할 수 있습니다.
마무리
PyTorch는 복잡한 AI 모델을 쉽게 만들 수 있도록 도와주는 라이브러리입니다.
텐서 연산과 자동 미분 덕분에 수학적 계산을 직접 하지 않아도 되고, Python 언어처럼 직관적이라 초보자에게도 배우기 좋습니다. 위의 순서대로 환경을 준비하고 간단한 예제를 실행해 보면 PyTorch의 기본 사용법을 금방 익힐 수 있을 것입니다.
반응형
댓글