2.4. 파이토치(PyTorch)

파이토치(Pytorch)는 파이썬(Python) 기반의 오픈 소스 머신러닝 라이브러리로, 페이스북 인공지능 연구집단에 의해 개발되었다. 간결하고 구현이 빨리 되며, 텐서플로우보다 사용자가 익히기 훨씬 쉽다는 특징이 있다. 또한 코드를 직접 다른 사람들에게 설명해 주기에도 효과적이다. 텐서플로우와 파이토치의 가장 큰 차이점은 딥러닝을 구현하는 패러다임이 다르다는 것이다. 텐서플로우는 Define-and-Run 프레임워크인 반면에, 파이토치는 Define-by-Run이다. 이 패러다임의 차이로 텐서플로우의 경우 먼저 모델을 만들고 값을 다 따로 넣어주어야 해서 직관적이지 않지만, 파이토치의 경우 간단하고 직관적이다. 게다가 상대적으로 텐서플로우보다 파이토치가 학습을 따라가기가 더 쉽다.

사람들이 파이토치를 선택하는 주된 이유 중 하나는 코드를 이해하기가 쉽기 때문입니다. 파이토치 프레임워크는 파이썬과 함께 작동하도록 설계, 제작되었기 때문에 모델과 계층뿐 아니라 다른 모든 것, 옵티마이저, 데이터 로더, 손실 함수, 변환 등도 다름아닌 파이썬 클래스입니다. 파이썬을 이해 한다면 파이토치 또한 쉽게 이해할 수 있습니다.

파이토치는 전통적인 텐서플로우의 정적 실행 그래프가 아닌 즉시 실행 모드로 작동하므로(텐서플로우 2.0은 즉시 실행을 제공하지만 매끄럽지 않은 부분이 있음) 맞춤형 파이토치 클래스를 추론하기가 매우 쉽고 텐서보드(TensorBoard) 또는 print() 문에 이르기까지의 표준 파이썬 기법으로 디버깅하고 스택 트레이스 샘플에서 플레임(flame) 그래프를 생성할 수 있습다. 덕분에 판다스(Pandas), 사이킷-런(Scikit-learn)과 같은 다른 데이터 과학 프레임워크에서 딥 러닝으로 넘어온 사람들에게도 상당히 친숙하게 느껴집니다.

흔히 파이토치를 “강력한 GPU 가속이 적용되는 파이썬으로 된 텐서와 동적 신경망”이라고 합다.

최근 프리퍼드 네트웍스(Preferred Networks),오픈AI 많은 AI 영역들이 파이토치를 딥러닝 프레임워크로 채택하고 있는 중입니다.

Last updated