python - 如何在训练期间保持模型固定?
问题描述
我正在尝试实现一个模型,该模型使用来自不同数据集上的多个预训练 BERT 模型的编码,并使用全连接层获得组合表示。在这一点上,我希望 BERT 模型应该保持固定,并且只有完全连接的层应该得到训练。是否有可能在拥抱面部变形金刚中实现这一点?我没有看到任何允许我这样做的标志。
PS:我不想转储每个 BERT 模型的输入编码并将它们用作输入。
解决方案
一个简单的解决方案是在传递给优化器时仅排除与 BERT 模型相关的参数。
param_optimizer = [x for x in param_optimizer if 'bert' not in x[0]]
optimizer = AdamW(param_optimizer, lr)
推荐阅读
- django - 如何将多个 Raspberry Pi (v3) 连接到 Django 以进行 SPA
- laravel - 如何提高laravel项目在移动端的页面加载速度
- c# - C# 进程是否在从 R 脚本输出读取的字符串中重新转义字符?
- python - python3 utf-8 字符串保存到 utf-8?
- css - 使用 react 以编程方式更改 CSS Stylesteet 初始值
- swift - 如何在if语句外部定义var并在外部使用
- c# - 如何比较两个代表c#中数字的字符串?
- java - Cucumber 不会在 intelliJ 中设置 - 似乎不认识 Gherkin
- angular - Angular 5调用函数并在一段时间后退出
- c# - 如果数据表没有列名,如何删除空列,并且列的索引在c#中是动态的