卷积神经网络模型创建:使用 Keras 的 Sequential API
def create_model():
# 定义顺序模型
model = Sequential([
# 添加一个卷积层,设置输出的形状为(150,150,3)和一个过滤器数量为128的卷积核的大小为5x5。
Conv2D(filters=128, kernel_size=(5, 5), padding='valid', input_shape=(150,150,3)),
# 使用relu激活函数对上一层产生的卷积结果进行非线性变换。
Activation('relu'),
# 对所得到的特征图使用 2×2 平均池化操作,这个层可以大大缩小下一层的计算量并防止过拟合。
MaxPooling2D(pool_size=(2, 2)),
# 添加第二个卷积层,添加正则化通过L2惩罚减少过拟合
Conv2D(filters=64, kernel_size=(3, 3), padding='valid', kernel_regularizer=l2(0.00005)),
# 使用relu激活函数对上一层产生的卷积结果进行非线性变换。
Activation('relu'),
# 对所得到的特征图使用 2×2 平均池化操作,最大池化层
MaxPooling2D(pool_size=(2, 2)),
# 添加第三个卷积层,添加正则化通过L2惩罚减少过拟合
Conv2D(filters=64 , kernel_size=(3, 3), padding='valid', kernel_regularizer=l2(0.00005)),
# 使用relu激活函数对上一层产生的卷积结果进行非线性变换。
Activation('relu'),
# 对所得到的特征图使用 2×2 平均池化操作,最大池化层
MaxPooling2D(pool_size=(2, 2)),
#展平张量
Flatten(),
#全连接层
Dense(units=512, activation='relu'),
Dropout(0.3),
Dense(units=256, activation='relu'),
Dropout(0.4),
Dense(units=5, activation='softmax')
])
return model
原文地址: http://www.cveoy.top/t/topic/pggs 著作权归作者所有。请勿转载和采集!