質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

0回答

1919閲覧

Keras)モデルの簡約図の作成)

TAIniko

総合スコア32

Keras

Kerasは、TheanoやTensorFlow/CNTK対応のラッパーライブラリです。DeepLearningの数学的部分を短いコードでネットワークとして表現することが可能。DeepLearningの最新手法を迅速に試すことができます。

Anaconda

Anacondaは、Python本体とPythonで利用されるライブラリを一括でインストールできるパッケージです。環境構築が容易になるため、Python開発者間ではよく利用されており、商用目的としても利用できます。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

1クリップ

投稿2020/02/05 07:50

編集2020/02/05 07:52

前提・実現したいこと

graphvizを用いたモデルの可視化

発生している問題・エラーメッセージ

OSError: `pydot` failed to call GraphViz.Please install GraphViz (https://www.graphviz.org/) and ensure that its executables are in the $PATH.

該当のソースコード

python

1from graphviz import Digraph 2import keras 3from keras.datasets import mnist 4from keras.models import Sequential 5from keras.layers.core import Dense, Activation 6from keras.utils import np_utils 7 8# kerasのMNISTデータの取得 9 10(X_train, y_train), (X_test, y_test) = mnist.load_data() 11 12 13# 配列の整形と,色の範囲を0-255 -> 0-1に変換 14X_train = X_train.reshape(60000, 784) / 255 15X_test = X_test.reshape(10000, 784) / 255 16 17 18# 正解ラベルをダミー変数に変換 19y_train = np_utils.to_categorical(y_train) 20y_test = np_utils.to_categorical(y_test) 21 22# ネットワークの定義 23 24model = Sequential([ 25 Dense(512, input_shape=(784,)), 26 Activation('sigmoid'), 27 Dense(10), 28 Activation('softmax') 29 ]) 30 31# 損失関数,最適化アルゴリズムなどの設定 + モデルのコンパイルを行う 32model.compile(loss='categorical_crossentropy', optimizer='sgd', metrics=['accuracy']) 33 34# 学習処理の実行 -> 変数histに進捗の情報が格納される 35# validation_split=0.1 ---> 0.1(10%)の訓練データが交差検証に使われる 36hist = model.fit(X_train, y_train, batch_size=200, verbose=1, epochs=3, validation_split=0.1) 37 38# 予測 39score = model.evaluate(X_test, y_test, verbose=1) 40print("") 41print('test accuracy : ', score[1]) 42 43import matplotlib.pyplot as plt 44loss = hist.history['loss'] 45val_loss = hist.history['val_loss'] 46 47# lossのグラフ 48plt.plot(range(3), loss, marker='.', label='loss') 49plt.plot(range(3), val_loss, marker='.', label='val_loss') 50plt.legend(loc='best', fontsize=10) 51plt.grid() 52plt.xlabel('epoch') 53plt.ylabel('loss') 54plt.show() 55 56acc = hist.history['acc'] 57val_acc = hist.history['val_acc'] 58 59# accuracyのグラフ 60plt.plot(range(3), acc, marker='.', label='acc') 61plt.plot(range(3), val_acc, marker='.', label='val_acc') 62plt.legend(loc='best', fontsize=10) 63plt.grid() 64plt.xlabel('epoch') 65plt.ylabel('acc') 66plt.show() 67 68# 該当のエラー箇所↓ 69from keras.utils import plot_model 70plot_model(model, to_file='./model.png') 71

試したこと

graphvizを再インストールし、パスを設定しなおす。

エラー箇所2行を以下のように書き換えてみる

Python

1import pydot_ng as pydot 2from keras.utils import plot_model 3pydot.find_graphviz() 4plot_model(model, to_file='model.png')

補足情報(FW/ツールのバージョンなど)

>dot -v dot - graphviz version 2.38.0 (20140413.2041) libdir = "C:\graphviz\release\bin" Activated plugin library: gvplugin_dot_layout.dll Using layout: dot:dot_layout Activated plugin library: gvplugin_core.dll Using render: dot:core Using device: dot:dot:core The plugin configuration file: C:\graphviz\release\bin\config6 was successfully loaded. render : cairo dot fig gd gdiplus map pic pov ps svg tk vml vrml xdot layout : circo dot fdp neato nop nop1 nop2 osage patchwork sfdp twopi textlayout : textlayout device : bmp canon cmap cmapx cmapx_np dot emf emfplus eps fig gd gd2 gif gv imap imap_np ismap jpe jpeg jpg metafile pdf pic plain plain-ext png pov ps ps2 svg svgz tif tiff tk vml vmlz vrml wbmp xdot xdot1.2 xdot1.4 loadimage : (lib) bmp eps gd gd2 gif jpe jpeg jpg png ps svg

conda list 実行結果

pydot 1.4.1 pypi_0 pypi pydot-ng 2.0.0 pypi_0 pypi pydotplus 2.0.2 pypi_0 pypi python-graphviz 0.13.2 pypi_0 pypi

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問