관리 메뉴

꿈 많은 사람의 이야기

텐서플로우(tensorflow) 모델 shape(모델 summary) 확인하기! 본문

deep learning(딥러닝)

텐서플로우(tensorflow) 모델 shape(모델 summary) 확인하기!

이수진의 블로그 이수진의 블로그 2019.03.07 12:21

최근에 텐서플로우로 배우는 자연어 처리 책을 보고 있습니다


평소에는 케라스(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)


0 Comments
댓글쓰기 폼