Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Noções Básicas de Gymnasium | Teoria Central de RL
Introdução ao Aprendizado por Reforço

bookNoções Básicas de Gymnasium

Gymnasium é um kit de ferramentas de código aberto projetado para o desenvolvimento e avaliação de agentes de aprendizado por reforço (RL). Oferece uma coleção de ambientes padronizados para testar algoritmos e treinar agentes de forma eficiente.

Principais Características

  • API padronizada: garante compatibilidade entre diferentes ambientes;
  • Variedade de ambientes: oferece suporte a problemas clássicos de controle, jogos Atari e simulações de robótica;
  • Integração facilitada: compatível com frameworks de aprendizado profundo como TensorFlow e PyTorch.

Fluxo de Trabalho

Um fluxo de trabalho típico no Gymnasium segue os seguintes passos:

1. Importação da Biblioteca

import gymnasium as gym

Após a descontinuação da biblioteca original gym, recomenda-se agora utilizar o gymnasium — um fork do gym bem mantido e em desenvolvimento ativo. Apesar da mudança de nome, a biblioteca ainda é comumente importada com o alias gym para manter compatibilidade retroativa e praticidade.

2. Criação de um Ambiente

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

A função gym.make() instancia um ambiente utilizando seu identificador único (por exemplo, "CartPole-v1"). Também é possível passar parâmetros adicionais de configuração, dependendo dos requisitos do ambiente.

3. Reinicialização do Ambiente

observation, info = env.reset()

Antes de interagir com o ambiente, é necessário reiniciá-lo para o estado inicial utilizando env.reset(). Isso retorna:

  • observation: o estado inicial do ambiente;
  • info: dados auxiliares que podem incluir metadados ou configurações específicas do estado.

4. Interação com o Ambiente

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

Na primeira linha, uma ação aleatória é escolhida a partir do espaço de ações utilizando env.action_space.sample(). O espaço de ações define o conjunto de todas as ações possíveis que o agente pode executar no ambiente. Além disso, o ambiente fornece o espaço de observação, acessível via env.observation_space, que representa o conjunto de todas as observações (estados) possíveis que o agente pode encontrar.

Na segunda linha, a ação escolhida é passada para env.step(action), que executa a ação e retorna o seguinte:

  • observation: o novo estado do agente após executar a ação;
  • reward: a recompensa recebida pela ação tomada;
  • terminated: valor booleano indicando se o episódio foi finalizado (ou seja, a tarefa foi concluída);
  • truncated: valor booleano indicando se o episódio foi interrompido prematuramente (por tempo ou outras restrições);
  • info: informações diagnósticas adicionais, frequentemente utilizadas para depuração ou registro.

5. Fechamento do Ambiente

env.close()

Se o ambiente utilizar recursos externos (por exemplo, janelas de renderização ou simulações), recomenda-se fechá-lo utilizando env.close().

Note
Estudo Adicional

Para saber mais sobre os recursos oferecidos pela biblioteca Gymnasium, acesse their website.

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 7

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Awesome!

Completion rate improved to 2.7

bookNoções Básicas de Gymnasium

Deslize para mostrar o menu

Gymnasium é um kit de ferramentas de código aberto projetado para o desenvolvimento e avaliação de agentes de aprendizado por reforço (RL). Oferece uma coleção de ambientes padronizados para testar algoritmos e treinar agentes de forma eficiente.

Principais Características

  • API padronizada: garante compatibilidade entre diferentes ambientes;
  • Variedade de ambientes: oferece suporte a problemas clássicos de controle, jogos Atari e simulações de robótica;
  • Integração facilitada: compatível com frameworks de aprendizado profundo como TensorFlow e PyTorch.

Fluxo de Trabalho

Um fluxo de trabalho típico no Gymnasium segue os seguintes passos:

1. Importação da Biblioteca

import gymnasium as gym

Após a descontinuação da biblioteca original gym, recomenda-se agora utilizar o gymnasium — um fork do gym bem mantido e em desenvolvimento ativo. Apesar da mudança de nome, a biblioteca ainda é comumente importada com o alias gym para manter compatibilidade retroativa e praticidade.

2. Criação de um Ambiente

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

A função gym.make() instancia um ambiente utilizando seu identificador único (por exemplo, "CartPole-v1"). Também é possível passar parâmetros adicionais de configuração, dependendo dos requisitos do ambiente.

3. Reinicialização do Ambiente

observation, info = env.reset()

Antes de interagir com o ambiente, é necessário reiniciá-lo para o estado inicial utilizando env.reset(). Isso retorna:

  • observation: o estado inicial do ambiente;
  • info: dados auxiliares que podem incluir metadados ou configurações específicas do estado.

4. Interação com o Ambiente

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

Na primeira linha, uma ação aleatória é escolhida a partir do espaço de ações utilizando env.action_space.sample(). O espaço de ações define o conjunto de todas as ações possíveis que o agente pode executar no ambiente. Além disso, o ambiente fornece o espaço de observação, acessível via env.observation_space, que representa o conjunto de todas as observações (estados) possíveis que o agente pode encontrar.

Na segunda linha, a ação escolhida é passada para env.step(action), que executa a ação e retorna o seguinte:

  • observation: o novo estado do agente após executar a ação;
  • reward: a recompensa recebida pela ação tomada;
  • terminated: valor booleano indicando se o episódio foi finalizado (ou seja, a tarefa foi concluída);
  • truncated: valor booleano indicando se o episódio foi interrompido prematuramente (por tempo ou outras restrições);
  • info: informações diagnósticas adicionais, frequentemente utilizadas para depuração ou registro.

5. Fechamento do Ambiente

env.close()

Se o ambiente utilizar recursos externos (por exemplo, janelas de renderização ou simulações), recomenda-se fechá-lo utilizando env.close().

Note
Estudo Adicional

Para saber mais sobre os recursos oferecidos pela biblioteca Gymnasium, acesse their website.

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 7
some-alt