딥러닝프레임워크로 개발자들과 연구자들이 쉽게 GPU를 활용하여 인공시경망 모델을 학습할 수 있게 도와주는것.
1. 넘파이와 파이토치의 비교
-미분편-
예를들어, x, y, z 세 변수에 대해 학습하게 된다면, 기울기를 계산하기 위해 연산 그래프를 쭉 따라서 미분 해야한다.
이때 넘파이만을 사용한다면 모든 미분 식을 직접 계산하고 코드로 작성해야 하므로 변수 하나당 두 줄씩 여섯줄이 필요로 한다.
하지만, 파이토치는 해당 과정을 자동으로 계산해주기 때문에 backward() 함수를 한 번 해출 해주므로 끝난다.
-GPU편-
넘파이만으로는 GPU로 값들을 보내 연산을 돌리고 다시 받는 것이 불가능.
파이토치는 내부적으로 CUDA, cuDNN이라는 API를 통하여 GPU를 연산에 사용 할 수있어서 연산 속도가 15배 이상으로 차이가 심하다.
2. 텐서플로와 파이토치 비교
공통점 : 둘 다 연산에 GPU를 이용하는 프레임워크.
텐서플로 : 연산 그래프를 먼저 만들고 실제 연산할 때 값을 전달하여 결과를 얻는 'Define and Run' 방식
파이토치 : 그래프를 만듦과 동시에 값이 할당되는 'Define by Run' 방식
** 미분 : 한 점에서의 기울기
** CUDA : 엔비디아가 GPU를 통한 연산을 가능하게 만든 API 모델
** cuDNN : CUDA를 이용해 딥러닝 연산을 가속화 해주는 라이브러리