【发布时间】:2020-01-23 09:59:30
【问题描述】:
我正在以这种方式创建一个内置的火炬模型:
m = torchvision.models.resnet50()
然后我想使用变量 m 发现模型的名称(在本例中为 resnet50)。
当打电话给type(m) 我得到torchvision.models.resnet.ResNet 这几乎是答案,但深度对我来说也很重要。我可以尝试迭代m.modules(以这种方式有 151 个模块长)并推断 resblocks 深度,但这在其他模型(如 inception、alexnet 等)中的工作方式完全不同。
【问题讨论】:
-
答案
ResNet还不够“50”吗? -
@Shai 没错
-
由于不同
ResNet模型之间的唯一区别在于它们的layers配置,因此您的解决方案很可能会专门针对ResNet量身定制。 -
@Shai 没错。所以这就是为什么我要求一种更通用的方法来做到这一点,所以如果我以后将我的模型更改为另一种模型,我将获得全名而无需进一步计算层
-
你可以在上面写包装模型并添加名称属性吗?
标签: python pytorch torchvision