Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tensorflow 访问优化器内部状态_Tensorflow_Optimization_Ray_Adam - Fatal编程技术网

Tensorflow 访问优化器内部状态

Tensorflow 访问优化器内部状态,tensorflow,optimization,ray,adam,Tensorflow,Optimization,Ray,Adam,我正在使用Ray/RLLib中的DQN代理。为了更深入地了解培训过程是如何进行的,我想访问Adam优化器的内部状态,例如可视化梯度的运行平均值是如何随时间变化的。请参见下面的最小代码段以获取说明 agent = DQNAgent(config=agent_config, env=self.env) episode_results = [] for i in range(int(budget)): # add epoch results to resul

我正在使用Ray/RLLib中的DQN代理。为了更深入地了解培训过程是如何进行的,我想访问Adam优化器的内部状态,例如可视化梯度的运行平均值是如何随时间变化的。请参见下面的最小代码段以获取说明

    agent = DQNAgent(config=agent_config, env=self.env)

    episode_results = []

    for i in range(int(budget)):
        # add epoch results to result list
        episode_results.append(agent.train())
        # add internal values of the optimizer
        episode_results[-1]['g_avg'] = None
        episode_results[-1]['g_square_avg'] = None
但是,我无法访问Adam优化器。由于它是使用代理策略图的“optimizer”函数构造的,然后存储在_optimizer成员变量中(根据TFPolicy_图构造函数),因此我的本能是通过

agent._policy_graph._optimizer
。 从dqn代理策略图:

@override(TFPolicyGraph)
def optimizer(self):
       return tf.train.AdamOptimizer(
            learning_rate=self.config["lr"],
            epsilon=self.config["adam_epsilon"])  
从TFPolicyGraph构造函数:

self._optimizer = self.optimizer()
这给了我:

AttributeError: type object 'DQNPolicyGraph' has no attribute '_optimizer'
建议使用
agent.local\u evaluator
,但是我在其中找不到Adams状态

也许这只是我对Rays架构的误解。有人能帮我吗


谢谢你,祝你今天愉快

TF optimizer对象可通过
代理访问。get_policy()。_optimizer

您以前看到“无属性\u优化器”的原因是
\u policy\u graph
是策略类,而不是对象实例,它存在于
本地\u求值器.policy\u map
或通过
代理.get\u policy()