CNTKだろうとCaffeだろうと、あるいは別のフレームワークを使ったとしても、同じインプットに対しては同じアウトプットが出ないといけないはずだ。
乱数要素があるとしても、それでも大きく違ってはいけないだろう。
なので、大切なのはインプットだ。
DeepLearningはニューラルネットの構築式(というのか?)がインプットになる。
もちろん学習データもインプットで大切なのだけど、データはDeepLearning以外でも使えるけど、DeepLearningするんだったらニューラルネットの構築がいるのだ。
で、Caffeにはニューラルネットのグラフを出してくれる機能があった。
きっと、CNTKにもあるはずだと思い「CNTK graphviz」で検索した。
GraphVizは、Doxygenなどでも使われているのだが、汎用のグラフ出力ツールだ(たぶん)。
「GraphViz」なのに、なぜかコマンド名が「dot」なので、ちょっと悩むのだがね。
そして、あった。
https://github.com/Microsoft/CNTK/wiki/Plot-command
あまり読まずに試したが、たぶん、たぶんだが、
- modelPathにモデルのファイルパス
- outputdotFileにGraphViz用のファイル名(CNTKが作る)
- outputFileに出力する画像ファイル名
- renderCmdに実行するコマンド
を書いて、configファイルのcommandに追加すると実行してくれそうだ。
Simple2dで試すと、こういうのが出てきた。
う、うーん・・・
下から上に矢印が向かっているから、下がインプットなのかな。
WはWeight?、BはBias?、Hって??
それに、なんで「?」がこんなに多いのだろう。
日本語のパスなどは入れていないから文字化けではないと思うのだけど、これではさっぱりわからん。
dotファイルに「?」が入っているから、CNTKが出力しているはず。
Windowsで動くからCNTKで勉強するか、と気楽に考えていたが、初心者にはつらいのかもしれん。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。