在 Pytorch 中无需微调即可从预训练模型中获取 128 dim 特征向量

Get a 128 dim feature vector from a pretrained model without fine tuning in Pytorch

我需要一组图像的视觉特征,以便对输入图像进行某种嵌入。我需要的维度是128.

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

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

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