背景 修改Embedding层。从预训练模型加载除了Embedding层以外的所有权重。 报错 到self.optimizer.step()这一步报错。 内容是 维度不匹配。 排错过程 维度不匹配,检查所有的输入,发现输入没有问题。检查优化器,可能是优化器套用了以前的配置,因为以前的维度是2,现在的维度是6,的确不匹配。检查权重加载,果然是优化器加载了之前的优化器的配置,这样就把配置给继承了。去除优化器加载权重,错误排除。 结论 修改了模型后,优化器不要加载之前的配置。