Machine learning 使用预训练网络(Pytork)的分类器需要什么输入形状?

Machine learning 使用预训练网络(Pytork)的分类器需要什么输入形状?,machine-learning,deep-learning,pytorch,Machine Learning,Deep Learning,Pytorch,我对deeplearning、python和pytorch还比较陌生,所以请容忍我 我试图用两种不同的预训练网络:Vgg11和Densenet121来理解Pytorch中的迁移学习。 我已经通过上述网络的“特征”部分运行了形状数据(3 x 224 x 224),输出形状如下: Vgg11特性输出形状:512 x 7 x 7 Densenet121具有输出形状:1024 x 7 x7 现在,我正在尝试制作自己的分类器来代替预先训练好的分类器。检查两个预训练分类器后,我发现Vgg11分类器在第一层中

我对deeplearning、python和pytorch还比较陌生,所以请容忍我

我试图用两种不同的预训练网络:Vgg11和Densenet121来理解Pytorch中的迁移学习。 我已经通过上述网络的“特征”部分运行了形状数据(3 x 224 x 224),输出形状如下:

Vgg11特性输出形状:512 x 7 x 7

Densenet121具有输出形状:1024 x 7 x7

现在,我正在尝试制作自己的分类器来代替预先训练好的分类器。检查两个预训练分类器后,我发现Vgg11分类器在第一层中有:

(0):线性(输入特征=25088,输出特征=4096,偏差=True)

而Densenet121在第一层中具有:

(分类器):线性(输入特征=1024,输出特征=1000,偏差=True))

Vgg是有意义的,因为如果将“特性”部分的输出展平,则得到512 x 7 x 7=25088

丹森一号怎么只有1024维?如果将其“特征”部分的输出展平,则得到1024 x 7 x 7=50176

是否有我遗漏的步骤?有没有办法检查每一层的输入和输出形状,并找出到底发生了什么


谢谢。

如中表1所述,DenseNet-121使用了一种称为的方法,这是一种极端的合并方式,其中维度
d x h x w
的张量减少为
d x 1 x 1

维卡斯,谢谢你!这似乎是拼图中缺失的一部分!:)你是否介意进一步解释为什么它被认为是极端的?很乐意帮忙!它被认为是一种极端的池化方式,因为与标准或平均池化方式不同,这种方法将整个激活映射压缩为一个值。因此,根据公式,如果有12个叠加的激活图,每个图的大小为24x24,每个这样的图都被压缩成一个值。然后输出变成12 x 1 x 1,这是从12 x 24 x 24的巨大跳跃。