파이토치

1장 파이토치란?

강담비 2019. 11. 14. 21:04
반응형

 
 
안녕하세요! ~
 
 
오늘은 파이토치에 대해서 간단히 살펴보려고 합니다.
 
 

먼저,파이토치란 무엇인가? 에 대한 질문에 간단히 답해보자면
 
파이썬을 스크립팅 언어로 사용하는 딥러닝 프레임워크입니다.
 
 
파이토치 말고도 딥러닝 프레임워크에는 여러 가지가 있는데요.
대표적으로 텐서플로우, 케라스, FastAI등을 예로 들 수 있습니다.
 
 
그중에서도 제가 파이토치에 집중하는 이유는 ..
파이토치의 많은 장점들 때문입니다.
 
 
파이토치의 장점들을 알아볼까요?
 
 
 
일단, 텐서플로우보다 훨씬 쉽다는 장점이 있습니다.
 
 
그래서 딥러닝 입문하시는 분들에게는 더욱 인기가 많은 프레임워크입니다.
 
 
아무리 좋은 프레임워크더라도 본인이 사용하기 어렵고 배우는데 오래 걸린다면 무용지물이겠죠??
 
 

Define and run VS Define by run ( 출처 Complex neural networks made easy by Chainer )

 
두 번째로는 'Define by Run'방식을 사용해 유연하다는 점입니다.
 
 
Define by Run이란 연산 정의와 값 초기화가 동시에 되는 것입니다.
반면에 Define and Run은 먼저 모델을 만들어주고 값을 따로 다 넣어주는 방식입니다.
 
 
후자에 비해 전자가 값을 담을 공간 관리가 필요 없고 모델 그래프를 데이터에 따라 쉽게 조절할 수 있어 편리합니다.
코드도 대체로 짧아지겠죠?
 
 
이 부분은 실습을 조금만 해보시면 바로 이해하실 수 있습니다.
 
 
 

세 번째로는 여러 라이브러리와의 호환성이 있다.
 
 
파이썬은 Numpy, Scipy, Cython등과 높은 호환성을 가집니다.
그래서 Numpy에서 작업하던 것들을 파이토치에서는 간단한 변환 후에 GPU연산을 할 수 있습니다.
 
 
 

 
 
마지막으로는 연산 속도입니다.
 
 
파이토치, 텐서플로우 모두 GPU를 사용할 수 있습니다.
GPU를 사용하면 연산을 병렬 처리해 엄청난 양의 데이터를 빠르게 연산할 수 있습니다.
 
 
또한,
텐서플로우 깃허브에 올라온 이슈에 따르면 실험에 많이 사용되는 모델로 벤치마킹한 결과 파이토치가 텐서플로우보다 2.5배 정도 빠른 결과가 나왔다고 합니다.
 
 
여러 변수가 있겠지만 평균적으로 이렇게 나왔다면 적어도 텐서플로우보다 성능이 떨어진다고 하기는 어렵겠죠??
 
 
 
 
이렇게 간단하게 파이토치에 대해 살펴봤습니다!
여전히  텐서플로우의 사용자가 많지만 비 직관적인 구조나 난의도 때문에 파이토치 사용자가 늘어나고 있는 추세라고 합니다!
 
 
 
 
 
 
다음 장에서는 파이토치 실습 포스팅으로 찾아뵙겠습니다 ~ 
 
감사합니다!