我有一个语义分割模型,输入是原图和语义分割的标签图,我想通过迁移学习的思想将此语义分割模型改造成图像分类模型。图像分类的待训练图像是和语义分割模型输入的原图是类似的图像,但是语义分割模型的输入标签图跟图像分类的标签是有区别的。那我怎么样才可以把现有的语义分割模型改造成图像分类模型呢?
将语义分割模型中的卷积层作为特征提取器。再训练一个新的分类器,例如全连接层和输出层即可
后面肯定是要新搞个分类的
# 你目前的语义分割网络预测结果 (batch_size=2, num_classes=19) logit_seg = paddle.randn(shape=[2, 19, 512, 512], dtype='float32') # 增加一个全局空间池化 self.avg_pooling = nn.AdaptiveAvgPool2D([1, 1]) # [2, 19, 512, 512] -> [2, 19, 1, 1] -> [2, 19] logit_cls = self.avg_pooling(logit_seg).squeeze() # 计算置信度 pred_cls = F.softmax(logit_cls, axis=1)
后续`pred_cls`和one_hot类别标签计算分类loss就行了。
将语义分割模型中的卷积层作为特征提取器。再训练一个新的分类器,例如全连接层和输出层即可
后面肯定是要新搞个分类的
后续`pred_cls`和one_hot类别标签计算分类loss就行了。