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
卷积神经网络模型创建:使用 Keras 的 Sequential API

原文地址: http://www.cveoy.top/t/topic/pggs 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录