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

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

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

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Keras

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

CNN (Convolutional Neural Network)

CNN (Convolutional Neural Network)は、全結合層のみではなく畳み込み層とプーリング層で構成されるニューラルネットワークです。画像認識において優れた性能を持ち、畳み込みニューラルネットワークとも呼ばれています。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

1955閲覧

SVG形式でモデルを表示できません

退会済みユーザー

退会済みユーザー

総合スコア0

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Keras

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

CNN (Convolutional Neural Network)

CNN (Convolutional Neural Network)は、全結合層のみではなく畳み込み層とプーリング層で構成されるニューラルネットワークです。画像認識において優れた性能を持ち、畳み込みニューラルネットワークとも呼ばれています。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/07/05 06:06

編集2021/07/05 06:11

私は今CNNの勉強しています。(いちばんやさしいディープラーニングという本で勉強しています。)
その中で、Keras の Conv2D を使用した CNN の例を実行しようとしました。
プログラムは以下の通りです。

Python

1# coding: utf-8 2# Conv2D を使った CNN の例 3 4# CNN Model 1 - one layer 5# Keras とその他ライブラリをインポート 6from keras.models import Sequential, Model 7from keras.layers import Conv2D 8from keras.utils import np_utils 9 10# SVG の表示に必要なライブラリのインポート 11from IPython.display import SVG 12from keras.utils.vis_utils import model_to_dot 13 14# 畳み込みニューラルネットのモデルを作成 15model = Sequential() 16model.add(Conv2D(filters=3, kernel_size=(3, 3), input_shape=(6, 6, 1), name='Conv2D_1')) 17 18# SVG形式でモデルを表示 19SVG(model_to_dot(model, show_shapes=True).create(prog='dot', format='svg'))

エラーが以下の通りです。

ImportError Traceback (most recent call last) <ipython-input-1-53d8384b4a2b> in <module>() 18 19 # SVG形式でモデルを表示 ---> 20 SVG(model_to_dot(model, show_shapes=True).create(prog='dot', format='svg')) ~/.pyenv/versions/anaconda3-5.3.1/lib/python3.7/site-packages/keras/utils/vis_utils.py in model_to_dot(model, show_shapes, show_layer_names, rankdir, expand_nested, dpi, subgraph) 77 from ..models import Sequential 78 ---> 79 _check_pydot() 80 if subgraph: 81 dot = pydot.Cluster(style='dashed', graph_name=model.name) ~/.pyenv/versions/anaconda3-5.3.1/lib/python3.7/site-packages/keras/utils/vis_utils.py in _check_pydot() 20 if pydot is None: 21 raise ImportError( ---> 22 'Failed to import `pydot`. ' 23 'Please install `pydot`. ' 24 'For example with `pip install pydot`.') ImportError: Failed to import `pydot`. Please install `pydot`. For example with `pip install pydot`.

ImportError: Failed to import pydot. Please install pydot. For example with pip install pydot.
ここをコピペして検索した結果kerasのplot_modelでハマった話このサイトに

pydotは現在開発が止まっており、python3.5および3.6では動きません。
pydotplusまたはpydot-ngを代わりに使用することで対処できます。

とあったので、pydotplusを[python] Macにpygraphvizをインストールするこのサイトを参考にインストールしました。
しかし、エラーが消えません。
どうすればいいのか教えてください。

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

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

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

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

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

jbpb0

2021/07/05 07:37

> インストールしました。 しかし、エラーが消えません。 その時のエラーは、質問に書いてるエラーと全く同じものですか? pydotplusをインストールして、表示されるエラーメッセージが変わったなら、質問にはそちらを書いてください
退会済みユーザー

退会済みユーザー

2021/07/05 08:18

インストール前のエラーを完璧に覚えている訳では無いのですが、全く同じものでした。 # SVG形式でモデルを表示 SVG(model_to_dot(model, show_shapes=True).create(prog='dot', format='svg')) この文より前のプログラムまではエラー出さないことも確認しました。 何がいけないのでしょうか?
guest

回答1

0

ベストアンサー

pydotは現在開発が止まっており、python3.5および3.6では動きません。

pydotplusまたはpydot-ngを代わりに使用することで対処できます。

ImportError: Failed to import pydot. Please install pydot. For example with pip install pydot. #69
を見ると、下記の順番でインストールするとエラーが出なくなるようです
・pydot
・pydotplus
・graphviz

投稿2021/07/05 14:20

jbpb0

総合スコア7653

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

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

退会済みユーザー

退会済みユーザー

2021/07/06 09:23

試してみたのですが、このようなエラーが出るのですがどうしたらいいですか? --------------------------------------------------------------------------- NameError Traceback (most recent call last) /var/folders/72/fl6l29ds4xvbv0zcgdzj4wc00000gn/T/ipykernel_55902/4281578741.py in <module> 1 # SVG形式でモデルを表示 ----> 2 SVG(model_to_dot(model, show_shapes=True).create(prog='dot', format='svg')) NameError: name 'SVG' is not defined
jbpb0

2021/07/06 09:54 編集

> from IPython.display import SVG を実行してれば、 > name 'SVG' is not defined とはならないはず 上記の二つの行がjupyter notebookで別のセルに分かれていて、 from IPython... がある方のセルの実行を忘れているのでは?
jbpb0

2021/07/06 09:51 編集

当方のMacで試してみました 「pydotplus」と「graphviz」はインストールされてるけど「pydot」はインストールされてない状態では、質問のコードをそのままjupyter notebookで実行したら、質問と同じエラー Failed to import `pydot`... が出ました そこで「pydot」もインストールしたら、jupyter notebookで表示できました ただし、表示されるのが大きすぎるので、 https://qiita.com/ReoNagai/items/b8436a4299bb70941fb7 に書かれてるように「dpi=None」を付けたら、ちょうどいいサイズになりました
退会済みユーザー

退会済みユーザー

2021/07/06 14:15

本当にいつもありがとうございます。 今回もおかげさまでできました。 今回慌ててしまい色々なものをアップデートし、順番にインストールするために消したら、過去のプログラムまでエラーが出てしまいつらかったので助かりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問