Keras中如何使用中级微调?
How to use mid-level fine tuning in Keras?
我的任务是采用 Keras 的预训练网络对航拍图像进行分类(我们有一个包含 30 类航拍图像的数据库,每类包含 200-400 张图像)。
现在,我真正不明白的是下一部分。
我们必须使用较小的图像数据库进行中级微调,其中包含 21 个航拍类别。
我怎样才能做到这一点?
我是否应该尝试在 VGG16 网络上微调较小的数据库,然后保存模型并在其上训练较大的数据库?
我猜他们希望你通过冻结它的前 X 层并只更新最后几层的权重(可能只是最后一层,不确定是什么)来微调训练好的模型 "mid-level fine-tuning" 表示).
您需要使用经过训练的模型并将其最后一层替换为包含 30 个输出的新层,并将其替换为包含 21 个输出的新层。然后您需要冻结所有其他层(新层除外)并在新数据集上训练模型。
在 Keras 中,您只需为每一层设置:"trainable=False"。
How can I "freeze" Keras layers?
我的任务是采用 Keras 的预训练网络对航拍图像进行分类(我们有一个包含 30 类航拍图像的数据库,每类包含 200-400 张图像)。 现在,我真正不明白的是下一部分。
我们必须使用较小的图像数据库进行中级微调,其中包含 21 个航拍类别。
我怎样才能做到这一点?
我是否应该尝试在 VGG16 网络上微调较小的数据库,然后保存模型并在其上训练较大的数据库?
我猜他们希望你通过冻结它的前 X 层并只更新最后几层的权重(可能只是最后一层,不确定是什么)来微调训练好的模型 "mid-level fine-tuning" 表示).
您需要使用经过训练的模型并将其最后一层替换为包含 30 个输出的新层,并将其替换为包含 21 个输出的新层。然后您需要冻结所有其他层(新层除外)并在新数据集上训练模型。
在 Keras 中,您只需为每一层设置:"trainable=False"。 How can I "freeze" Keras layers?