Barebone DQN में action चयन
select_action() फंक्शन एजेंट को हर स्टेप पर सबसे अधिक Q-value वाली action चुनने देता है.
यह फंक्शन Q-network और current state को आर्ग्यूमेंट के रूप में लेता है, और सबसे अधिक Q-value वाली action का इंडेक्स लौटाता है.
Q-network को q_network के रूप में instantiate किया गया है, और आपके एन्वायरनमेंट में उदाहरण डेटा के लिए एक random state state = torch.rand(8) के साथ लोड की गई है ताकि आप उस पर काम कर सकें.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Deep Reinforcement Learning
अभ्यास निर्देश
- दिए गए state आर्ग्यूमेंट के लिए प्रत्येक action से संबंधित Q-values की गणना करें.
- सबसे अधिक Q-value वाली action के अनुरूप इंडेक्स प्राप्त करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
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)