深層学習(ディープラーニング)用フレームワークの1つに「Keras」があり、例えば以下のサイトに、Kerasを利用したサンプルプログラムが掲載されている。
https://keras.io/ja/getting-started/sequential-model-guide/
今回は、上記サイトのSequentialモデルを描画しようとした際に、「TensorFlow」「Keras」のインストールを行うだけでは不足しているライブラリがありプログラムが動かなかったので、その解決方法について共有する。
前提条件
下記記事の「TensorFlow」「Keras」のインストールが完了していること。
サンプルプログラムの内容
今回作成したサンプルプログラムは以下の通りで、本記事冒頭で紹介したプログラムを、モデルを描画できるように修正している。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | from keras.models import Sequential from keras.layers import Dense, Activation from keras.utils.vis_utils import plot_model import matplotlib.pyplot as plt %matplotlib inline # Sequentialモデルの作成 model = Sequential() model.add(Dense(32, input_dim=784)) model.add(Activation('relu')) model.add(Dense(10)) model.add(Activation('softmax')) # コンパイル(マルチクラス分類問題の場合) model.compile(optimizer='rmsprop', loss='categorical_crossentropy', metrics=['accuracy']) # 作成したモデルを可視化 plot_model(model, "rmsprop_model.png", show_layer_names=False) image = plt.imread("rmsprop_model.png") plt.figure(dpi=150) plt.imshow(image) plt.show() |
サンプルプログラムの実行とライブラリのインストール
サンプルプログラムの実行と必要なライブラリのインストールは、以下の手順で実施している。
1) 下記記事の「Jupyter Notebookの起動確認」の手順に従って、JupyterNotebookを起動する
2) サンプルプログラムを入力し、「Run」ボタンを押下し、プログラムを実行すると、「pydot」のインポートに失敗した旨のエラーが表示される
3) pydotをインストールするため、下記スタートメニューから「Anaconda Prompt」を起動する
4) 下記のように、「pip install pydot」を実行し、pydotをインストールする
5) 再度、「Jupyter Notebook」上でサンプルプログラムを実行すると、「pydot」が「GraphViz」を見つけられなかった旨のエラーになる
6)「Anaconda Prompt」において、「conda install graphviz」を実行し、GraphVizをインストール
7) 再度、「Jupyter Notebook」上でサンプルプログラムを実行すると、Sequentialモデルが描画できることが確認できる
要点まとめ
- 深層学習のSequentialモデルを描画するには、pydotとGraphVizをインストールする必要がある。