torch.multiprocessing: 파이썬 멀티프로세싱 패키지
파이토치에서 사용하는 프로세스 전반에 걸쳐 텐서의 메모리 공유가 가능합니다. 따라서 서로 다른 프로세스에서 동일한 데이터(텐서)에 대한 접근 및 사용이 가능합니다.
torch.utils: DataLoader 및 기타 유틸리티를 제공하는 패키지
모델에 데이터를 제공하기 위한 torch.utils.data.DataLoader 모듈을 주로 사용합니다. 또한, 병목 현상을 디버깅하기 위한 torch.utils.bottleneck, 모델 또는 모델의 일부를 검사하기 위한 torch.utils.checkpoint 등의 모듈도 있습니다.
파이토치 엔진
파이토치 엔진은 Autograd C++, Aten C++, JIT C++, Python API로 구성되어 있습니다. 먼저 Autograd C++는 가중치, 바이어스를 업데이트하는 과정에서 필요한 미분을 자동으로 계산해 주는 역할을 하며, Aten C++는 C++ 텐서 라이브러리를 제공하며, JIT C++는 계산을 최적화하기 위한 JIT(Just In-Time) 컴파일러2입니다. 파이토치 엔진 라이브러리는 C++로 감싼(래핑(wrapping)) 다음 Python API 형태로 제공되기 때문에 사용자들이 손쉽게 모델을 구축하고 텐서를 사용할 수 있습니다.
이들의 관계를 도식화하면 다음 그림과 같습니다.
▲ 그림 2-5 파이토치 엔진