Theano 関数でグラフを書くための準備(Failed to import pydotなんていわれたくない)
Sponsored Links
皆さんこんにちは
お元気ですか。私は元気です。
さて、本日はTheanoで関数のGraphを書きましょう。
Printing/Drawing Theano graphs — Theano 0.6 documentation
因みに必要なライブラリがないとサンプルコードは動きません。それらから解決していきましょう。
Graphを動かすために
サンプルコードが動かない!?
サンプルコードを動かそうとすると以下のエラーが発生します。
Traceback (most recent call last): File "graph.py", line 72, in <module> var_with_name_simple=True) File "/Library/Python/2.7/site-packages/theano/printing.py", line 570, in pydotprint raise RuntimeError("Failed to import pydot. You must install pydot" RuntimeError: Failed to import pydot. You must install pydot for `pydotprint` to work.
まぁ中でpydotと呼ばれるライブラリを呼んでいるらしいのですが、それがないといっております。
実はこれ、pydotをインストールしても解決できません。
Github上にこの問題はissueとしてあがっています。
RuntimeError: Failed to import pydot. · Issue #1801 · Theano/Theano · GitHub
内容は、pydotの一部の機能にgraphvizと呼ばれるPythonのライブラリが必要です。
しかし、graphvizには大元のソフトがあるそうなので、そちらも必要ですとのこと
インストールコマンド
brew install gts brew install graphviz sudo pip install pydot sudo pip install graphviz
これらを動かすとサンプルコードが希望通り動きます。
簡単なプログラムでの動作
import theano import theano.tensor as T import os #function1 x = T.lscalar("x") y = x*2 f = theano.function([x],y) if not os.path.exists('pics'): os.mkdir('pics') theano.printing.pydotprint(f, outfile="pics/function.png", var_with_name_simple=True)
x と y を掛けるだけの簡単なお仕事です。
Elemwiseにmulと掛けるような内容が掲載されています。
細かいことは次回解説いたします。