Home
Login

Gym é um kit de ferramentas para desenvolver e comparar algoritmos de aprendizado por reforço. Ele suporta o ensino de agentes sobre como tomar decisões em vários ambientes simulados.

NOASSERTIONPython 36.1kopenai Last Updated: 2024-10-11

Detalhes do Projeto OpenAI Gym

Visão Geral do Projeto

OpenAI Gym é uma biblioteca Python de código aberto, dedicada ao desenvolvimento e comparação de algoritmos de aprendizado por reforço. Ela conecta algoritmos de aprendizado e ambientes através de uma API padronizada e fornece um conjunto de ambientes que seguem esse padrão de API. Desde o seu lançamento, a API do Gym se tornou o padrão na área de aprendizado por reforço.

⚠️ Declaração Importante

Mudança no Status de Manutenção do Projeto: A equipe que manteve o Gym desde 2021 transferiu todo o trabalho de desenvolvimento futuro para o Gymnasium, que é um substituto direto do Gym (pode ser usado com import gymnasium as gym). O Gym não receberá mais nenhuma atualização futura, e recomenda-se que os usuários mudem para o Gymnasium o mais rápido possível.

Características Principais

API Padronizada

  • Fornece uma interface unificada para a comunicação entre algoritmos de aprendizado por reforço e ambientes
  • Simplifica o processo de criação e interação com ambientes
  • Tornou-se o padrão de API na área de aprendizado por reforço

Rica Biblioteca de Ambientes

  • Contém uma grande quantidade de ambientes de aprendizado por reforço pré-definidos
  • Suporta vários tipos de tarefas e desafios
  • Todos os ambientes seguem um padrão de interface unificado

Método de Instalação

Instalação Básica

pip install gym

Instalação de Famílias de Ambientes Específicas

# Instalar dependências para ambientes Atari
pip install gym[atari]

# Instalar dependências para todos os ambientes
pip install gym[all]

# Instalar dependências para ambientes MuJoCo (versão mais recente)
pip install gym[mujoco]

# Instalar dependências para ambientes MuJoCo (versão antiga)
pip install gym[mujoco_py]

Suporte do Sistema

  • Versões do Python: Suporta Python 3.7, 3.8, 3.9, 3.10
  • Sistemas Operacionais: Suporte oficial para Linux e macOS
  • Windows: Aceita PRs relacionados, mas não oferece suporte oficial

Exemplo de Uso Básico

import gym

# Criar ambiente
env = gym.make("CartPole-v1")

# Reiniciar ambiente
observation, info = env.reset(seed=42)

# Loop de interação com o ambiente
for _ in range(1000):
    # Escolher ação aleatoriamente
    action = env.action_space.sample()
    
    # Executar ação
    observation, reward, terminated, truncated, info = env.step(action)
    
    # Verificar se precisa reiniciar
    if terminated or truncated:
        observation, info = env.reset()

# Fechar ambiente
env.close()

Ecossistema Relacionado

Bibliotecas de Aprendizado Recomendadas

  1. CleanRL - Biblioteca de aprendizado baseada na API do Gym

    • Voltada para iniciantes em aprendizado por reforço
    • Fornece excelentes implementações de referência
  2. Tianshou - Biblioteca de aprendizado para usuários experientes

    • Suporta modificações complexas de algoritmos
    • Design flexível
  3. RLlib - Biblioteca de aprendizado que suporta treinamento distribuído

    • Suporta treinamento e inferência distribuídos
    • Funcionalidades extremamente ricas
  4. PettingZoo - Biblioteca de ambientes multiagente

    • Semelhante ao Gym, mas suporta ambientes multiagente

Controle de Versão

O Gym adota um controle de versão rigoroso para garantir a reprodutibilidade:

  • Todos os ambientes terminam com um sufixo de versão (como "_v0")
  • Quando uma alteração no ambiente pode afetar os resultados do aprendizado, o número da versão é incrementado
  • Garante a reprodutibilidade e consistência dos experimentos

Atualização dos Ambientes MuJoCo

  • As versões mais recentes "_v4" e futuras não dependem mais de mujoco-py
  • Em vez disso, usam mujoco como uma dependência necessária
  • As versões antigas dos ambientes ainda são mantidas, mas não são mais atualizadas

Documentação e Recursos

Citação Acadêmica

O white paper do projeto está disponível no arXiv, formato de citação:

@misc{1606.01540,
  Author = {Greg Brockman and Vicki Cheung and Ludwig Pettersson and Jonas Schneider and John Schulman and Jie Tang and Wojciech Zaremba},
  Title = {OpenAI Gym},
  Year = {2016},
  Eprint = {arXiv:1606.01540},
}

Resumo do Status do Projeto

OpenAI Gym, como uma ferramenta pioneira na área de aprendizado por reforço, estabeleceu um padrão da indústria e cultivou um vasto ecossistema. Embora o projeto original não esteja mais sendo ativamente mantido, seu sucessor, Gymnasium, herdou todas as funcionalidades principais, garantindo o desenvolvimento contínuo da comunidade. Para novos projetos, é altamente recomendável usar o Gymnasium diretamente para obter os recursos mais recentes e suporte contínuo.