TensorFlowでニューラルネットワークのモデルを視覚化

hanamichi-sukusuku.hatenablog.com

tensorflowにはニューラルネットワークのモデルを視覚化するための便利なツールも用意されており、今回はこれを利用して作成したデータを図で確認してみる。

 

上記のリンクで作成されているプログラムにコードを書き加えて、ニューラルネットワークのモデルを図で確認していく。

 

f:id:hanamichi_sukusuku:20210203194642p:plain

実行結果

f:id:hanamichi_sukusuku:20210203194705p:plain

モデル作成

model = tf.keras.models.Sequential([
tf.keras.layers.Dense(30, activation='relu', input_dim=2),
tf.keras.layers.Dense(3, activation='softmax')
])

 

モデルの学習の仕方を指定

model.compile(optimizer='adam',
   loss='sparse_categorical_crossentropy',
   metrics=['accuracy'])

 

モデルの概要を表示

model.summary()

summary()関数を使用すると、構築されたモデルの概要を表示することができる。

今回では単純なニューラルネットワークなので、上記のように簡単なモデルが表示されるが、モデルが複雑な時、モデルの概要を理解するのに図の出力が役に立つ。

 

図でモデルを出力

tf.keras.utils.plot_model(model, to_file='janken-model.png')

ここではモデルの図を外部に保存している。

f:id:hanamichi_sukusuku:20210203201448p:plain

上記の画像はファイルの中身。

このような形で視覚化することができる。

 

まとめ

・TensorFlowではディープラーニングを実践するライブラリーの中で人気が高い。

・TensorFlowではモデルを定義し構築(コンパイル)してから学習を行う。

・モデルを図で出力する機能が備わっている。