2019.11.09에 있었던 제주 GDG 발표 슬라이드입니다.
Blog : http://coffeedjimmy.github.io
Cooperation github repo: https://github.com/coffeedjimmy/Pytorch-TensorFlow2-Comparison
33. GDG DevFest 제주
논문 구현체에 쓰인 횟수
Part 2. 딥러닝 프레임워크 춘추전국시대
https://thegradient.pub/state-of-ml-frameworks-2019-pytorch-dominates-research-tensorflow-dominates-industry/
37. GDG DevFest 제주
TensorFlow
Part 2. 딥러닝 프레임워크 춘추전국시대
갓구글이 만든 딥러닝 프레임워크
사실상 딥러닝 부흥기를 초기 선점하여 아직까지도 널리 쓰임
다양한 보조도구들이 존재
공식 document/tutorial, 커뮤니티, Tensorboard(시각화툴)
Production에 유리
TF Serving, Distributed Training, TFLite, TFJS
Static Graph (Define and Run)
Graph를 그려놓고, session을 흘려보내는 방식
38. GDG DevFest 제주
Pytorch
Part 2. 딥러닝 프레임워크 춘추전국시대
갓페이스북이 만든 딥러닝 프레임워크
연구 집단에서 주로 쓰여온 경향이 있음
다양한 보조도구들이 존재
공식 document/tutorial, 커뮤니티, Tensorboard(시각화툴) 지원
Dynamic Graph (Define by Run)
매 iteration을 통해 새로운 graph를 생성
39. GDG DevFest 제주
여기서 잠깐
Part 2. 딥러닝 프레임워크 춘추전국시대
Dynamic Graph
Static Grpah
vs
42. GDG DevFest 제주
Part 2. 딥러닝 프레임워크 춘추전국시대
Define and Run Define by Run
장점 Graph 구축 후 반복적으로 사용 -> Graph 최적화 가능
코드가 깔끔해지고, 러닝커브가 완만함
데이터에 따라 네트워크 구조를 유연하게 가져갈 수 있음
(Forward Computation으로부터 Network가 정의되므로)
Static vs Dynamic
43. GDG DevFest 제주
Keras
Part 2. 딥러닝 프레임워크 춘추전국시대
숄레가 만든 딥러닝 프레임워크
프로토타이핑이 쉬워서 입문자들이 많이 사용
다양한 보조도구들이 존재
공식 document/tutorial, 커뮤니티, 편리한 함수들
TensorFlow Based
Backend를 TensorFlow로 채택
50. GDG DevFest 제주
다양한 궁금증 및 실험들
Part 3. 나는 어떻게 관심을 가지게 되었는가?
Pytorch nn.Linear는 왜 Transpose된 형태로 weight를 관리할까?
BatchNorm은 어디다 쓰는 게 가장 좋을까?
BERT의 레이어를 얕게 쌓아도 잘 동작할까?
52. GDG DevFest 제주
실제로 구현해보면 좋은 점
Part 3. 나는 어떻게 관심을 가지게 되었는가?
구현체만 가져다 쓰는 것보다 이해도가 높아짐
다양한 삽질의 과정 속에서 배움
유사한 다른 논문에 쉽게 적용
한 논문을 성공적으로 구현하면 유사한 논문도 쉽게 구현 가능
무엇보다 뿌듯함
성취감이 없으면 지속하기 힘들지 않을까요?
56. GDG DevFest 제주
TensorFlow 2.0 무엇이 달라졌나요?
Part 4. TensorFlow 2.0 vs Pytorch
Eager Execution by default
모델 정의 -> flow session 과정으로 진행하지 않아도 됨
Keras를 High-Level API로 차용
기존 몇 가지 High-Level API를 Keras 사용으로 일원화 유도
57. GDG DevFest 제주
TensorFlow 2.0 무엇이 달라졌나요?
Part 4. TensorFlow 2.0 vs Pytorch
Eager Execution by default
모델 정의 -> flow session 방식으로 진행하지 않아도 됨
58. GDG DevFest 제주
TensorFlow 2.0 무엇이 달라졌나요?
Part 4. TensorFlow 2.0 vs Pytorch
Keras를 High-Level API로 차용
기존 몇 가지 High-Level API를 Keras 사용으로 일원화 유도
Pytorch TensorFlow 2.0
59. GDG DevFest 제주
TensorFlow 2.0 무엇이 달라졌나요?
Part 4. TensorFlow 2.0 vs Pytorch
Keras를 High-Level API로 차용
기존 몇 가지 High-Level API를 Keras 사용으로 일원화 유도
Pytorch TensorFlow 2.0