开始使用免费开始使用

精简版 DQN 动作选择

select_action() 函数让智能体在每一步选择 Q 值最高的动作。

该函数以 Q 网络和当前状态为参数,返回 Q 值最高的动作索引。

Q 网络已实例化为 q_network,并在您的环境中加载了一个随机状态 state = torch.rand(8),以便为您提供示例数据。

本练习是课程的一部分

Python 中的深度强化学习

查看课程

练习说明

  • 计算作为参数提供的状态下,每个动作对应的 Q 值。
  • 获取 Q 值最高的动作对应的索引。

交互式实操练习

通过完成这段示例代码来试试这个练习。

def select_action(q_network, state):
    # Calculate the Q-values
    q_values = ____
    print("Q-values:", [round(x, 2) for x in q_values.tolist()])
    # Obtain the action index with highest Q-value
    action = torch.____.item()
    print(f"Action selected: {action}, with q-value {q_values[action]:.2f}")
    return action

select_action(q_network, state)
编辑并运行代码