PyTorch-용어

이 장에서는 PyTorch에서 가장 일반적으로 사용되는 용어에 대해 설명합니다.

PyTorch NumPy

PyTorch 텐서는 NumPy 배열과 동일합니다. 텐서는 n 차원 배열이며 PyTorch와 관련하여 이러한 텐서에서 작동하는 많은 함수를 제공합니다.

PyTorch 텐서는 일반적으로 GPU를 사용하여 숫자 계산을 가속화합니다. PyTorch에서 생성 된 이러한 텐서는 2 계층 네트워크를 임의의 데이터에 맞추는 데 사용할 수 있습니다. 사용자는 네트워크를 통해 순방향 및 역방향 패스를 수동으로 구현할 수 있습니다.

변수 및 Autograd

autograd를 사용할 때 네트워크의 정방향 패스는 computational graph − 그래프의 노드는 Tensor가되고 Edge는 입력 Tensor에서 출력 Tensor를 생성하는 함수가됩니다.

PyTorch Tensor는 변수가 계산 그래프에서 노드를 나타내는 변수 객체로 생성 될 수 있습니다.

동적 그래프

정적 그래프는 사용자가 그래프를 미리 최적화 할 수 있기 때문에 좋습니다. 프로그래머가 동일한 그래프를 반복해서 재사용하는 경우, 동일한 그래프가 반복해서 반복되므로 잠재적으로 비용이 많이 드는 사전 최적화를 유지할 수 있습니다.

이들 사이의 주요 차이점은 Tensor Flow의 계산 그래프는 정적이고 PyTorch는 동적 계산 그래프를 사용한다는 것입니다.

최적화 패키지

PyTorch의 optim 패키지는 다양한 방식으로 구현되는 최적화 알고리즘의 아이디어를 추상화하고 일반적으로 사용되는 최적화 알고리즘의 그림을 제공합니다. import 문 내에서 호출 할 수 있습니다.

다중 처리

다중 처리는 동일한 작업을 지원하므로 모든 텐서는 여러 프로세서에서 작동합니다. 큐는 데이터를 공유 메모리로 이동하고 핸들을 다른 프로세스로만 보냅니다.