Ep: 1 Ep_r: nan Average reward: nan critic loss: nan cost of six microgrids: nan
时间: 2024-05-21 14:13:30 浏览: 77
这看起来像是一个强化学习算法的输出结果。Ep表示episode,Ep_r表示episode的回报,Average reward表示平均回报,critic loss表示评论家(critic)的损失,cost of six microgrids表示六个微电网的成本。然而,这里所有的值都是NaN,这意味着输出结果存在问题,可能是由于算法未收敛或者代码存在bug导致的。需要检查代码并重新运行算法。
相关问题
GoTo_router(item){ console.log(item,'去跳转页面') console.log(item.router.split('goodsId=')[1],'sss') if(item.router.split('goodsId=')[1]){ console.log('2.0') this.$navTo(item.router,{data:JSON.stringify({ reward_value:item.reward_value, reward_card_name:item.reward_card_name, reward_kind_name:item.reward_kind_name, status:item.status, card_id:item.card_id, id:item.id, card_type:item.card_type, link:true})}) } else { console.log('路由地址') this.$navTo(item.router) } },
这是一个关于 JavaScript 的问题,我可以回答。这段代码是一个函数,当传入一个参数 item 时,会根据 item 中的 router 属性进行页面跳转。如果 router 中包含 goodsId,则会将一些数据以 JSON 格式传递给目标页面,否则直接跳转到 router 指定的页面。
while not ep_done: num_steps += 1 if train_params.RENDER: self.env_wrapper.render() action = self.sess.run(self.actor_net.output, {self.state_ph:np.expand_dims(state, 0)})[0] # Add batch dimension to single state input, and remove batch dimension from single action output action += (gaussian_noise() * train_params.NOISE_DECAY**num_eps) next_state, reward, terminal = self.env_wrapper.step(action) episode_reward += reward next_state = self.env_wrapper.normalise_state(next_state) reward = self.env_wrapper.normalise_reward(reward) self.exp_buffer.append((state, action, reward)) if len(self.exp_buffer) >= train_params.N_STEP_RETURNS: state_0, action_0, reward_0 = self.exp_buffer.popleft() discounted_reward = reward_0 gamma = train_params.DISCOUNT_RATE for (_, _, r_i) in self.exp_buffer: discounted_reward += r_i * gamma gamma *= train_params.DISCOUNT_RATE run_agent_event.wait() PER_memory.add(state_0, action_0, discounted_reward, next_state, terminal, gamma) state = next_state
这段代码是主循环中的一部分,其中包含了执行动作、观察环境、更新经验缓存等操作。具体来说,算法执行以下步骤:
1. 累计步数;
2. 如果需要渲染环境,则渲染环境;
3. 使用Actor网络计算当前状态的动作;
4. 对动作添加高斯噪声;
5. 执行动作并观察新状态和奖励;
6. 累计回报;
7. 对新状态进行归一化处理;
8. 对奖励进行归一化处理;
9. 将经验添加到经验缓存中;
10. 如果经验缓存已满,则计算N步回报,并将经验添加到优先经验回放缓存中;
11. 更新状态。
在这个过程中,Actor网络用于计算当前状态下的动作,而高斯噪声则用于增加探索性,以便算法能够更好地探索环境。在执行动作之后,算法会观察新状态和奖励,并将它们添加到经验缓存中。如果经验缓存已满,算法会计算N步回报,并将经验添加到优先经验回放缓存中。最后,算法会更新状态并继续执行主循环。
阅读全文