冻结网络是希望在训练的过程中该部分网络的参数不参与模型的训练,也就是在BP反向传播的时候参数不参与更新。 简单的办法就是将可训练的参数从模型优化中除去,以下就是在tensorflow中实现。
update_var_list = [] *#该list中的变量参与参数更新* tvars = tf.trainable_variables() for tvar in tvars: if "bert" not in tvar.name: update_var_list.append(tvar) train_op = tf.train.AdamOptimizer(FLAGS.lr).minimize(loss, global_step=global_step, var_list=update_var_list)