최근에 텐서플로우로 배우는 자연어 처리 책을 보고 있습니다
평소에는 케라스(keras)만 위주로 써서 이 책의 내용의 코드와 잘 맞지 않는 부분이 있는데요
이 책도 텐서플로우 안에 있는 keras 모듈을 사용하기는 합니다.
tf.keras.layer 등을 사용하고 때에 따라서 tf.nn.rnn 등을 사용하기도 합니다.
하지만 완전 순수 keras 라이브러리와는 좀 사용법이 다르네요
그 중 하나가 저는 model summary 부분이 정말 궁금했습니다.
케라스에서는 그냥 model.summary()를 하면 모델 요약이 나왔었는데요!
tf.keras를 사용하다보니까 사용 방법이 좀 달랐습니다
model을 요약(summary)해서 shape 등의 정보를 볼 수 있는 방법을 소개합니다
(tensorflow model summary like keras)
방법은 이렇게 사용합니다
model_summary()라는 함수를 하나 만들고
model_vars = tf.trainable_variables()
slim.model_analyzer.anlyze_vars(model_vars, print_info = True)
를 해준뒤 모델을 호출해주면 됩니다.
위가 제가 만든 모델의 정보입니다.
CNN 모델인데요!
tf.keras.layers를 사용해서 모델을 만들었습니다.
딱 저렇게만 보면 도대체 모델이 어떻게 모양이 만들어지고 진행이 되는지 감을 잡기가 힘듭니다
잘 하시는 분들은 딱 보시면 딱 아시겠지만..
저는 그게 아니라서 ㅠㅠ 모델의 요약이 필요한 상황이죠
모델을 요약(model summary)를 하게 되면 shape 형태를 한 눈에 볼 수 있어서 참 좋습니다.
이렇게 모양이 어떻게 변하는지 확인할 수 있습니다.
처음 embedding할 때부터 CNN을 거치고 Dense를 거친 후 어떻게 되는지 볼 수 있죠
마치 keras에서 model summary()하는 것 같이 model을 볼 수 있습니다.
(tensorflow model summary like keras)
'deep learning(딥러닝)' 카테고리의 다른 글
어텐션 메커니즘(Attention Mechanism)이란? 어텐션에 대해서 (4) | 2019.03.15 |
---|---|
딥러닝을 활용한 번역기를 만들어보자!(python keras seq2seq translate model) (0) | 2019.03.13 |
파이썬 케라스(keras) LSTM으로 딥러닝하자! 네이버 영화 평점 데이터를 활용한 자연어 처리(NLP) (5) | 2019.03.04 |
cs231n 2017년 강의 11강 detection and segmentation (8) | 2018.12.25 |
cs231n 2017 강의 10강 RNN 정리 (0) | 2018.12.11 |