Gymnasium ortamlarıyla etkileşim

Python ile Gymnasium'da Reinforcement Learning

Fouad Trad

Machine Learning Engineer

Gymnasium

  • RL görevleri için standart kütüphane
  • RL problemlerinin karmaşıklığını soyutlar
  • Çok sayıda RL ortamı sağlar

Gymnasium logosu ve sunduğu bazı ortamları gösteren görsel.

Python ile Gymnasium'da Reinforcement Learning

Önemli Gymnasium ortamları

CartPole: Ajan, hareketli arabada bir çubuğu dengede tutmalıdır CartPole ortamını gösteren GIF.

MountainCar: Ajan, dik bir tepeyi tırmanmalıdır MountainCar ortamını gösteren GIF.

FrozenLake: Ajan, delikleri olan donmuş bir gölde gezinmelidir FrozenLake gymnasium ortamını gösteren GIF.

Taxi: Yolcu alma ve bırakma Taxi ortamını gösteren GIF.

Python ile Gymnasium'da Reinforcement Learning

Gymnasium arayüzü

 

  • Tüm ortamlar için yeknesak
  • Şunlar için işlev ve yöntemler içerir:
    • Ortamı başlatma
    • Ortamı görsel olarak gösterme
    • Eylem yürütme
    • Sonuçları gözlemleme

CartPole ortamını gösteren GIF.

Python ile Gymnasium'da Reinforcement Learning

Ortamı oluşturma ve başlatma

import gymnasium as gym

env = gym.make('CartPole', render_mode='rgb_array')
state, info = env.reset(seed=42) print(state)
[-0.04405273  0.0242996  -0.04377224 -0.01767325]
1 https://gymnasium.farama.org/environments/classic_control/cart_pole/
Python ile Gymnasium'da Reinforcement Learning

Durumu görselleştirme

 

import matplotlib.pyplot as plt

state_image = env.render()
plt.imshow(state_image)

plt.show()

CartPole'daki başlangıç durumunun grafiği.

Python ile Gymnasium'da Reinforcement Learning

Durumu görselleştirme

 

import matplotlib.pyplot as plt

def render(): state_image = env.render() plt.imshow(state_image) plt.show()
# Fonksiyonu çağırın render()

CartPole'daki başlangıç durumunun grafiği.

Python ile Gymnasium'da Reinforcement Learning

Eylem uygulama

  • 0: sola hareket
  • 1: sağa hareket
action = 1 
state, reward, terminated, truncated, info = env.step(action)




Python ile Gymnasium'da Reinforcement Learning

Eylem uygulama

  • 0: sola hareket
  • 1: sağa hareket
action = 1
state, reward, terminated, _, _ = env.step(action)


print("State: ", state) print("Reward: ", reward) print("Terminated: ", terminated)
State:  [-0.04356674  0.22002107 -0.0441257  -0.3238392 ]
Reward:  1.0
Terminated:  False
Python ile Gymnasium'da Reinforcement Learning

Etkileşim döngüleri

while not terminated:
    action = 1 # Sağa hareket et
    state, reward, terminated, _, _ = env.step(action)
    render()

Etkileşim döngüsü sırasında CartPole ortamındaki dört farklı durumu gösteren görsel.

Python ile Gymnasium'da Reinforcement Learning

Hadi pratik yapalım!

Python ile Gymnasium'da Reinforcement Learning

Preparing Video For Download...