无需在 Pytorch 中进行微调即可从预训练模型中获取 128 个暗淡的特征向量

Posted

技术标签:

【中文标题】无需在 Pytorch 中进行微调即可从预训练模型中获取 128 个暗淡的特征向量【英文标题】:Get a 128 dim feature vector from a pretrained model without fine tuning in Pytorch 【发布时间】:2021-11-24 04:45:13 【问题描述】:

我需要一组图像的视觉特征才能嵌入输入图像。我需要的维度是128。

我想过移除预训练模型(例如 ResNet50)的最后一层,而不是用扁平层替换最后一个全连接层,并对每个图像进行前向传递。问题是,在展平层之后 ResNet50 会给你一个 512 暗淡的特征向量。如果我添加另一个输出昏暗为 128 的全连接层,我需要重新训练和微调网络,因为我正在添加新参数。

有没有什么方法可以在不添加可学习参数的情况下,从最后一层512 dim特征向量得到128 dim特征向量?

【问题讨论】:

【参考方案1】:

您可以对从预训练模型检索到的特征应用主成分分析 (PCA),以将维度减少到 128 个组件。

【讨论】:

以上是关于无需在 Pytorch 中进行微调即可从预训练模型中获取 128 个暗淡的特征向量的主要内容,如果未能解决你的问题,请参考以下文章

Pytorch Note56 Fine-tuning 通过微调进行迁移学习

Pytorch练手项目二——模型微调

Keras - 分类器未从预训练模型的转移值中学习

持续预训练与使用 MLM 微调语言模型

python 使用PyTorch微调预先训练的模型

gensim doc2vec 从预训练模型中训练更多文档