tf-agent, QNetwork => DqnAgent w/ tfa.optimizers.CyclicalLearningRate

tf-agent, QNetwork => DqnAgent w/ tfa.optimizers.CyclicalLearningRate

是否有简单的本机方法来实现 tfa.optimizers.CyclicalLearningRate w/ QNetwork on DqnAgent

试图避免编写我自己的 DqnAgent。

我想更好的问题可能是,在 DqnAgent 上实现回调的正确方法是什么?

根据您链接的教程,他们设置优化器的部分是

optimizer = tf.compat.v1.train.AdamOptimizer(learning_rate=learning_rate)

train_step_counter = tf.Variable(0)

agent = dqn_agent.DqnAgent(
    train_env.time_step_spec(),
    train_env.action_spec(),
    q_network=q_net,
    optimizer=optimizer,
    td_errors_loss_fn=common.element_wise_squared_loss,
    train_step_counter=train_step_counter)

agent.initialize()

所以您可以用您愿意使用的任何优化器替换优化器。基于 documentation 类似于

optimizer = tf.keras.optimizers.Adam(learning_rate=tfa.optimizers.CyclicalLearningRate)

应该可以,除非他们在教程中使用的是 tf 1.0 adam,因此存在任何潜在的兼容性问题。