잡다한 삽질 스튜디오

2024년 3월 15일

/

PyTorch, 1인 1프로젝트

PyTorch: 모듈 구조 및 구성 요소

PyTorch: 모듈 구조 및 구성 요소

PyTorch 란 무엇인가?

PyTorch는 Python을 위한 오픈소스 머신 러닝 라이브러리이다. Torch를 기반으로 하며, 자연어 처리와 같은 애플리케이션을 위해 사용된다. GPU사용이 가능하기 때문에 속도가 상당히 빠르다.

페이스북이 초기 루아(Lua) 언어로 개발된 토치(Torch)를 파이썬 버전으로 개발하여 2017년도에 공개하였다. 초기에 토치(Torch)는 넘파이(NumPy) 라이브러리처럼 과학 연산을 위한 라이브러리로 공개되었다. 이후 GPU를 이용한 텐서 조작 및 동적 신경망 구축이 가능하도록 딥러닝 프레임워크로 발전시켰다.

PyTorch 모듈 구조

Deep Learning with PyTorch

PyTorch 구성 요소

  1. torch

    • 메인 네임스페이스로 텐서 등의 다양한 수학 함수가 포함되어 있음

    • NumPy와 유사한 구조를 가짐

  2. torch.autograd

    • 자동 미분 기능을 제공하는 라이브러리임

  3. torch.nn

    • 신경망 구축을 위한 데이터 구조나 레이어를 정의함

    • 예를 들어 RNN, LSTM과 같은 레이어, ReLU와 같은 활성화 함수, MSELoss와 같은 손실 함수들이 있음

  4. torch.multiprocessing

    • 병렬처리 기능을 제공하는 라이브러리임

  5. torch.optim

    • SGD(Stochastic Gradient Descent)를 중심으로 한 파라미터 최적화 알고리즘을 제공함

  6. torch.utils

    • 데이터 조작 등 유틸리티 기능 제공함

  7. torch.onnx

    • ONNX(Open Neural Network Exchange)의 포맷으로 모델을 익스포트할 때 사용함

    • ONNX는 서로 다른 딥 러닝 프레임워크 간에 모델을 공유할 때 사용하는 포맷임

/emoji//end/

참고

02-01 파이토치 패키지의 기본 구성
아래의 내용은 파이토치 패키지의 전반적인 구성을 보여줍니다. ## 1. torch 메인 네임스페이스입니다. 텐서 등의 다양한 수학 함수가 포함되어져 있으며 Numpy와 유사…