본문 바로가기

pytorch

[pytorch vs tensorflow] 머신러닝/딥러닝 pytorch로 시작하는 이유!

반응형

 

이전 elasticsearch 검색 api를 마무리하고 이제 더 효율적이고 정확한 검색을 위한 자연어 처리 모델을 만들어 시도해 보려고 한다! AI/머신러닝/딥러닝에 사용되는 툴로 아주 유명한 Tensorflow, 그리고 pytorch가 있는데 이 둘을 비교해보고 pytorch로 고르게 되었다. 

 

 

 

Tensorflow란?    -> 나무위키에서 보기

 

Pytorch란 ? 

Python을 위한 오픈소스 머신러닝/딥러닝 라이브러리이다. Tensorflow와 마찬가지로 GPU를 사용하여 상당이 빠르며 자연어 처리와 같은 애플리케이션을 위해 사용된다. 

 

 

Pytorch의 특징

- 가장 유명한 딥러닝 프레임워크 중 하나이다. 

- Numpy스러운 tensor연산이 GPU로도 가능하다.

- 직관적이고 간결한 코드로 구성되어 이해와 디버깅이 쉽다. 

- python 라이브러리 (Numpy, Scipy, Cython)와 높은 호환성을 가진다. 

- Python 언어로 빠른 딥러닝 코드를 작성한다. (한 개의 GPU 또는 많은 GPU들 위에서 가능하다.) 

- 자동 미분 시스템을 이용해 DDN (Direct Network)을 짤 수 있다. 

- Whole stack : 데이터 처리, 모델화, application/cloud에 배포 가능하다.

- 수많은 pre-built learning models를 참고할 수 있다. (Torch Hub/ torchvision.models)

- Facebook/Meta 내부에서 사용하기위해 만들어졌지만 현재 무료 오픈소스로 테슬라, Microsoft, OpenAI와 같은 굴지의 대기업들도 활발히 사용 중이다. 

 

 

Pytorch vs Tensorflow

pytorch와 tensorflow를 비교한 표 

  pytorch Tensorflow
페러다임 defind and run define by run 
언어 Python Python
그래프 형태 정적 동적
자체 운영 포럼  없음 있음
참고할 코드/소스 적었지만 현재 많아지고 있는 편 많은 편 (이전부터 많이 써왔기 때문)
사용자 입장에서 간결하고 구현이 빨라
익히기 쉬움
pytorch보다는 어려움 
developed by Meta(Facebook) Google
공통점 무료 / 오픈소스 소프트웨어 라이브러리이다.
Numpy 배열을 Tensor로 가져올 수 있다. 
GPU상에 올려 빠른 연산이 가능하다. 

 

 

아래 그래프를 보면 확실히 pytorch가 주류가 되었다. 

 

아래 웹사이트에서 과거, 현재까지 어떠한 AI/머신러닝/딥러닝 framework가 얼마나 사용되고 있는지 직관적으로 잘 보여준다. 

https://paperswithcode.com/trends

 

Papers with Code - Papers With Code : Trends

Papers With Code highlights trending Machine Learning research and the code to implement it.

paperswithcode.com

 

 

 

tensorflow 와 pytorch 중 무엇을 사용할지 처음엔 고민이 되었지만 더 직관적으로 표현할 수 있고 사용자가 많아지면서 영향력이 더 커진 pytorch를 사용해보기로 결정했다 ! 

 

반응형