PyTorch, TensorFlow 등 프레임워크의 도움으로 더 이상 밑바닥부터 딥러닝을 구현하지 않아도 된다.

현재는 반복적인 작업을 누군가 미리 만들어 놓은 프레임워크를 사용하기 때문이다.

그럼, 프레임워크가 무엇인지. 딥러닝 프레임워크들에는 무엇이 있는지 더 알아보자.


1. 프레임워크란?

 프로그램을 다룸에 있어 공통적으로 사용되는 기능들을 표준화된 소스코드로 만들어 놓고 사용할 수 있도록 제공하는 것

 

2. 딥러닝 프레임워크의 종류와 특징 

  • 대표적으로 Google에서 개발된 TensorFlowMeta(구 Facebook)에서 개발된 PyTorch 가 있다.
  • 두 프레임워크의 가장 큰 차이점은 Define and Run 과 Define by Run 에 있다.
  • Keras는 TensorFlow 2.0이 나오면서 TensorFlow와 합쳐졌다.

2020.12.09 기준

 

3. Define and Run vs Define by Run

Computational Graph(연산의 과정을 그래프로 표현한 것)를 언제 생성하느냐에 따라 구분한 것

  • Define and Run : 그래프를 먼저 정의 -> 실행시점에 데이터 feed
  • Define by Run : 실행을 하면서 그래프를 생성하는 방식(Dynamic Computational Graph, DCG)

Computational Graph

 

 

4. Why PyTorch ?

  • Define by Run 의 장점 -> 즉시 확인 가능 -> pythonic code
  • GPU support (Multi-GPU)
  • 자동미분을 지원하여 DL 연산을 지원

DL 프레임워크로 PyTorch가 적절한 것 같아

앞으로 PyTorch를 좀 더 공부해볼 계획이다.

'✍🏻Language & FrameWork > Pytorch' 카테고리의 다른 글

[PyTorch] PyTorch Operations  (2) 2024.01.10