0Pricing
Learn AI with Python · Pelajaran

Lingkungan Gymnasium Khusus

Subkelas gym.Env, ruang observasi/aksi, step/reset/render, mendaftarkan lingkungan khusus.

Lingkungan Gymnasium Khusus adalah pelajaran Learn AI with Python gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Learn AI with Python, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Learn AI with Python mencakup 4 pelajaran total.

Apa itu Gymnasium?

Gymnasium (penerus OpenAI Gym yang terus dikembangkan) adalah API standar untuk lingkungan RL. Agent apa pun yang mengikuti antarmukanya dapat bekerja dengan lingkungan apa pun yang kompatibel. Dengan demikian, membuat lingkungan sendiri memungkinkan RL digunakan untuk masalah khusus.

pip install gymnasium

import gymnasium as gym

Membuat Subkelas gymnasium.Env

Lingkungan khusus membuat subkelas dari gymnasium.Env dan mengimplementasikan empat hal: ruang tindakan dan observasi, serta reset dan step. Kontrak tersebut sudah mencakup semua yang dibutuhkan agent.

class GridWorld(gym.Env):
    def __init__(self):
        super().__init__()

Ruang Tindakan

action_space menyatakan tindakan yang valid. Discrete(n) berarti terdapat n pilihan (misalnya atas/bawah/kiri/kanan); Box menentukan rentang kontinu untuk tindakan seperti mengendalikan arah.

self.action_space = gym.spaces.Discrete(4)  # 4 moves

Ruang Observasi

observation_space menjelaskan hal yang dilihat agent. Ruang Box menetapkan bentuk dan batas nilai vektor observasi, sehingga algoritme mengetahui dimensi masukan.

self.observation_space = gym.spaces.Box(
    low=0, high=10, shape=(2,), dtype=float
)  # agent (x, y) position

Metode reset

reset memulai episode baru dan mengembalikan tuple (observation, info). Metode ini menerima seed untuk memastikan hasil dapat direproduksi. Selalu kembalikan observasi awal di sini.

def reset(self, seed=None, options=None):
    super().reset(seed=seed)
    self.pos = [0, 0]
    obs = self._get_obs()
    info = {}
    return obs, info

Metode step

step(action) memajukan lingkungan sebanyak satu langkah waktu. Metode ini mengembalikan lima nilai: (obs, reward, terminated, truncated, info). Memastikan format ini benar sangat penting untuk kompatibilitas.

def step(self, action):
    self._move(action)
    obs = self._get_obs()
    ...

terminated dibandingkan dengan truncated

Keduanya adalah penanda yang berbeda: terminated berarti tugas berakhir secara alami (target tercapai atau tugas gagal); truncated berarti tugas dihentikan secara paksa (misalnya karena batas waktu). Pemisahan ini memungkinkan algoritme menangani masing-masing kondisi dengan benar.

    terminated = (self.pos == self.goal)
    truncated = (self.steps >= self.max_steps)
    reward = 1.0 if terminated else -0.01
    return obs, reward, terminated, truncated, {}

Merancang Imbalan

Fungsi imbalan menentukan tujuan. Rancanglah dengan cermat: penalti kecil pada setiap langkah ditambah bonus tujuan mendorong agent mencapai target dengan cepat. Rancangan imbalan yang buruk adalah penyebab kegagalan RL yang paling umum.

Mendaftarkan Lingkungan

Daftarkan lingkungan Anda dengan sebuah ID agar dapat membuatnya melalui gym.make, mengikuti konvensi lingkungan bawaan.

gym.register(id="GridWorld-v0", entry_point=GridWorld)
env = gym.make("GridWorld-v0")

Menggunakannya dengan Agent

Karena mengikuti API standar, lingkungan khusus Anda dapat langsung digunakan oleh pustaka seperti Stable-Baselines3 tanpa memerlukan kode penghubung tambahan.

from stable_baselines3 import PPO

env = gym.make("GridWorld-v0")
model = PPO("MlpPolicy", env, verbose=1)
model.learn(total_timesteps=50_000)

Putaran Interaksi Standar

Setiap putaran RL terlihat sama: lakukan reset untuk memperoleh observasi pertama, lalu berulang kali pilih tindakan, panggil step, dan berhenti ketika terminated atau truncated. Keseragaman inilah tujuan utama Gymnasium.

obs, info = env.reset()
done = False
while not done:
    action = env.action_space.sample()
    obs, reward, terminated, truncated, info = env.step(action)
    done = terminated or truncated

Pemeriksaan Singkat

Uji pengetahuan Anda tentang Gymnasium.

Rangkuman: Lingkungan Gymnasium Khusus

Anda telah membuat lingkungan khusus dengan membuat subkelas dari gymnasium.Env, mendefinisikan action_space dan observation_space, mengimplementasikan reset() (mengembalikan obs, info) dan step() (mengembalikan obs, reward, terminated, truncated, info), serta merancang imbalan. Dengan mengikuti API standar, pustaka RL apa pun dapat melatih agent di lingkungan tersebut.

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Lingkungan Gymnasium Khusus” gratis?

Ya — teks lengkap “Lingkungan Gymnasium Khusus” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Learn AI with Python, upgrade ke CoddyKit PRO. Kursus Learn AI with Python mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Lingkungan Gymnasium Khusus”?

Subkelas gym.Env, ruang observasi/aksi, step/reset/render, mendaftarkan lingkungan khusus. Kamu berlatih Learn AI with Python dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Learn AI with Python?

Tidak diperlukan pengalaman sebelumnya. Learn AI with Python di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Lingkungan Gymnasium Khusus” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Learn AI with Python ini?

Ya. Setiap pelajaran Learn AI with Python menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Metode Gradien Kebijakan: REINFORCE
  2. Metode Actor-Critic (A2C)
  3. Optimasi Kebijakan Proksimal (PPO)
  4. Lingkungan Gymnasium Khusus
← Kembali ke Learn AI with Python