0
0

More than 5 years have passed since last update.

Tensorboard(Graph)覚書

Posted at

TFのwrapperであるkerasを使い、Fashion-MNISTを分類する、MLP(中間層が1層)を構築した。TFのグラフを理解するため、Tensorboardを活用した。

今回、Tensorboardを使って、うまくできなかったところは、tf.Placeholderやtf.Variableをわかりやすく表示すること。やり方が分かったら、アップデートすることにする。

Tensorboardを使って可視化した、TFグラフ

20190424-113909.png

flatten: 入力値を1次元化(flatten)する

全結合層(Dense layer)に流し込むために、1次元にする必要がある。
(nbatch, 28, 28)→(nbatch, 784)

flatten_inputflattenのノードに入力する。
20190424-_2.png

flattenのボックスをクリックすると、右側にflattenノードの詳細情報を見ることが出来る。
image.png

  • Subgraph: 4 nodes: flattenノードをクリックしていくと、ノード内のグラフ(4つのノードからなる)を見ることができる。

image.png

  • Inputs (1): インプットはflatten_inputのみ。
  • Outputs (2): denseノード(ロスを計算するため)とtrainingノード(中のAdamノードに渡される。自動微分で必要であるためか?)

densedropoutdense1:全結合層(+Relu活性化)→ドロップアウト→出力層(+Softmax活性化)

このアーキテクチャーは、入力層が1つ、中間層(ドロップアウト有)が1つ、出力層が1つ、のMLP。
image.png

denselayer

  • Matmulノード:flattenノードのアウトプットと、kernelノードのアウトプット(重みW)を掛ける。
  • BiasAddノード:Matmulノードのアウトプットと、biasノードのアウトプット(バイアスb)を足す。 image.png

dropoutlayer

  • condノード:たぶん、ドロップアウトするかどうかの条件(conditionを適用するノード)
  • keras_learning_phaseノード:ドロップアウトするMLPのノードを決めるための乱数をアウトプットしているはず。

image.png

lossノード
詳しくはわからないが、cross entropyを計算しているはず。出力はtrainingノードに入力しており、AdamOptimiserを使って、訓練が行われる。

image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0