先用nadam收敛
然后最后想再用SGD跑一下
如果修改优化器?
定义两个优化器
adam_optimizer = tf.keras.optimizers.Adam(...)
sgd_optimizer = tf.keras.optimizers.SGD(...)
然后按需使用就可以了。比如
for batch_id in range(num_batches):
....
if batch_id < threshold:
adam_optimizer.apply_gradients(grads_and_vars=zip(grads, model.variables))
else:
sgd_optimizer.apply_gradients(grads_and_vars=zip(grads, model.variables))
不过训练中途切换优化器这种事情我没有做过,可能需要你试一下。
1 Like