精简版 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)