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,因此存在任何潜在的兼容性问题。
是否有简单的本机方法来实现 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,因此存在任何潜在的兼容性问题。