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

DRL training loop

एजेंट को environment को बार-बार अनुभव करने देने के लिए, आपको एक training loop सेट करना होगा.

कई DRL एल्गोरिदम में यह मुख्य संरचना समान होती है:

  1. episodes पर लूप चलाएँ
  2. हर episode के अंदर steps पर लूप चलाएँ
  3. हर step पर कोई action चुनें, loss निकालें, और नेटवर्क अपडेट करें

आपको placeholder select_action() और calculate_loss() फंक्शन दिए गए हैं जिनसे कोड चल सके. पिछले अभ्यास में परिभाषित Network और optimizer भी उपलब्ध हैं.

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

Python में Deep Reinforcement Learning

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

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

  • सुनिश्चित करें कि बाहरी लूप (episodes पर) दस episodes तक चले.
  • सुनिश्चित करें कि अंदरूनी लूप (steps पर) episode के पूरा होने तक चलता रहे.
  • select_action() द्वारा चुना गया action env environment में लें.
  • अंदरूनी लूप की प्रत्येक iteration के अंत में, अगले step शुरू करने से पहले state अपडेट करें.

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

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

env = gym.make("LunarLander-v2")
# Run ten episodes
for episode in ____:
    state, info = env.reset()
    done = False    
    # Run through steps until done
    while ____:
        action = select_action(network, state)        
        # Take the action
        next_state, reward, terminated, truncated, _ = ____
        done = terminated or truncated        
        loss = calculate_loss(network, state, action, next_state, reward, done)
        optimizer.zero_grad()
        loss.backward()
        optimizer.step()        
        # Update the state
        state = ____
    print(f"Episode {episode} complete.")
कोड संपादित करें और चलाएँ