Interacțiunea cu mediile Gymnasium

Reinforcement Learning cu Gymnasium în Python

Fouad Trad

Machine Learning Engineer

Gymnasium

  • Bibliotecă standard pentru sarcini de AR
  • Abstractizează complexitatea problemelor de AR
  • Oferă numeroase medii de AR

Imagine cu logo-ul Gymnasium și câteva medii disponibile.

Reinforcement Learning cu Gymnasium în Python

Medii cheie din Gymnasium

CartPole: Agentul trebuie să echilibreze un băț pe un cărucior GIF reprezentând mediul CartPole.

MountainCar: Agentul trebuie să urce o pantă abruptă cu o mașină GIF reprezentând mediul MountainCar.

FrozenLake: Agentul trebuie să traverseze un lac înghețat cu găuri GIF reprezentând mediul FrozenLake din Gymnasium.

Taxi: Preluarea și livrarea pasagerilor GIF reprezentând mediul Taxi.

Reinforcement Learning cu Gymnasium în Python

Interfața Gymnasium

 

  • Unificată pentru toate mediile
  • Include funcții și metode pentru:
    • Inițializarea mediului
    • Reprezentarea vizuală a mediului
    • Executarea acțiunilor
    • Observarea rezultatelor

GIF reprezentând mediul CartPole.

Reinforcement Learning cu Gymnasium în Python

Crearea și inițializarea mediului

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 cu Gymnasium în Python

Vizualizarea stării

 

import matplotlib.pyplot as plt

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

plt.show()

Graficul stării inițiale în CartPole.

Reinforcement Learning cu Gymnasium în Python

Vizualizarea stării

 

import matplotlib.pyplot as plt

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

Graficul stării inițiale în CartPole.

Reinforcement Learning cu Gymnasium în Python

Executarea acțiunilor

  • 0: deplasare la stânga
  • 1: deplasare la dreapta
action = 1 
state, reward, terminated, truncated, info = env.step(action)




Reinforcement Learning cu Gymnasium în Python

Executarea acțiunilor

  • 0: deplasare la stânga
  • 1: deplasare la dreapta
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 cu Gymnasium în Python

Bucle de interacțiune

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

Imagine cu patru stări diferite din mediul CartPole, capturate în bucla de interacțiune.

Reinforcement Learning cu Gymnasium în Python

Să exersăm!

Reinforcement Learning cu Gymnasium în Python

Preparing Video For Download...