[SiamFC++代码]通过配置文件yaml实现特定网络的参数冻结
配置文件
训练(AlexNet)采用的配置文件路径是 :
根目录/models/siamfcpp/train/got10k/siamfcpp_alexnet-trn.yaml
其中负责控制参数冻结的部分在尾部:
实现类:
由于不清楚其控制逻辑,所以我断点调试找到了具体执行的实现类:
根目录/siamfcpp/optim/grad_modifier/grad_modifier_impl/utils/freeze.py
具体实现代码在dynamic_freeze中。
打印出来可以看到
实现了对Backbone各层参数的冻结
可以得知,其命名与model类中各成员名称相同。
测试
对配置文件进行下列修改:
准备对head部分所有的参数进行冻结。(.*) 表示所有成员
测试结果如下:
可以看到Head部分所有参数都已冻结,因此只需要按照格式,写出你需要冻结的部分名称即可。
以下是model所包含的成员: