cnn.add(layers.Max Pooling2D((2, 2))) # 最大池化层 cnn.add(layers.Conv2D(64, (3, 3), activation='relu')) # 卷积层 cnn.add(layers.Dropout(0.5)) # Dropout层 cnn.add(layers.Max Pooling2D((2, 2))) # 最大池化层 cnn.add(layers.Conv2D(128, (3, 3), activation='relu')) # 卷积层 cnn.add(layers.Dropout(0.5)) # Dropout层 cnn.add(layers.Max Pooling2D((2, 2))) # 最大池化层 cnn.add(layers.Conv2D(256, (3, 3), activation='relu')) # 卷积层 cnn.add(layers.Max Pooling2D((2, 2))) # 最大池化层 cnn.add(layers.Flatten()) # 展平层 cnn.add(layers.Dropout(0.5)) # Dropout cnn.add(layers.Dense(512, activation='relu')) # 全连接层 cnn.add(layers.Dense(10, activation='sigmoid')) # 分类输出 cnn.compile(loss='categorical_crossentropy', # 损失函数