如何在PyTorch中加载经过部分训练的模型?

时间:2020-06-30 14:25:10

标签: python machine-learning deep-learning neural-network pytorch

为了简单起见,假设我正在加载的模型有4层(layer0,layer1,layer2,layer3)。如果我只希望模型针对诸如layer0和layer1进行预训练,但具有对layer2和layer3进行随机初始化的参数,那我该怎么做呢?

1 个答案:

答案 0 :(得分:1)

您可以通过冻结不希望更改(预训练)的层并使其不冻结(它们将继续训练)来实现

model_ft = models.resnet50(pretrained=True)
ct = 0
for child in model_ft.children():
    ct += 1
    if ct < 7:
        for param in child.parameters():
            param.requires_grad = False

这将冻结Resnet50总共10层中的1-6层。