Neural Networkの図、特にConvolutional Neural Networkの図は以下のようなやつでかっこいいです。これを自分のモデルに合わせて自動で書いてくれるものはないかと探しています。結論としては、いいのは見つかりませんでした。でも似たようなものがあったのでメモしておきます。

File:Typical cnn.png

File:Typical cnn.png(16 December 2015) In Wikipedia: The Free Encyclopedia. Retrieved from https://upload.wikimedia.org/wikipedia/commons/6/63/Typical_cnn.png

普通にやると

Neural NetworkをTensorflow(Keras)で作ると、model.summary()でモデルが文字ででてきますよね。

my_model.summary()
Layer (type)Output ShapeParam #
conv2d (Conv2D)(None, 140, 290, 32)11648
activation (Activation)(None, 140, 290, 32)0
max_pooling2d (MaxPooling2D)(None, 70, 145, 32)0
conv2d_1 (Conv2D)(None, 68, 143, 64)18496
activation_1 (Activation)(None, 68, 143, 64)0
max_pooling2d_1 (MaxPooling2)(None, 34, 71, 64)0
flatten (Flatten)(None, 154496)0
dense (Dense)(None, 514)79411458
activation_2 (Activation)(None, 514)0
dropout (Dropout)(None, 514)0
dense_1 (Dense)(None, 10)5150
activation_3 (Activation)(None, 10)0

これを図にしてほしい。tensorflowに、plot_modelというfunctionがあるみたいなので試してみる。

from tensorflow.keras.utils import plot_model
plot_model(my_model, show_shapes=True, show_layer_names=True)

summaryと同じじゃないですか。

visualkerasというパッケージがあるらしい。pip install visualkerasしてから以下のコード。

import visualkeras
visualkeras.layered_view(my_model)

惜しい!けど色が嫌だなぁ。

いい方法があれば教えてください。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

category