Google Dev Summit Extended Seoul - TensorFlow: Tensorboard & Keras

Post on 21-Mar-2017

2,612 views 2 download

transcript

Taegyun Jeon

TensorFlow Dev Summit Extended Seoul / 2017.02.22

R&D Center, Satrec Initiative

TensorFlow:

TensorBoard & Keras

GDG Meetup in February

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

Keras

An API spec for building deep learning models across many platforms

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

Keras의인기비결?

간편함

간결함

TF의잦은 API 변경

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

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

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

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

Keras Example: Video QA

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

Keras Example: Video QA

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

Keras Example: Video QA

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

Keras Example: Video QA

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

Keras Example: Video QA

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

Keras Example: Video QA

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

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

Keras Example: Video QA

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

Keras Example: Visual VQA

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

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

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

TensorBoard

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

▫ Hyperparameter Tuning

▫ Visualize inference results

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

TensorBoard: MNIST Example

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

TensorBoard: MNIST Example

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

TensorBoard: MNIST Example

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

TensorBoard: MNIST Example

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

TensorBoard: MNIST Example

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

TensorBoard: MNIST Example

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

TensorBoard: MNIST Example

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

TensorBoard: MNIST Example

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

엄청복잡해보이네요

TensorBoard: MNIST Example

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

TensorBoard: MNIST Example

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

TensorBoard: MNIST Example

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

TensorBoard: MNIST Example

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

TensorBoard: MNIST Example

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

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

TensorBoard: MNIST Example

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

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

TensorBoard: MNIST Example

tf.summary.scalar

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

tf.summary.image

tf.summary.audio tf.summary.histogram

TensorBoard: MNIST Example

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

TensorBoard: MNIST Example

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

TensorBoard: MNIST Example

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

TensorBoard: MNIST Example

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

정확도가엉망이군요!

TensorBoard: MNIST Example

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

Cross-entropy도뭔가이상하죠?

TensorBoard: MNIST Example

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

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

TensorBoard: MNIST Example

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

Histogram도역시마찬가지군요

TensorBoard: MNIST Example

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

TensorBoard: MNIST Example

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

TensorBoard: MNIST Example

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

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

TensorBoard: MNIST Example

Hyperparameter search

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

TensorBoard: MNIST Example

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

다양한 run을기록

TensorBoard: MNIST Example

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

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

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

TensorBoard: MNIST Example

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

TensorBoard: MNIST Example

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

TensorBoard: MNIST Example

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

TensorBoard

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

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

Q & A

Any Questions?

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