首页 > 解决方案 > 计算神经网络中的参数个数

问题描述

我想知道如果我们更改模型的输入大小,ResNet18、Vgg16 和 DenseNet201 等模型中的参数数量会改变吗?

我确实使用以下命令测量了参数的数量

pytorch_total_params = sum(p.numel() for p in model.parameters() if p.requires_grad)

另外,我试过这个片段,参数的数量没有因不同的输入大小而改变

import torchvision.models as models
model= models.resnet18(pretrained = False)
model.cuda()
summary(model, (1,64,64))

标签: neural-networkpytorch

解决方案


不,它不会。模型的参数的目的是在输入在网络管道内传播时对其进行处理。

参数大多被训练来服务于它们的目的,这是由训练任务定义的。考虑根据输入增加参数数量?他们的价值观是什么?他们会是随机的吗?这个具有新值的新参数将如何影响模型的推断?

对模型的微调、训练有素的参数进行如此突然、随机的更改是不切实际的。也许还有一些我不知道的其他算法,它们会根据输入改变它们的参数集合。但是已经提到的架构不支持这样的功能。


推荐阅读