Neural Networkの図、特にConvolutional Neural Networkの図は以下のようなやつでかっこいいです。これを自分のモデルに合わせて自動で書いてくれるものはないかと探しています。結論としては、いいのは見つかりませんでした。でも似たようなものがあったのでメモしておきます。
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 Shape | Param # |
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)
惜しい!けど色が嫌だなぁ。
いい方法があれば教えてください。