问题描述
我使用 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
000Traceback (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 (将#修改为@)