【问题标题】:Load pretrained pytorch model加载预训练的 pytorch 模型
【发布时间】:2021-04-05 20:13:36
【问题描述】:

虽然这个问题看起来很简单,但在其他地方找不到这个解决方案。

我有一个 pytorch (.pt) 文件,我正在尝试加载它。我知道我需要先通过做来构建模型

model = MyModel()

但是我的 pytorch 文件构建了一个模型 (se_resnext101_32x4d),我没有为其创建一个类。因此,当我尝试这样做时

model = se_resnext101_32x4d()

我收到一个错误

name 'se_resnext101_32x4d' is not defined

我试过了

import pretrainedmodels

model = pretrainedmodels.__dict__[se_resnext101_32x4d]()

但错误仍然存​​在。

【问题讨论】:

  • 你试过了吗:from your_file_name import se_resnext101_32x4d()
  • 您的.pt 文件仅包含模型状态(参数)而不是模型结构,即前向定义。如果这是您所要求的,则不能仅使用其状态初始化 nn.Module。你从哪里得到这个.pt 文件?

标签: python pytorch torch


【解决方案1】:

经过一番搜索,您似乎正在尝试使用 this package,其中包含预训练模型和用于下载和使用它们的 API。根据their documentation,您可以像这样加载模型:

import pretrainedmodels

Model = pretrainedmodels.__dict__['se_resnext101_32x4d']
model = Model(num_classes=1000, pretrained='imagenet')
model.eval()

如果您还没有安装 pip 包,请不要忘记:

pip install pretrainedmodels

【讨论】:

    猜你喜欢
    • 2020-02-07
    • 2019-07-17
    • 2021-07-16
    • 2020-07-27
    • 2019-09-11
    • 2018-02-20
    • 2019-09-09
    • 1970-01-01
    • 2021-11-18
    相关资源
    最近更新 更多