【问题标题】:How to load two neural networks in pytorch如何在pytorch中加载两个神经网络
【发布时间】:2021-08-04 03:18:13
【问题描述】:

假设我有两个 jupyter notebook,一个用于每个神经网络。它们都用于二进制分类。我想结合两个网络的结果,例如我希望x属于一个类的概率为0.2model1(x)+0.8model2(x)。

我保存了两个模型

torch.save(model.state_dict(), 'saved_networks/model1.pt')

现在我看到,为了加载一个模型,我首先必须创建一个此类的对象

model = TheModelClass(*args, **kwargs)
model.load_state_dict(torch.load(PATH))

但是我在两个不同的笔记本中都有这些课程,所以我的问题是一个通常如何处理这种情况?

【问题讨论】:

    标签: python pytorch


    【解决方案1】:

    我建议您在.py 文件中正确编写这两个类。这样你就可以在任何你想要的地方导入这些类(让它成为一个笔记本或另一个 python 文件)。例如,如果您在 models.py 中定义了 Model1Model2 类,则可以导入它们,初始化单独的模型并加载它们各自的状态字典:

    from models import Model1, Model2
    
    model1 = Model1(*args, **kwargs)
    model2 = Model2(*args, **kwargs)
    
    model1.load_state_dict(torch.load(PATH1))
    model2.load_state_dict(torch.load(PATH2))
    

    【讨论】:

      猜你喜欢
      • 2019-05-16
      • 2020-05-08
      • 2018-12-16
      • 2021-07-05
      • 2019-06-01
      • 2021-03-11
      • 2019-03-08
      • 2019-04-13
      • 1970-01-01
      相关资源
      最近更新 更多