Barebone DQN का प्रशिक्षण
अब Lunar Lander एनवायरनमेंट में Barebone DQN एल्गोरिदम को ट्रेन करने का समय है. ध्यान रखें कि यह अभी एक बेसिक एल्गोरिदम है, इसलिए परफॉर्मेंस बहुत बढ़िया नहीं होगी, लेकिन आप इसे आगे बेहतर बनाएँगे.
इसे ऐसे समझिए जैसे अपने Lunar Lander को चाँद पर उतारने की दिशा में पहला कदम!
जो q_network इंस्टेंस आपने पहले परिभाषित किया था, वह आपके लिए उपलब्ध है.
इस कोर्स के अभ्यासों में, आपके Python एनवायरनमेंट में एक describe_episode() फंक्शन भी है, जो हर एपिसोड के अंत में एजेंट के प्रदर्शन के बारे में कुछ जानकारी प्रिंट करता है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Deep Reinforcement Learning
अभ्यास निर्देश
- inner loop में एजेंट की action चुनें.
- loss की गणना करें.
- नेटवर्क वेट्स अपडेट करने के लिए एक gradient descent स्टेप चलाएँ.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
for episode in range(10):
state, info = env.reset()
done = False
step = 0
episode_reward = 0
while not done:
step += 1
# Select the action
action = ____(____, ____)
next_state, reward, terminated, truncated, _ = (env.step(action))
done = terminated or truncated
# Calculate the loss
loss = ____(q_network, state, action, next_state, reward, done)
optimizer.zero_grad()
# Perform a gradient descent step
loss.____
optimizer.____
state = next_state
episode_reward += reward
describe_episode(episode, reward, episode_reward, step)