一.Python代码
#!/usr/bin/env python3
# encoding: utf-8
'''
@file: Keras_CNN.py
@time: 2020/6/21 0021 10:43
@author: Jack
@contact: jack18588951684@163.com
'''
from keras.utils import plot_model
from keras.models import Model
from keras.layers import Input,Dense
from keras.layers.convolutional import Conv2D
from keras.layers.pooling import MaxPool2D
visible = Input(shape=(64,64,1))
conv1 = Conv2D(32,kernel_size=4,activation='relu')(visible)
pool1 = MaxPool2D(pool_size=(2,2))(conv1)
conv2 = Conv2D(16,kernel_size=4,activation='relu')(pool1)
pool2 = MaxPool2D(pool_size=(2,2))(conv2)
hidden1 = Dense(10,activation='relu')(pool2)
output = Dense(1,activation='sigmoid')(hidden1)
model = Model(inputs=visible,outputs=output)
## summarize layers
model.summary()
## plot graph
plot_model(model,to_file='convolutional_neural_network.png')
二.代码说明
代码用Keras定义用于图像分类的卷积神经网络,该模型接收黑白(64x64)图像作为输入,然后用两个卷积和最大池化层的序列作为特征提取器,最后用全连接层来解释特征,输出层具有S形激活用于二分类预测。
三.结果输出