52
Taegyun Jeon TensorFlow Dev Summit Extended Seoul / 2017.02.22 R&D Center, Satrec Initiative TensorFlow: TensorBoard & Keras GDG Meetup in February

Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

Embed Size (px)

Citation preview

Page 1: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

Taegyun Jeon

TensorFlow Dev Summit Extended Seoul / 2017.02.22

R&D Center, Satrec Initiative

TensorFlow:

TensorBoard & Keras

GDG Meetup in February

Page 2: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

Contents

Integrating Keras & TensorFlow: The Keras Workflow, Expanded▫ Speaker: Francois Chollet

Hands-on TensorBoard▫ Speaker: Dandelion Mané

▫ Code & Slide: https://goo.gl/San2uR

All contents are provided from TensorFlow Dev Summit 2017(https://events.withgoogle.com/tensorflow-dev-summit/)

Page 2[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras

Page 3: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

Keras

An API spec for building deep learning models across many platforms

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 3

Page 4: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

Keras의인기비결?

간편함

간결함

TF의잦은 API 변경

연구자와개발자의의사소통도구

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 4

Page 5: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

tf.keras

Keras는결국 TensorFlow의품으로!

TensorFlow layers = Keras layers

Keras Model▫ Sequence model and functional model API

TensorFlow 기능과통합가능

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 5

https://www.tensorflow.org/api_docs/python/tf/contrib/learn/Experiment

Page 6: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

Keras 사용자들에게어떤일들이?

TensorFlow와 Keras사이에서고민하지않으셔도됩니다.

TF와 Keras의장단점을파악해서섞어서쓰세요.

Distributed Training, Cloud ML, Hyperparameter setting, TF-Serving

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 6

https://blog.keras.io/keras-as-a-simplified-interface-to-tensorflow-tutorial.html

Page 7: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

Keras Example: Video QA

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 7

Page 8: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

Keras Example: Video QA

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 8

Page 9: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

Keras Example: Video QA

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 9

Page 10: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

Keras Example: Video QA

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 10

Page 11: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

Keras Example: Video QA

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 11

Page 12: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

Keras Example: Video QA

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 12

Page 13: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 13

Page 14: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

Keras Example: Video QA

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 14

Page 15: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

Keras Example: Visual VQA

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 15

Page 16: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

More Examples

Keras Blog▫ https://blog.keras.io/

Keras API (keras.applications)▫ https://keras.io/applications/

Keras Example Directories▫ https://github.com/fchollet/keras/tree/master/examples

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 16

Page 17: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

Keras: Summary

TF 사용자: 손쉬운 high-level api 사용가능

Keras 사용자: 모델만 keras로만들고이후운영은 TF로가능

버전변경계획▫ tf.contrib.keras (TF 1.1 / 올해 3월중)

▫ tf.keras (TF 1.2)

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 17

Page 18: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

TensorBoard

TensorBoard를이용해서얻는장점▫ Debug: 내부를알기힘든딥러닝모델을눈으로확인

▫ Hyperparameter Tuning

▫ Visualize inference results

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 18

Page 19: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

TensorBoard: MNIST Example

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 19

Page 20: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

TensorBoard: MNIST Example

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 20

Page 21: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

TensorBoard: MNIST Example

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 21

Page 22: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

TensorBoard: MNIST Example

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 22

Page 23: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

TensorBoard: MNIST Example

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 23

Page 24: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

TensorBoard: MNIST Example

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 24

Page 25: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

TensorBoard: MNIST Example

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 25

Page 26: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

TensorBoard: MNIST Example

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 26

엄청복잡해보이네요

Page 27: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

TensorBoard: MNIST Example

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 27

Page 28: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

TensorBoard: MNIST Example

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 28

Page 29: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

TensorBoard: MNIST Example

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 29

Page 30: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

TensorBoard: MNIST Example

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 30

Page 31: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

TensorBoard: MNIST Example

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 31

이제레이어별로깔끔해졌습니다.

Page 32: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

TensorBoard: MNIST Example

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 32

이전과비교해봐도눈에잘들어옵니다

Page 33: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

TensorBoard: MNIST Example

tf.summary.scalar

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 33

tf.summary.image

tf.summary.audio tf.summary.histogram

Page 34: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

TensorBoard: MNIST Example

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 34

Page 35: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

TensorBoard: MNIST Example

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 35

Page 36: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

TensorBoard: MNIST Example

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 36

Page 37: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

TensorBoard: MNIST Example

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 37

정확도가엉망이군요!

Page 38: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

TensorBoard: MNIST Example

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 38

Cross-entropy도뭔가이상하죠?

Page 39: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

TensorBoard: MNIST Example

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 39

Convolution layer가변하지않았음을알수있습니다.

Page 40: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

TensorBoard: MNIST Example

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 40

Histogram도역시마찬가지군요

Page 41: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

TensorBoard: MNIST Example

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 41

Page 42: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

TensorBoard: MNIST Example

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 42

Page 43: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

TensorBoard: MNIST Example

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 43

이제제대로학습이되는군요

Page 44: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

TensorBoard: MNIST Example

Hyperparameter search

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 44

Page 45: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

TensorBoard: MNIST Example

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 45

다양한 run을기록

Page 46: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

TensorBoard: MNIST Example

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 46

Hyperparameter를 찾을땐epoch을조금만설정해서

초기성능만보고ckpt 관리및추가학습

Page 47: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

TensorBoard: MNIST Example

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 47

Page 48: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

TensorBoard: MNIST Example

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 48

Page 49: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

TensorBoard: MNIST Example

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 49

Page 50: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

TensorBoard

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 50

Page 51: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

TensorBoard: Summary

Debug▫ name_scope 정의와 tensor의 name 붙이기를생활화

▫ Summary 기능을활용

• Scalar, Image, Audio, Histogram

Hyperparameter search▫ 다양한 run을짧게돌려보는것을권장

▫ 파라미터뿐만아니라, 모델형태에도적용가능

Embedding visualization▫ 표현하기힘든내용은가시화!

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 51

Page 52: Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

Q & A

Any Questions?

[TensorFlow Dev Summit Extended] TensorFlow: TensorBoard & Keras Page 52