Keras 모델 시각화 및 graphviz의 path 에러 해결

2020. 5. 18. 23:11스터디/Python

Keras를 활용하여 딥러닝 모델을 구축하고 나면 모델이 어떤 모양을 하고 있는지 시각적으로 표현해줘야 할 때가 있다. 시각적으로 표현하는 것은 타인에게 설명할 때 굉장히 효과적인 도구로서 활용될 수 있어, 나는 많이 활용하는 편이다.

 

모델을 직접 그림을 그리는 것이 아닌 패키지를 통해 간단히 시각화 할 수 있는 방법은 다음과 같다.

1. Keras 외 필요한 패키지 설치

모델 시각화를 위해 필요한 패키지는 2가지가 있다.

이 패키지는 다른 python 패키지 설치와 동일하게 cmd에서 진행하면 된다.

 

- graphviz

pip install graphviz

- pydot

pip install pydot

추가적으로, IPython을 설치해 주었으나, 이 패키지가 모델 시각화에 유효한 패키지인지는 확인하지 못했다.

 

2. 시각화 코드 예시

from keras import layers, models
from keras.utils import plot_model

#0. Parameters

model_in = 5
model_out = 1
hidden = [32,64,128]


#1. Modeling

model = models.Sequential()

model.add(layers.Dense(hidden[0], activation='relu', input_shape=(model_in,), name='Hidden-1'))
model.add(layers.Dense(hidden[1], activation='relu', name='Hidden-2'))
model.add(layers.Dense(hidden[2], activation='relu', name='Hidden-3'))
model.add(layers.Dense(model_out, activation = 'softmax'))

model.compile(loss='categorical_crossentropy', optimizer = 'adam', metrics=['accuracy'])

#2. Visualizing

plot_model(model, show_shapes=True, to_file='pre_model.png')

위 코드에서 시각화에 활용되는 코드는 #2. Visualizing 부분으로, 활용되는 패키지는 `from keras.utils import plot_model` 이다.

코드 실행 시, 설정된 환경에 'pre_model.png'라는 파일명으로 시각화된 그래프가 저장된다.

 

예시 코드로 저장된 그래프는 다음과 같다.

#. graphviz의 path 에러

 

나는 위 과정을 거쳤을 때, 에러가 발생하여 시각화가 실행되지 않았다.

이때, 발생한 에러 메시지는 다음과 같다.

 

Please install graphviz(https://www.graphviz.org/) and ensure that its executables are in the $path

 

path 확인을 하고, 컨테이너 밖에서 graphviz를 설치해보았지만 결과적으로 해결할 수 없었다.

 

결과적으로 conda를 통해 설치하여 이 문제를 해결할 수 있었다.

과정은 다음과 같다.

 

(1) anaconda cmd 접속

(2) 다음 명령어 입력

conda install graphviz

Keras와 관련된 패키지 활용 중 path로 인한 에러가 발생할 경우,

conda를 통한 설치를 시도해보자.

간단히 해결될 수도 있다.