keras的模型可视化

参考:https://blog.csdn.net/chenxy_bwave/article/details/121955478


from tensorflow.keras import utils
utils.plot_model(model, 'model_cnnppt.png',show_shapes=True,show_dtype=True,show_layer_names=True)

两行代码,效果惊艳。
keras的模型可视化_第1张图片

但是这样也有一个弊病,就是图太长了。
我们可以用这个网站作图
http://alexlenail.me/NN-SVG/LeNet.html
也可以本地使用:

git clone https://github.com/alexlenail/NN-SVG

然后直接点开index.html

根据代码,我们填写参数,使用lenet

model.add(Conv2D(32, (3, 3), input_shape=(150, 150, 3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2), strides=2))
model.add(Dropout(0.05))

model.add(Conv2D(32, (3, 3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2), strides=2))
model.add(Dropout(0.05))

model.add(Conv2D(64, (3, 3),activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2), strides=2))
model.add(Dropout(0.2))

model.add(Conv2D(64, (3, 3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2), strides=2))
model.add(Dropout(0.2))

model.add(Flatten())

model.add(Dense(128, activation='relu'))
model.add(Dropout(0.2))

model.add(Dense(num_classes, activation="softmax"))

美中不足是不能显示dropout的过程。
这个https://github.com/alexlenail/NN-SVG
也能画,画出来也很好看,但是美中不足是网络较大就会出错,导出svg不正常。
因此有的参数我略做了修改
keras的模型可视化_第2张图片
然后后面我们修改图中文字
keras的模型可视化_第3张图片

http://www.graphviz.org/
我们也可以用这个画
但是这个也比较麻烦

你可能感兴趣的:(机器学习,keras,深度学习,tensorflow)