しんさんのブログ

科学や技術のこと読書のことなど

Kerasのコーディングではまったこと集

Kerasのsessionはきちんとclearさせてないとエラーがでます

Tensoflow + Keras のコードの実行で、

TypeError: 'NoneType' object is not callable

というエラーがでて原因がわからず少しはまりました。
どうやら、kerasのバックエンドのTensorFlowのsessionをclearしていないのが原因だったようです。
以下の記事を参考にしましたら、エラーが消えました。
keras+tensorflowで終了処理でエラーが発生する | CodeLab技術ブログ

ネットワークの可視化に関して

ネットワークを可視化したかったので、以下のドキュメントを参考にしました。
可視化 - Keras Documentation

from keras.utils import plot_model
plot_model(model, to_file='model.png')

たったこれだけなら簡単だと思ったのですが、必要なパッケージがインストールされていなくてそのままでは動かなかったです。

私の環境では、以下のようにすれば動作しました。

conda install graphviz
conda install pydot

さらに、以下のサイトから"Stable 2.38 Windows install packages"をダウンロードしインストールしました。
http://www.graphviz.org/download/
そして、Windows環境変数のPathに C:\Program Files (x86)\Graphviz2.38\bin を追加しました。
以上で無事、ネットワークのグラフが表示されました。