【Watson Studio 메모】Watson Studio의 Jupyter Notebook에서 plot_model을 사용할 수 있도록 한다

소개



Watson Studio의 Jupyter Notebook은, 보통으로 사용하는 라이브러리는 거의 전부 처음부터 들어가 있어 매우 편리합니다만, plot_model이 언제나 사용할 수 없어서 고생합니다.
가장 간단한 순서를 알았으므로 비망록으로 메모해 둡니다.

현상



예를 들어, 다음과 같은 코드를 초기 상태로 실행하면 오류가 발생합니다.
%matplotlib inline
import warnings
warnings.filterwarnings('ignore')

from keras.models import Sequential
from keras.layers import Dense
from keras.optimizers import RMSprop

# モデル定義
model = Sequential()
model.add(Dense(64, activation='relu', input_dim=784))
model.add(Dense(10, activation='softmax'))

# モデルのグラフ化
from keras.utils import plot_model
from PIL import Image
import matplotlib.pyplot as plt
import numpy as np

plot_model(model, to_file='sample-model1.png', show_shapes=True, show_layer_names=True)
im = Image.open('sample-model1.png')
plt.figure(figsize=(8,8))
plt.axis('off')
plt.imshow(np.array(im))
plt.show()

오류의 상태



그러나 메시지의 지시에 따라 pip 명령으로 pydotgraphviz 를 추가 도입해도 에러는 사라지지 않고, 항상 고민하는 것이었습니다.

대책



알고 버리면 간단하지만 Watson Studio의 Jupyter Notebook에서 다음 명령을 실행합니다.graphviz 에 관해서는 pip 커멘드와 conda 커멘드의 양쪽 모두 실행하는 것이 포인트입니다.
# 必要モジュールの追加導入
!pip install graphviz
!conda install graphviz
!pip install pydot
graphviz 가 제대로 움직이고 있는지의 테스트는 이하의 커멘드로 가능합니다.
# 動作確認
!dot -V

이에 대해 다음과 같은 결과가 반환되면 테스트 OK입니다.
반대로 설치가 작동하지 않으면 다음 명령으로 일부 오류 메시지가 표시됩니다.
dot - graphviz version 2.40.1 (20161225.0304)

실행 결과



테스트가 OK 상태에서 위의 프로그램을 다시 움직이면 눈에 띄는 네트워크 다이어그램 표시가 됩니다.

좋은 웹페이지 즐겨찾기