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