FPGAの部屋のmarseeさんの記事を見て、TensorFlow+Kerasに入門してみた。 というかmarseeさんの記事で掲載されているソースコードをほとんどCopy & Pasteして実行してみているだけだが...
TensorFlow+Kerasの実行環境にはVirtualBox上で動作させるUbuntu 18.04 LTSを使用した。Jupyter Notebookを立ち上げて、ポートを指定してWindows上のブラウザに転送して操作する。
$ sudo apt install -y python-pip $ sudo pip3 install --upgrade tensorflow keras jupyter matplotlib pandas $ jupyter-notebook --ip=* --no-browser &
これで、VirtualBox上の設定で8888ポートを別のポートにフォワーディングし、Windows上からアクセスしてJupyter Notebookが操作できるようになった。
少しは待った点としては、PydotがPython 3.x系では開発が中止されているらしく、サンプルプログラムが正しく実行されなかった。 それ以外は、サンプルプログラムと、MNISTのニューラルネットワークのモデルは正しく動作しているようだった。
以下の keras.utils.vis_utils import plot_modelから呼び出したplot_modelが正しく動作しないようだ。これがあるとネットワークの構成などをちゃんと表示してくれるらしいのだが...
# 学習済みモデルの読み込み from keras.models import load_model model = load_model('mnist_cnn10_model.h5') model_list = model.get_weights() print(model_list) from keras.utils.vis_utils import plot_model model.summary() plot_model(model, show_shapes=True, to_file='./model.png')
- 実行結果
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-23-e3a6ae28afe6> in <module>()
9 from keras.utils.vis_utils import plot_model
10 model.summary()
---> 11 plot_model(model, show_shapes=True, to_file='./model.png')
/usr/local/lib/python3.6/dist-packages/keras/utils/vis_utils.py in plot_model(model, to_file, show_shapes, show_layer_names, rankdir)
131 'LR' creates a horizontal plot.
132 """
--> 133 dot = model_to_dot(model, show_shapes, show_layer_names, rankdir)
134 _, extension = os.path.splitext(to_file)
135 if not extension:
/usr/local/lib/python3.6/dist-packages/keras/utils/vis_utils.py in model_to_dot(model, show_shapes, show_layer_names, rankdir)
53 from ..models import Sequential
54
---> 55 _check_pydot()
56 dot = pydot.Dot()
57 dot.set('rankdir', rankdir)
/usr/local/lib/python3.6/dist-packages/keras/utils/vis_utils.py in _check_pydot()
18 if pydot is None:
19 raise ImportError(
---> 20 'Failed to import `pydot`. '
21 'Please install `pydot`. '
22 'For example with `pip install pydot`.')
ImportError: Failed to import `pydot`. Please install `pydot`. For example with `pip install pydot`.