在Keras中,主要有两种类型的模型:
顺序模型(Sequential):顺序模型是线性堆叠的模型,即各层之间是依次顺序的线性关系。模型的结构通过一个列表来定义,这种模型适用于简单的体系结构。
如下代码是实现CIFAR10数据集分类任务的CNN模型的构建,使用的是tensorflow2.10 keras中的Sequential模型
model = models.Sequential()
model.add(layers.Conv2D(32, (3, 3),strides=(1,1),padding='same', activation='relu', input_shape=(32, 32, 3)))
model.add(tf.keras.layers.Dropout(0.5))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
model.add(tf.keras.layers.Dropout(0.5))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(64, (3, 3), activation='relu'))
# 全连接层
model.add(layers.Flatten())
model.add(layers.Dense(64, activation='relu')) # 全连接网络层 64个神经元
# model.add(layers.Dense(10)) # 输出层 这里没使用激活函数softmax 所有配置模型时 from_logits = True
model.add(layers.Dense(10,activation=