본문 바로가기

Programming

Tensorflow와 Pytorch 차이

Tensorflow와 Pytorch 차이점 비교

 

Tensorflow Pytorch
Define-and-Run
코드를 직접 돌리는 Session을 만들고, Placeholder를 선언하고 이것으로 계산 그래프를 만들고 (Define), 코드를 실행하는 시점에 데이터를 넣어 실행하는 방식(Run).
Define-by-Run
선언과 동시에 데이터를 집어넣고 세션도 필요없이 돌리면 끝.
 
이는 계산 그래프를 명확히 보여주면서 실행시점에 데이터만 바꿔줘도 되는 유연함을 장점으로 갖는 반면, 비직관적이라 난이도가 높음. 코드가 간결하고 난이도가 낮고 직관적임.
계산 그래프가 정적임. 계산 그래프를 한번 정의하고 나면 그래프에 들어가는 입력 데이타만 다르게 할 뿐 같은 그래프만 실행 가능함. 계산 그래프가 동적임. 순전파마다 새로운 계산 그래프를 정의하여 이용함.
Google Brain Team에 의해 개발됨. Facebook Research Team에 의해 개발됨.