from tensorflow.keras.applications.inception_v3 import InceptionV3
base_model = InceptionV3(weights='imagenet', include_top=False)
# x = base_model.output
# predictions = Dense(7, activation='softmax')(x)
# model = Model(inputs=base_model.input, outputs=predictions)
# 添加自定义分类层
x = base_model.output
x = tf.keras.layers.GlobalAveragePooling2D()(x)
x = tf.keras.layers.Dense(1024, activation='relu')(x)
predictions = tf.keras.layers.Dense(7, activation='softmax')(x)
model = tf.keras.Model(inputs=base_model.input, outputs=predictions)
print('---------------------------------------------模型搭建--------------------------------------------')
# model = InceptionV3(weights='imagenet')
# model = GoogLeNet(im_height=224,im_width=224,class_num=7,aux_logits=True) # 实例化模型
model.build((32,299,299,3))
model.summary()
# 编译模型
model.compile(
optimizer='adam',
loss='categorical_crossentropy',
metrics=['accuracy']
)
history = model.fit(
train_dataset,
epochs=1000,
validation_data=val_dataset
)
搭建inceptionV3加载imagenet预训练权重实现迁移学习
于 2023-04-10 13:40:56 首次发布