शुरू करेंमुफ़्त में शुरू करें

REINFORCE में एक्शन चयन

REINFORCE का select_action फंक्शन लिखिए, जिसे आपका REINFORCE एजेंट हर स्टेप पर एक्शन चुनने के लिए उपयोग करेगा.

DQN में, नेटवर्क का forward pass Q-values लौटाता था; REINFORCE में, यह action probabilities लौटाता है, जिनसे सीधे एक्शन सैम्पल किया जा सकता है.

एक policy नेटवर्क और एक state आपके environment में लोड कर दिए गए हैं.

torch.distributions.Categorical को Categorical के रूप में import किया गया है.

यह अभ्यास पाठ्यक्रम का हिस्सा है

Python में Deep Reinforcement Learning

पाठ्यक्रम देखें

अभ्यास निर्देश

  • action probabilities को एक torch tensor के रूप में प्राप्त करें.
  • इन probabilities के अनुरूप torch Distribution प्राप्त करें.
  • distribution से एक action सैम्पल करें.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

def select_action(policy_network, state):
  # Obtain the action probabilities
  action_probs = ____
  print('Action probabilities:', action_probs)
  # Instantiate the action distribution
  action_dist = Categorical(____)
  # Sample an action from the distribution
  action = ____
  log_prob = action_dist.log_prob(action)
  return action.item(), log_prob.reshape(1)

state = torch.rand(8)
action, log_prob = select_action(policy_network, state)
print('Sampled action index:', action)
print(f'Log probability of sampled action: {log_prob.item():.2f}')
कोड संपादित करें और चलाएँ