Freeze partial parameters while training

Posted hizhaolei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Freeze partial parameters while training相关的知识,希望对你有一定的参考价值。

1. requires_grad = False

Set all parameters in the current model frozen:

for p in self.parameters():
    p.requires_grad = False

 

Filter some specific layers by name to be frozen:

for n, m in self.named_modules():
    if ‘stc‘ not in n:
        for p in m.parameters():
            p.requires_grad = False
    else:
        for p in m.parameters():
            p.requires_grad = True

 

2. Filter out unfrozen parameters, pass it to the optimizer

if args.freeze_backbone_update:
    optimizer = torch.optim.SGD(filter(lambda para: para.requires_grad, org_model.parameters()),
                                args.lr,
                                momentum=args.momentum,
                                weight_decay=args.weight_decay)
else:
    optimizer = torch.optim.SGD(org_model.parameters(),
                                args.lr,
                                momentum=args.momentum,
                                weight_decay=args.weight_decay)

 

以上是关于Freeze partial parameters while training的主要内容,如果未能解决你的问题,请参考以下文章

cx_Freeze 不工作 - 没有名为 cx_Freeze 的模块

cx_Freeze:主脚本中的 Python 错误。 Python 3.6 + cx_Freeze

.net partial 用法

cx_Freeze 可执行文件在使用 multiprocessing 和 freeze_support 时运行多个任务

cx_freeze 错误“cx_Freeze.freezer.ConfigError:没有名为控制台的基础”

使用 cx_freeze 后不会出现 QGraphicsPixmapItem