Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Grunnleggende om Gymnasium | Kjerneprinsipper i RL
Introduksjon til Reinforcement Learning

bookGrunnleggende om Gymnasium

Gymnasium er et åpen kildekode-verktøysett utviklet for å utvikle og evaluere forsterkningslæringsagenter (RL-agenter). Det tilbyr en samling av standardiserte miljøer for effektiv testing av algoritmer og trening av agenter.

Nøkkelfunksjoner

  • Standardisert API: sikrer kompatibilitet på tvers av ulike miljøer;
  • Variasjon av miljøer: støtter klassiske kontrollproblemer, Atari-spill og robotikk-simuleringer;
  • Enkel integrasjon: kompatibel med dyp læringsrammeverk som TensorFlow og PyTorch.

Arbeidsflyt

En typisk arbeidsflyt i Gymnasium ser slik ut:

1. Importer biblioteket

import gymnasium as gym

Etter at det opprinnelige gym-biblioteket ble avviklet, anbefales det nå å bruke gymnasium — en godt vedlikeholdt og aktivt utviklet forgrening av gym. Til tross for navneendringen importeres biblioteket ofte fortsatt med aliaset gym for bakoverkompatibilitet og bekvemmelighet.

2. Opprett et miljø

env = gym.make("CartPole-v1")

Funksjonen gym.make() oppretter et miljø ved å bruke dets unike identifikator (f.eks. "CartPole-v1"). Du kan også sende med ekstra konfigurasjonsparametere avhengig av miljøets krav.

3. Tilbakestill miljøet

observation, info = env.reset()

Før du samhandler med miljøet, må du tilbakestille det til starttilstanden ved å bruke env.reset(). Dette returnerer:

  • observation: starttilstanden til miljøet;
  • info: tilleggsdata som kan inkludere metadata eller tilstandsspesifikk konfigurasjon.

4. Samhandle med miljøet

action = env.action_space.sample()
observation, reward, terminated, truncated, info = env.step(action)

I første linje velges en tilfeldig handling fra action space ved å bruke env.action_space.sample(). Action space definerer settet av alle mulige handlinger agenten kan utføre i miljøet. I tillegg tilbyr miljøet observation space, som kan nås via env.observation_space og representerer settet av alle mulige observasjoner (tilstander) agenten kan oppleve.

I andre linje sendes den valgte handlingen til env.step(action), som utfører handlingen og returnerer følgende:

  • observation: agentens nye tilstand etter handlingen;
  • reward: belønningen mottatt for handlingen;
  • terminated: en boolsk verdi som indikerer om episoden er avsluttet (dvs. oppgaven er fullført);
  • truncated: en boolsk verdi som indikerer om episoden ble avbrutt (på grunn av tid eller andre begrensninger);
  • info: ytterligere diagnostisk informasjon, ofte brukt til feilsøking eller logging.

5. Lukk miljøet

env.close()

Hvis miljøet ditt bruker eksterne ressurser (f.eks. renderingsvinduer eller simuleringer), bør du lukke det med env.close().

Note
Studer mer

Hvis du ønsker å vite mer om funksjonene som tilbys av Gymnasium-biblioteket, bør du besøke their website.

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 7

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Awesome!

Completion rate improved to 2.7

bookGrunnleggende om Gymnasium

Sveip for å vise menyen

Gymnasium er et åpen kildekode-verktøysett utviklet for å utvikle og evaluere forsterkningslæringsagenter (RL-agenter). Det tilbyr en samling av standardiserte miljøer for effektiv testing av algoritmer og trening av agenter.

Nøkkelfunksjoner

  • Standardisert API: sikrer kompatibilitet på tvers av ulike miljøer;
  • Variasjon av miljøer: støtter klassiske kontrollproblemer, Atari-spill og robotikk-simuleringer;
  • Enkel integrasjon: kompatibel med dyp læringsrammeverk som TensorFlow og PyTorch.

Arbeidsflyt

En typisk arbeidsflyt i Gymnasium ser slik ut:

1. Importer biblioteket

import gymnasium as gym

Etter at det opprinnelige gym-biblioteket ble avviklet, anbefales det nå å bruke gymnasium — en godt vedlikeholdt og aktivt utviklet forgrening av gym. Til tross for navneendringen importeres biblioteket ofte fortsatt med aliaset gym for bakoverkompatibilitet og bekvemmelighet.

2. Opprett et miljø

env = gym.make("CartPole-v1")

Funksjonen gym.make() oppretter et miljø ved å bruke dets unike identifikator (f.eks. "CartPole-v1"). Du kan også sende med ekstra konfigurasjonsparametere avhengig av miljøets krav.

3. Tilbakestill miljøet

observation, info = env.reset()

Før du samhandler med miljøet, må du tilbakestille det til starttilstanden ved å bruke env.reset(). Dette returnerer:

  • observation: starttilstanden til miljøet;
  • info: tilleggsdata som kan inkludere metadata eller tilstandsspesifikk konfigurasjon.

4. Samhandle med miljøet

action = env.action_space.sample()
observation, reward, terminated, truncated, info = env.step(action)

I første linje velges en tilfeldig handling fra action space ved å bruke env.action_space.sample(). Action space definerer settet av alle mulige handlinger agenten kan utføre i miljøet. I tillegg tilbyr miljøet observation space, som kan nås via env.observation_space og representerer settet av alle mulige observasjoner (tilstander) agenten kan oppleve.

I andre linje sendes den valgte handlingen til env.step(action), som utfører handlingen og returnerer følgende:

  • observation: agentens nye tilstand etter handlingen;
  • reward: belønningen mottatt for handlingen;
  • terminated: en boolsk verdi som indikerer om episoden er avsluttet (dvs. oppgaven er fullført);
  • truncated: en boolsk verdi som indikerer om episoden ble avbrutt (på grunn av tid eller andre begrensninger);
  • info: ytterligere diagnostisk informasjon, ofte brukt til feilsøking eller logging.

5. Lukk miljøet

env.close()

Hvis miljøet ditt bruker eksterne ressurser (f.eks. renderingsvinduer eller simuleringer), bør du lukke det med env.close().

Note
Studer mer

Hvis du ønsker å vite mer om funksjonene som tilbys av Gymnasium-biblioteket, bør du besøke their website.

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 1. Kapittel 7
some-alt