from keras.models import Sequential from keras.layers import Conv2D, MaxPooling2D, Flatten, Dense def generate_vgg16(): input_shape = (224, 224, 3) # 传入宽高为244,通道为3的图 # 定义模型 model = Sequential([ # 定义卷积层,通道书为64, 卷积核为(3 x 3), 激活函数使用relu Conv2D(64, (3, 3), input_shape=input_shape, padding="same", activation="relu"), Conv2D(64, (3, 3), padding="same", activation="relu"), MaxPooling2D(pool_size=(2, 2), strides=(2, 2)), Conv2D(128, (3, 3), padding="same", activation="relu"), Conv2D(128, (3, 3), padding="same", activation="relu"), # 池化层 大小为(2 x 2), 步长为(3 x 3) MaxPooling2D(pool_size=(2, 2), strides=(2, 2)), Conv2D(256, (3, 3), padding="same", activation="relu"), Conv2D(256, (3, 3), padding="same", activation="relu"), Conv2D(256, (3, 3), padding="same", activation="relu"), MaxPooling2D(pool_size=(2, 2), strides=(2, 2)), Conv2D(512, (3, 3), padding="same", activation="relu"), Conv2D(512, (3, 3), padding="same", activation="relu"), Conv2D(512, (3, 3), padding="same", activation="relu"), MaxPooling2D(pool_size=(2, 2), strides=(2, 2)), # 将多维转换为一维化 Flatten(), # 定义全连接层 Dense(4096, activation="relu"), Dense(4096, activation="relu"), Dense(4096, activation="softmax") ]) return model if __name__ == "__main__":
generate_vgg16()
VGG16模型创建
最新推荐文章于 2023-06-26 10:42:01 发布