Keras-RL:ValueError:概率在 policy.py 中包含 NaN

问题描述

我使用 openai 健身房创建了一个环境,现在我正在尝试不同的设置和代理。 我从 dqn_cartpole 示例 (https://github.com/wau/keras-rl2/blob/master/examples/dqn_cartpole.py) 中的代理开始。在某些时候,由于 NaN 值,q 值的计算失败。我在下面的设置中添加了我的 Traceback 和小的更改。

与 dqn_cartpole 示例相比,我的设置:

密集层:我选择了 256、64、16 而不是 16、16、16

policy = BoltzmannQPolicy()
dqn = DQNAgent(model=model,nb_actions=nb_actions,memory=memory,nb_steps_warmup=50000,target_model_update=1e-2,policy=policy)
dqn.compile(Adam(lr=1e-3),metrics=['mae'])
dqn.fit(env,nb_steps=500000,visualize=False,verbose=2)

• 出错前的最后一个训练集:497280/500000:集:2960,持续时间:13.926s,集步:168,每秒步数:12,集奖励:47056.579,平均奖励:280.099 [-10229.0900,000.平均行动:45.298 [0.000,96.000],损失:60564033920565248.000000,mae:3245972224.000000,mean_q:3358134010

000
Traceback (most recent call last):
  File "~environment.py",line 125,in
    dqn.fit(env,verbose=2)
  File "~\python_env\lib\site-packages\rl\core.py",line 169,in fit
    action = self.forward(observation)
  File "~\python_env\lib\site-packages\rl\agents\dqn.py",line 227,in forward
    action = self.policy.select_action(q_values=q_values)
  File "~\python_env\lib\site-packages\rl\policy.py",in select_action
    action = np.random.choice(range(nb_actions),p=probs)
  File "mtrand.pyx",line 928,in numpy.random.mtrand.RandomState.choice
ValueError: probabilities contain NaN

我在使用 epsgreedyQPolicy 时没有收到此错误。有没有可能理解为什么会产生 NaN 以及如何避免它们?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)