0Pricing
Learn AI with Python · Ders

Özel Gymnasium Ortamları

gym.Env alt sınıfı, gözlem/eylem uzayları, step/reset/render, özel ortam kaydetme.

Özel Gymnasium Ortamları, CoddyKit'te ücretsiz bir Learn AI with Python dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Learn AI with Python öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Learn AI with Python kursu toplamda 4 dersten oluşur.

Gymnasium Nedir?

Gymnasium (geliştirilmesi sürdürülen OpenAI Gym halefi), RL ortamları için standart API'dir. Arayüzüne uyan her agent, uyumlu herhangi bir ortamla çalışır; dolayısıyla kendi ortamınızı oluşturmak, özel sorunlara RL uygulamanızı sağlar.

pip install gymnasium

import gymnasium as gym

gymnasium.Env Alt Sınıfını Oluşturma

Özel bir ortam gymnasium.Env sınıfının alt sınıfıdır ve dört şeyi uygular: eylem ve gözlem uzayları ile reset ve step. Bir agent'ın ihtiyaç duyduğu sözleşme bundan ibarettir.

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

Eylem Uzayı

action_space, hangi eylemlerin geçerli olduğunu bildirir. Discrete(n), n seçenek olduğu anlamına gelir (örneğin yukarı/aşağı/sol/sağ); Box ise yönlendirme gibi eylemler için sürekli aralıklar tanımlar.

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

Gözlem Uzayı

observation_space, agent'ın ne gördüğünü tanımlar. Bir Box uzayı, gözlem vektörünün şeklini ve değer sınırlarını belirler; böylece algoritmalar girdi boyutlarını bilir.

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

reset Metodu

reset, yeni bir bölüm başlatır ve (observation, info) demeti döndürür. Tekrarlanabilirlik için bir seed kabul eder. Başlangıç gözlemini her zaman burada döndürün.

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

step Metodu

step(action), ortamı bir zaman adımı ilerletir. Beş değer döndürür: (obs, reward, terminated, truncated, info). Bu imzayı doğru uygulamak uyumluluk için kritik öneme sahiptir.

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

terminated ve truncated

İki ayrı bayrak vardır: terminated, görevin doğal biçimde sona erdiği (hedefe ulaşıldığı veya başarısız olunduğu) anlamına gelir; truncated ise görevin kesildiğini belirtir (örneğin zaman sınırı nedeniyle). Bunları ayırmak, algoritmaların her birini doğru biçimde ele almasını sağlar.

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

Ödülü Tasarlama

Ödül fonksiyonu amacı tanımlar. Ödülü dikkatle şekillendirin: küçük bir adım cezası ile hedef bonusu, hedefe hızlı ulaşmayı teşvik eder. Kötü ödül tasarımı, RL başarısızlığının en yaygın nedenidir.

Ortamı Kaydetme

Yerleşik ortamların kuralına uyarak ortamınızı bir ID ile kaydedin; böylece onu gym.make aracılığıyla oluşturabilirsiniz.

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

Bir Agent ile Kullanma

Standart API'yi izlediği için özel ortamınız, ek bağlayıcı kod gerektirmeden Stable-Baselines3 gibi kütüphanelere doğrudan bağlanır.

from stable_baselines3 import PPO

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

Standart Etkileşim Döngüsü

Her RL döngüsü aynı görünür: ilk gözlemi almak için reset yapın, ardından tekrar tekrar bir eylem seçin, step çağrısını yapın ve terminated veya truncated olduğunda durun. Gymnasium'ın temel amacı bu birlikteliktir.

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

Hızlı Kontrol

Gymnasium bilginizi sınayın.

Özet: Özel Gymnasium Ortamları

gymnasium.Env sınıfının alt sınıfını oluşturarak, action_space ve observation_space tanımlayarak, reset() (obs, info döndürür) ve step() (obs, reward, terminated, truncated, info döndürür) uygulayarak ve bir ödül tasarlayarak özel bir ortam oluşturdunuz. Standart API'yi izlemek, herhangi bir RL kütüphanesinin bu ortamla eğitim yapmasını sağlar.

Sıkça Sorulan Sorular

“Özel Gymnasium Ortamları” dersi ücretsiz mi?

Evet — “Özel Gymnasium Ortamları” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Learn AI with Python kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Learn AI with Python kursu toplamda 4 dersten oluşur.

“Özel Gymnasium Ortamları” dersinde ne öğreneceğim?

gym.Env alt sınıfı, gözlem/eylem uzayları, step/reset/render, özel ortam kaydetme. Learn AI with Python ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Learn AI with Python öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Learn AI with Python, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“Özel Gymnasium Ortamları” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Learn AI with Python dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Learn AI with Python dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Politika Gradyanı Yöntemleri: REINFORCE
  2. Aktör-Eleştirmen Yöntemleri (A2C)
  3. Yakınsal Politika Optimizasyonu (PPO)
  4. Özel Gymnasium Ortamları
← Learn AI with Python Sayfasına Dön