MulaiMulai sekarang secara gratis

Loop pelatihan DRL

Agar agen dapat berinteraksi dengan environment berulang kali, Anda perlu menyiapkan loop pelatihan.

Banyak algoritma DRL memiliki struktur inti yang sama:

  1. Loop melalui episode
  2. Loop melalui langkah di dalam tiap episode
  3. Pada setiap langkah, pilih aksi, hitung loss, dan perbarui jaringan

Anda disediakan fungsi placeholder select_action() dan calculate_loss() agar kode dapat berjalan. Network dan optimizer yang didefinisikan dari latihan sebelumnya juga tersedia untuk Anda.

Latihan ini adalah bagian dari kursus

Deep Reinforcement Learning dengan Python

Lihat Kursus

Petunjuk latihan

  • Pastikan loop luar (untuk episode) berjalan selama sepuluh episode.
  • Pastikan loop dalam (untuk langkah) berjalan hingga episode selesai.
  • Ambil aksi yang dipilih oleh select_action() di environment env.
  • Di akhir tiap iterasi loop dalam, perbarui state sebelum memulai langkah berikutnya.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

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.")
Edit dan Jalankan Kode