본문 바로가기
Data Science/Deep Learning

[pytorch] Pytorch란 무엇인가? 개념잡기

by 꼬마 고래 2023. 12. 10.

 

 Pytorch란? 

 

  • 파이토치는 2016년에 발표된 딥러닝 수현을 위한 파이썬 기반의 오픈소스 라이브러리. 
  • Facebook 인공지능 연구팀에 의해 개발되었으며, define by run의 딥러닝 구현 패러다임이 특징.
  • Define by run: 코드를 직접 돌리는 환경인 세션을 만들고, placeholder를 선언하고 계산 그래프를 만들고, 코드를 실행하는 시점에 데이터를 넣어 실행하는 방식. --> 계산 그래프를 명확히 보여주면서 실행시점에 데이터만 바꿔줘도 되는 유연함을 장점으로 가진다. 
  • 무엇보다 주목 받는 것은 간결하고 빠른 구현 (tensorflow보다 익히기 훨씬 쉬움)
  • Python 라이브러리(Numpy, Scipy, Cython)와 높은 호환성
  • Numpy스러운 Tensor 연산이 GPU로도 가능함
  • 자동 미분 시스템을 이용해 쉽게 DDN(Data Direct Networks)을 짤 수 있음.
  • 학습 및 추론 속도가 빠르고 다루기 쉬움.

 

 

 머신러닝과 딥러닝 라이브러리 사용에 있어 어떤 것을 택하느냐는 각자의 공부 방향, 속해 있는 집단에 따라 달라질 수 있다고 생각한다. 각 라이브러리의 특징을 파악하고 자신이 원하는 결과를 도출하기 위한 최적의 라이브러리가 무엇인지 선택하는 것이 중요하다. 이전에는 Tensorflow, Keras를 주로 사용하였지만 요새는 Pytorch가 대세라고 생각한다. 무엇보다 처음 딥러닝 공부를 시작하는만큼 간결하고 빠르게 구현되는, 상대적으로 익히기 쉽다는 차원에서 선택하였다.  

 세 가지 모두 인기 있는 딥러닝 프레임 워트이며 어떠한 것이 더 우수한가에 대한 논쟁은 계속 지속되고 있다. 그렇지만 tensorflow가 점점 사라져가는 프레임 워크라는 것은 분명하며, 많은 애플리케이션이 pytorch로 빌드되고 있으므로 개념 정립 및 사용에 익숙해지는 것은 필수적이다. 아래는 pytorch와 tensorflow를 비교한 자료이며, 나와 같이 이제 막 딥러닝 라이브러리를 배우는 사용자들에게 있어 선택이 조금 더 쉬워지길 바란다. 물론 두 가지 모두 자유자재로 사용이 가능하다면 더욱 좋을 것이다. 

 

Pytorch와 TensorFlow 비교표
분류 Pytorch TensorFlow
디자인 철학 Imperative Programming Eager execution
그래프 생성 동적계산그래프 정적 그래프도 지원 가능
디버깅 Pythonic하며 디버깅이 상대적으로 쉬움 2.x 에서는 개선됨. 1.x에서는 복잡함
프로덕션 TorchScipt사용 TensorFlow.js 제공
API & 생태계 자연스러운 Python API. Pytorch Lightning 등의 확장 포함 포괄적인 API. Keras 통합. TFX 등의 확장 프로그램 제공
커뮤니티 주로 학계 및 연구분야에서 인기 구글 지원. 연구와 상용 애플리케이션 모두에서 널리 사용
  • Reference

https://tutorials.pytorch.kr/beginner/basics/intro.html

 

파이토치(PyTorch) 기본 익히기

파이토치(PyTorch) 기본 익히기|| 빠른 시작|| 텐서(Tensor)|| Dataset과 Dataloader|| 변형(Transform)|| 신경망 모델 구성하기|| Autograd|| 최적화(Optimization)|| 모델 저장하고 불러오기 Authors: Suraj Subramanian, Seth Jua

tutorials.pytorch.kr

 

https://data-science.tistory.com/375

 

PyTorch vs TensorFlow in 2023

원문 파이토치와 텐서플로는 오늘날 가장 인기 있는 두 가지 딥 러닝 프레임워크입니다. 어떤 프레임워크가 더 우수한지에 대한 논쟁은 오랫동안 지속되어 온 논쟁거리이며, 각 진영은 열렬한

data-science.tistory.com