2017-07-28 7 views
0

テンソルフローを扱うのではなく、ケラスを使用しています。しかし、keras.callbacks.Tensorboardインスタンスをmodel.fit()callbacks引数に送信して、ケラの計算グラフを視覚化しようとしました。私がtensorboardから得たグラフは非常に扱いにくいです。 デモンストレーションの目的で、ここでは、1つの密集層に1つのユニットを持つ非常に単純な線形分類器を作成します。しかし、グラフは次のようになります: enter image description herekerasのテンソルボードでノードを整理するにはどうすればいいですか?

私はテンソルフローで行ったのと同じことをすることができますか?名前空間を使って物事をグループ化し、層、バイアス、重みの名前を付けますか?つまり、グラフのこのような混乱は、Denseレイヤーとlogistic loss名前空間のみを理解できることを意味します。しかし、典型的にテンソルフローでは、trainという名前空間があり、ここに名前空間を持たないノードはそれほど多くありません。どうすればわかりますか?

答えて

1

Tensorflowグラフは、呼び出されているすべての計算を示します。あなたはそれを単純化することができません。

代わりに、Kerasにはレイヤーごとのグラフがあります。あなたのネットワークの明確かつ簡潔な構造を示しています。あなたは

from keras.utils import plot_model 
plot_model(model, to_file='/some/pathname/model.png') 

最終を呼び出すことによって、それを生成することができます、また、追加の要約と、グラフのテキストバージョンを生成model.summary()を呼び出すことができます。ここで

は、例えばmodel.summary()の出力は、次のとおりです。

Layer (type)      Output Shape   Param #  Connected to      
==================================================================================================== 
input_1 (InputLayer)    (None, 2048)   0            
____________________________________________________________________________________________________ 
activation_1 (Activation)  (None, 2048)   0            
____________________________________________________________________________________________________ 
dense_1 (Dense)     (None, 511)   1047039          
____________________________________________________________________________________________________ 
activation_2 (Activation)  (None, 511)   0            
____________________________________________________________________________________________________ 
decoder_layer_1 (DecoderLayer) (None, 512)   0            
____________________________________________________________________________________________________ 
ctg_output (OrLayer)    (None, 201)   102912          
____________________________________________________________________________________________________ 
att_output (OrLayer)    (None, 312)   159744          
==================================================================================================== 
Total params: 1,309,695.0 
Trainable params: 1,309,695.0 
Non-trainable params: 0.0 
+0

感謝。 'plot_model'がすぐに動作しなかったので、' pydot_ng'、 'graphviz'、Graphvizソフトウェアをインストールする必要がありました。しかし、今それは動作します。 – StayFoolish

関連する問題