파이토치 API
파이토치 API 계층에서는 사용자가 이해하기 쉬운 API를 제공하여 텐서에 대한 처리와 신경망을 구축하고 훈련할 수 있도록 돕습니다. 이 계층에서는 사용자 인터페이스를 제공하지만 실제 계산은 수행하지 않습니다. 그 대신 C++로 작성된 파이토치 엔진으로 그 작업을 전달하는 역할만 합니다.
파이토치 API 계층에서는 사용자의 편의성을 위해 다음 패키지들이 제공됩니다.
torch: GPU를 지원하는 텐서 패키지
다차원 텐서를 기반으로 다양한 수학적 연산이 가능하도록 합니다. 특히 CPU뿐만 아니라 GPU에서 연산이 가능하므로 빠른 속도로 많은 양의 계산을 할 수 있습니다.
torch.autograd: 자동 미분 패키지
Autograd는 텐서플로(TensorFlow), 카페(Caffe), CNTK 같은 다른 딥러닝 프레임워크와 가장 차별되는 패키지입니다. 일반적으로 신경망에 사소한 변경(예 은닉층 노드 수 변경)이 있다면 신경망 구축을 처음부터 다시 시작해야 합니다. 하지만 파이토치는 ‘자동 미분(auto-differentiation)’이라고 하는 기술을 채택하여 미분 계산을 효율적으로 처리합니다. 즉, ‘연산 그래프’가 즉시 계산(실시간으로 네트워크 수정이 반영된 계산)되기 때문에 사용자는 다양한 신경망을 적용해 볼 수 있습니다.
torch.nn: 신경망 구축 및 훈련 패키지
torch.nn을 사용할 경우 신경망을 쉽게 구축하고 사용할 수 있습니다. 특히 합성곱 신경망, 순환 신경망, 정규화 등이 포함되어 손쉽게 신경망을 구축하고 학습시킬 수 있습니다.