【Python/Keras】モデル構造の可視化

Pythonの機械学習モジュール「Keras」でモデルを可視化する方法をソースコード付きでまとめました。

【モデル構造の可視化】model.summary()

Kerasの「model.summary()」を使えば、作成したニューラルネットワークのモデル形状の概要を表示できます。

サンプルコード

サンプルプログラムのソースコードです。

# -*- coding: utf-8 -*-
import numpy as np
from keras.models import Sequential, model_from_json
from keras.layers.core import Dense
from keras.optimizers import RMSprop
from keras.utils.vis_utils import plot_model

def main():
    # モデル構築
    model = Sequential()

    # 入力層
    model.add(Dense(2, activation='sigmoid', input_shape=(2,)))

    # 出力層
    model.add(Dense(1, activation='linear'))

    # コンパイル(勾配法:RMSprop、損失関数:mean_squared_error、評価関数:accuracy)
    model.compile(loss='mean_squared_error', optimizer=RMSprop(), metrics=['accuracy'])

    # モデルの概要を表示
    model.summary()

    # 概要を画像に出力
    #plot_model(model, to_file='model.png')

if __name__ == '__main__':
    main()

実行結果

サンプルプログラムの実行結果です。

Using TensorFlow backend.
_________________________________________________________________
Layer (type)                 Output Shape              Param #
=================================================================
dense_1 (Dense)              (None, 2)                 6
_________________________________________________________________
dense_2 (Dense)              (None, 1)                 3
=================================================================
Total params: 9
Trainable params: 9
Non-trainable params: 0
_________________________________________________________________

model.add()で追加した順に表示されています。

【TensorFlow版Keras入門】ディープラーニングを簡単に学ぶ方法
Pythonモジュール「TensorFlow/Keras」で深層学習(ディープラーニング)を行う方法について入門者向けに使い方を解説します。

コメント