Interakce s prostředími Gymnasium

Reinforcement Learning with Gymnasium in Python

Fouad Trad

Machine Learning Engineer

Gymnasium

  • Standardní knihovna pro úlohy RL
  • Abstrahuje složitost problémů RL
  • Nabízí širokou škálu prostředí RL

Obrázek loga Gymnasium spolu s některými prostředími, která poskytuje.

Reinforcement Learning with Gymnasium in Python

Klíčová prostředí Gymnasium

CartPole: Agent musí vyvažovat tyč na pohyblivém vozíku GIF znázorňující prostředí CartPole.

MountainCar: Agent musí vyjet autem na strmý kopec GIF znázorňující prostředí MountainCar.

FrozenLake: Agent musí překonat zamrzlé jezero s dírami GIF znázorňující prostředí FrozenLake.

Taxi: Nabírání a vysazování cestujících GIF znázorňující prostředí Taxi.

Reinforcement Learning with Gymnasium in Python

Rozhraní Gymnasium

 

  • Jednotné pro všechna prostředí
  • Obsahuje funkce a metody pro:
    • Inicializaci prostředí
    • Vizuální reprezentaci prostředí
    • Provádění akcí
    • Sledování výsledků

GIF znázorňující prostředí CartPole.

Reinforcement Learning with Gymnasium in Python

Vytvoření a inicializace prostředí

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/
Reinforcement Learning with Gymnasium in Python

Vizualizace stavu

 

import matplotlib.pyplot as plt

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

plt.show()

Graf počátečního stavu v CartPole.

Reinforcement Learning with Gymnasium in Python

Vizualizace stavu

 

import matplotlib.pyplot as plt

def render(): state_image = env.render() plt.imshow(state_image) plt.show()
# Call function render()

Graf počátečního stavu v CartPole.

Reinforcement Learning with Gymnasium in Python

Provádění akcí

  • 0: pohyb doleva
  • 1: pohyb doprava
action = 1 
state, reward, terminated, truncated, info = env.step(action)




Reinforcement Learning with Gymnasium in Python

Provádění akcí

  • 0: pohyb doleva
  • 1: pohyb doprava
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
Reinforcement Learning with Gymnasium in Python

Interakční smyčky

while not terminated:
    action = 1 # Move to the right
    state, reward, terminated, _, _ = env.step(action)
    render()

Obrázek čtyř různých stavů prostředí CartPole zachycených během interakční smyčky.

Reinforcement Learning with Gymnasium in Python

Pojďme si procvičit!

Reinforcement Learning with Gymnasium in Python

Preparing Video For Download...