如何使用 tensorflow 微调训练好的模型和保存的模型?

Posted

技术标签:

【中文标题】如何使用 tensorflow 微调训练好的模型和保存的模型?【英文标题】:How to fine tune a trained model and saved model with tensorflow? 【发布时间】:2021-10-06 14:20:08 【问题描述】:

我有一个大数据集,我想通过这个数据集训练efficientnetb0,但是 google colab 运行超时,所以我想训练模型的全连接层并保存它,然后在几个小时后再次加载并进行微调基本模型(efficientnetb0)。我该怎么做?

【问题讨论】:

【参考方案1】:

您可以通过以下方式执行此操作。请根据您的要求进行更改。这是起点的快照。

if not os.path.exists('e10.h5'):
    model = get_model() #this method constructs the model and compiles it 
else:
    model = load_model('tf_keras_cifar10.h5') #load the model from file
    print('lr is ', K.get_session().run(model.optimizer.lr))
    initial_epoch=10
    epochs=13

history = model.fit(x_train, y_train, batch_size=batch_size, epochs=epochs,validation_data=(x_test, y_test), initial_epoch=initial_epoch)
model.save('e.h5')

【讨论】:

感谢您的回答。此代码训练整个模型。我想微调我用作自己模型的基本模型的efficientnetb0。换句话说,我想训练模型的某些层。

以上是关于如何使用 tensorflow 微调训练好的模型和保存的模型?的主要内容,如果未能解决你的问题,请参考以下文章

如何微调现有的 TensorFlow 对象检测模型以识别其他类? [关闭]

如何用tensorflow训练模型成pb文件和和如何加载已经训练好的模型文件

基于 Tensorflow 2.x 使用 MobileNetV2 微调模型优化训练花卉图像识别模型

基于 Tensorflow 2.x 使用 MobileNetV2 微调模型优化训练花卉图像识别模型

基于 Tensorflow 2.x 使用 MobileNetV2 微调模型优化训练花卉图像识别模型

如何使用 Tensorflow 2 对象检测 API 恢复微调模型以进行测试?