더북(TheBook)

2.1.1 파이토치 특징 및 장점

파이토치 특징은 다음과 같이 한마디로 특징 지을 수 있습니다.

GPU에서 텐서 조작 및 동적 신경망 구축이 가능한 프레임워크

그렇다면 GPU, 텐서, 동적 신경망이란 무엇을 의미할까요? 각각의 의미는 다음과 같습니다.

GPU(Graphics Processing Unit): 연산 속도를 빠르게 하는 역할을 합니다.

• 딥러닝에서는 기울기를 계산할 때 미분을 쓰는데, GPU를 사용하면 빠른 계산이 가능합니다.

• 내부적으로 CUDA, cuDNN이라는 API를 통해 GPU를 연산에 사용할 수 있습니다.

• 병렬 연산에서 GPU의 속도는 CPU의 속도보다 훨씬 빠르므로 딥러닝 학습에서 GPU 사용은 필수라고 할 수 있습니다.

텐서(Tensor): 파이토치에서 텐서 의미는 다음과 같습니다.

• 텐서는 파이토치의 데이터 형태입니다.

• 텐서는 단일 데이터 형식으로 된 자료들의 다차원 행렬입니다.

• 텐서는 간단한 명령어(변수 뒤에 .cuda()를 추가)를 사용해서 GPU로 연산을 수행하게 할 수 있습니다.

동적 신경망: 훈련을 반복할 때마다 네트워크 변경이 가능한 신경망을 의미합니다. 예를 들어 학습 중에 은닉층을 추가하거나 제거하는 등 모델의 네트워크 조작이 가능합니다.

• 연산 그래프를 정의하는 것과 동시에 값도 초기화되는 ‘Define by Run’ 방식을 사용합니다. 따라서 연산 그래프와 연산을 분리해서 생각할 필요가 없기 때문에 코드를 이해하기 쉽습니다.

 

▲ 그림 2-1 파이토치 ‘Define by Run’

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.