首页 > 解决方案 > 如何从模型本身发现火炬模型名称?

问题描述

我正在以这种方式创建一个内置的火炬模型:

m = torchvision.models.resnet50()

然后我想使用变量 m 发现模型的名称(在本例中为 resnet50)。打电话时,type(m)我得到torchvision.models.resnet.ResNet的答案几乎是答案,但深度对我来说也很重要。我可以尝试迭代m.modules(以这种方式有 151 个模块长)并推断 resblocks 深度,但这在其他模型(如 inception、alexnet 等)中的工作方式完全不同。

标签: pythonpytorchtorchvision

解决方案


如果我们查看这里的代码,ResNet50 就是一个函数的名称。

所以唯一的方法是上面 Umang Gupta 建议的方法:编写一个 Wrapper 模型

model = torchvision.models.resnet50()
model.name = 'Resnet-50'

推荐阅读