繁体   English   中英

如何在 PyTorch 中加载部分训练的 model?

[英]How can I load a partially trained model in PyTorch?

为简单起见,假设我正在加载的 model 有 4 层(层 0、层 1、层 2、层 3)。 如果我只希望对 model 进行预训练,例如 layer0 和 layer1,但随机初始化 layer2 和 layer3 的参数,我该怎么做?

您可以通过冻结您希望它不更改的层(预训练)并让其他层保持未冻结(它们将继续训练)来做到这一点

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 层。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM