首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在张量流中调整tf-agent和策略的超参数?

如何在张量流中调整tf-agent和策略的超参数?
EN

Stack Overflow用户
提问于 2020-10-28 12:09:15
回答 1查看 246关注 0票数 1

我已经设置了一个包装在张量流类中的python环境,使其成为一个张量流环境。然后,我按照here列出的协作笔记本设置学习。目前,我正在使用dqn和增强剂。

设置运行良好,结果与预期一致。现在我想进入超参数的调整,如衰变的epsilon贪婪,权重等。

我需要一些关于如何使用如何访问这些超参数的文档的指针。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-12 18:06:12

加强不支持epsilon贪婪策略,我建议切换到DQN代理或DDQN。

要传递指定的Q-Network,您可以使用如下内容:

代码语言:javascript
复制
q_network=q_network.QNetwork(
        environment.time_step_spec().observation['observations'],
        environment.action_spec(),
        fc_layer_params=fc_layer_params)

并在初始化时将其传递给您的代理。对于衰减的epsilon-greedy策略,您可以根据自己的喜好定义自己的函数decaying_epsilon(train_step, *kwargs)。然后初始化train_step张量,并通过functools.partial传递它,如下所示:

代码语言:javascript
复制
train_step = tf.Variable(0, trainable=False, name='global_step', dtype=tf.int64)
partial_decaying_eps = partial(decaying_epsilon, train_step *kwargs)

现在您可以将partial_decaying_eps传递给您的代理,它将按预期工作,并随着您的train_step张量逐步更新。不过,一定要把这个相同的train_step张量传递给你的代理。

其他HP可以很容易地修改,只需查看其__init__函数中的DQN文档

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64566325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档