Interagera med Gymnasium-miljöer

Reinforcement Learning med Gymnasium i Python

Fouad Trad

Machine Learning Engineer

Gymnasium

  • Standardbibliotek för RL-uppgifter
  • Abstraherar komplexiteten i RL-problem
  • Tillhandahåller en mängd RL-miljöer

Image showing the gymnasium logo along with some environments it provides.

Reinforcement Learning med Gymnasium i Python

Viktiga Gymnasium-miljöer

CartPole: Agenten ska balansera en stav på en rörlig vagn GIF representing the CartPole environment.

MountainCar: Agenten ska köra en bil uppför en brant backe GIF representing the MountainCar environment.

FrozenLake: Agenten ska navigera en frusen sjö med hål GIF representing the FrozenLake gymnasium environment.

Taxi: Plocka upp och lämna av passagerare GIF representing the Taxi environment.

Reinforcement Learning med Gymnasium i Python

Gymnasium-gränssnittet

 

  • Enhetligt för alla miljöer
  • Innehåller funktioner och metoder för att:
    • Initiera miljön
    • Visualisera miljön
    • Utföra åtgärder
    • Observera utfall

GIF representing the CartPole environment.

Reinforcement Learning med Gymnasium i Python

Skapa och initiera miljön

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 med Gymnasium i Python

Visualisera tillståndet

 

import matplotlib.pyplot as plt

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

plt.show()

Plot of the initial state in CartPole.

Reinforcement Learning med Gymnasium i Python

Visualisera tillståndet

 

import matplotlib.pyplot as plt

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

Plot of the initial state in CartPole.

Reinforcement Learning med Gymnasium i Python

Utföra åtgärder

  • 0: rör sig åt vänster
  • 1: rör sig åt höger
action = 1 
state, reward, terminated, truncated, info = env.step(action)




Reinforcement Learning med Gymnasium i Python

Utföra åtgärder

  • 0: rör sig åt vänster
  • 1: rör sig åt höger
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 med Gymnasium i Python

Interaktionsslingor

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

Image showing four different states in the CartPole environment, captured during the interaction loop.

Reinforcement Learning med Gymnasium i Python

Nu kör vi en övning!

Reinforcement Learning med Gymnasium i Python

Preparing Video For Download...