Взаємодія з середовищами Gymnasium

Reinforcement Learning з Gymnasium у Python

Fouad Trad

Machine Learning Engineer

Gymnasium

  • Стандартна бібліотека для задач RL
  • Абстрагує складність проблем RL
  • Надає безліч середовищ RL

Зображення з логотипом gymnasium та прикладами його середовищ.

Reinforcement Learning з Gymnasium у Python

Ключові середовища Gymnasium

CartPole: Агент має втримати жердину на рухомому візку GIF середовища CartPole.

MountainCar: Агент має заїхати авто на крутий підйом GIF середовища MountainCar.

FrozenLake: Агент має пройти крижаним озером з отворами GIF середовища FrozenLake у gymnasium.

Taxi: Підбирати й висаджувати пасажирів GIF середовища Taxi.

Reinforcement Learning з Gymnasium у Python

Інтерфейс Gymnasium

 

  • Уніфікований для всіх середовищ
  • Містить функції та методи, щоб:
    • Ініціалізувати середовище
    • Візуально показати середовище
    • Виконувати дії
    • Спостерігати результати

GIF середовища CartPole.

Reinforcement Learning з Gymnasium у Python

Створення та ініціалізація середовища

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 з Gymnasium у Python

Візуалізація стану

 

import matplotlib.pyplot as plt

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

plt.show()

Графік початкового стану в CartPole.

Reinforcement Learning з Gymnasium у Python

Візуалізація стану

 

import matplotlib.pyplot as plt

def render(): state_image = env.render() plt.imshow(state_image) plt.show()
# Виклик функції render()

Графік початкового стану в CartPole.

Reinforcement Learning з Gymnasium у Python

Виконання дій

  • 0: рух ліворуч
  • 1: рух праворуч
action = 1 
state, reward, terminated, truncated, info = env.step(action)




Reinforcement Learning з Gymnasium у Python

Виконання дій

  • 0: рух ліворуч
  • 1: рух праворуч
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 з Gymnasium у Python

Цикли взаємодії

while not terminated:
    action = 1 # Рух праворуч
    state, reward, terminated, _, _ = env.step(action)
    render()

Зображення чотирьох різних станів у CartPole, зафіксованих під час циклу взаємодії.

Reinforcement Learning з Gymnasium у Python

Давайте потренуємось!

Reinforcement Learning з Gymnasium у Python

Preparing Video For Download...