显示效果
Show me the code
导包
# 顺序模型
from keras import Sequential
# 全连接层,卷积层,池化层,扁平化层,Dropout
from keras.layers import Dense, Conv2D, MaxPool2D, Flatten, Dropout, Convolution2D, InputLayer
# 优化器
from keras.optimizers import Adam
# utils
from keras import utils
import numpy as np
import matplotlib.pyplot as plt
定义神经网络并显示神经网络信息
####### 建立网络 ######
rows = 28
cols = 28
# 顺序模型
model = Sequential()
# 卷积,池化部分
model.add(InputLayer(input_shape= (rows, cols, 1), name= "input"))
model.add(Convolution2D(filters= 32, kernel_size= 5, strides= 1,
activation= "relu", padding= "same"))
model.add(MaxPool2D(pool_size= 2, strides= 2, padding= "same"))
model.add(Conv2D(filters= 64, kernel_size= 5, strides= 1,
activation= "relu", padding= "same"))
model.add(MaxPool2D(pool_size= 2, strides= 2, padding= "same"))
model.add(Dropout(0.25))
# 扁平化
model.add(Flatten())
# 全连接部分
model.add(Dense(128, activation= "relu"))
model.add(Dropout(0.5))
model.add(Dense(128, activation= "relu"))
model.add(Dropout(0.5))
model.add(Dense(10, activation= "softmax"))
######################
# 设置优化器
adam = Adam()
# 整合模型
model.compile(optimizer= adam,
loss= "categorical_crossentropy",
metrics=["accuracy"])
# 保存模型结构图片
utils.vis_utils.plot_model(model,
show_layer_names= True,
show_shapes= True)
img = plt.imread("./model.png")
plt.figure(figsize= (20, 20))
plt.imshow(img)
plt.axis("off")
plt.show()