Pular para o conteúdo
Skillpedia
Agentes51 mil · #1983

stable-baselines3

Faz seu agente treinar e avaliar modelos de aprendizado por reforço. É usado para ensinar agentes a tomar decisões em ambientes complexos, como jogos ou robótica.

O que ela faz

Esta ferramenta ajuda a treinar 'agentes' de inteligência artificial para aprender a tomar decisões em ambientes simulados. Ela usa algoritmos de aprendizado por reforço para que os agentes melhorem com a experiência.

Quando usar

  • ✓Quando você quer ensinar um robô virtual a andar.
  • ✓Ao criar um jogo onde um personagem aprende a jogar sozinho.
  • ✓Para testar estratégias em simulações complexas.

Exemplo do que pedir para a IA

“Treine um agente para jogar Pac-Man usando o algoritmo PPO.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/K-Dense-AI/scientific-agent-skills/blob/main/skills/stable-baselines3/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/K-Dense-AI/scientific-agent-skills/blob/main/skills/stable-baselines3/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Você define o ambiente onde o agente vai aprender e escolhe um algoritmo. A ferramenta então executa o treinamento, permitindo que o agente ajuste suas ações para obter recompensas.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add K-Dense-AI/scientific-agent-skills --skill stable-baselines3

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/K-Dense-AI/scientific-agent-skills/main/skills/stable-baselines3/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Stable Baselines3

Visão Geral

Stable Baselines3 (SB3) é uma biblioteca baseada em PyTorch que fornece implementações confiáveis de algoritmos de aprendizado por reforço. Esta habilidade oferece orientação abrangente para treinar agentes de RL, criar ambientes personalizados, implementar callbacks e otimizar fluxos de trabalho de treinamento usando a API unificada do SB3.

Versão atual: SB3 2.9.0 (15 de junho de 2026). Documentação: stable-baselines3.readthedocs.io.

Instalação

Testado com stable-baselines3 2.9.0. Requer Python 3.10+ (3.9 foi removido em 2.8.0) e PyTorch >= 2.8.

# Basic installation
uv pip install "stable-baselines3==2.9.0"

# With extra dependencies (TensorBoard, ale-py for Atari, etc.)
uv pip install "stable-baselines3[extra]==2.9.0"

A versão 2.9.0 suporta Gymnasium >=0.29.1,<2.0; esta revisão utilizou Gymnasium 1.3.0, PyTorch 2.14.1 e Python 3.13 em CPU. pandas/matplotlib são agora opcionais. A instalação requer rede, a menos que os pacotes estejam em cache; o treinamento local de RL não precisa de credenciais ou endpoints de serviço.

No zsh, coloque os colchetes entre aspas: uv pip install 'stable-baselines3[extra]==2.9.0'.

Para benchmarks de controle contínuo MuJoCo:

uv pip install "gymnasium[mujoco]"

Verifique sua versão:

import stable_baselines3
print(stable_baselines3.__version__)

Projetos Relacionados

  • SB3-Contrib: algoritmos experimentais (MaskablePPO, CrossQ, QR-DQN, RecurrentPPO) — pacote sb3-contrib separado
  • RL Baselines3 Zoo: agentes pré-treinados, hiperparâmetros, scripts de treinamento
  • SBX: SB3 + implementações JAX para usuários que preferem JAX ao PyTorch

Capacidades Principais

1. Treinando Agentes de RL

Padrão Básico de Treinamento:

import gymnasium as gym
from stable_baselines3 import PPO

# Create environment
env = gym.make("CartPole-v1")

# Initialize agent (device="cpu" is often faster for MlpPolicy on small envs)
model = PPO("MlpPolicy", env, verbose=1, device="cpu", seed=0)

# Train the agent
model.learn(total_timesteps=10000)

# Save the model
model.save("ppo_cartpole")

# Load the model (without prior instantiation)
model = PPO.load("ppo_cartpole", env=env, device="cpu")
env.close()

Observações Importantes:

  • total_timesteps é um limite inferior; o treinamento real pode exceder isso devido à coleta de lotes
  • Chame o método de classe PPO.load(...) e mantenha o novo modelo retornado
  • O buffer de replay NÃO é salvo com o modelo para economizar espaço

Seleção de Algoritmo: Use references/algorithms.md para características detalhadas do algoritmo e orientação de seleção. Referência rápida:

  • PPO/A2C: Uso geral, suporta ações Box, Discrete, flat MultiDiscrete e MultiBinary, bom para multiprocessamento
  • SAC/TD3: Controle contínuo, off-policy, eficiente em amostras
  • DQN: Ações discretas, off-policy
  • HER: Estratégia de buffer de replay para tarefas off-policy condicionadas por objetivo

Veja scripts/train_rl_agent.py para um template de treinamento completo com as melhores práticas.

2. Ambientes Personalizados

Requisitos: Ambientes personalizados devem herdar de gymnasium.Env e implementar:

  • __init__(): Definir action_space e observation_space
  • reset(seed, options): Retornar observação inicial e dicionário info
  • step(action): Retornar observação, recompensa, terminated, truncated, info
  • render(): Visualização (opcional)
  • close(): Limpar recursos

Restrições Chave:

  • O pré-processamento padrão de imagem CNN espera np.uint8 no intervalo [0, 255]
  • Use o formato channel-first sempre que possível (canais, altura, largura)
  • O SB3 normaliza imagens automaticamente dividindo por 255
  • Para imagens float pré-normalizadas, use layout channel-first e policy_kwargs={"normalize_images": False}
  • O SB3 NÃO suporta espaços Discrete ou MultiDiscrete com start!=0

Validação:

from stable_baselines3.common.env_checker import check_env

check_env(env, warn=True)

Veja o template e o guia de ambientes. O template agora observa as coordenadas do agente e do objetivo aleatório, formato (4,); checkpoints de formato antigo (2,) exigem retreinamento. gym.make("CustomEnv-v0") adiciona o limite de tempo de 100 passos; CustomEnv() direto não adiciona. check_env verifica a consistência da API, não a suficiência de Markov, a correção da recompensa ou a aprendibilidade.

…

Perguntas frequentes

O que é 'aprendizado por reforço'?

É um tipo de aprendizado de máquina onde um agente aprende a tomar decisões recebendo recompensas ou punições por suas ações.

O que são 'ambientes customizados'?

São simulações que você mesmo cria para treinar o agente em situações específicas que não existem prontas.

Por que usar 'ambientes vetorizados'?

Eles permitem rodar várias simulações ao mesmo tempo, o que acelera muito o treinamento do agente.

Detalhes

Descrição original do autor

Trains and evaluates single-agent reinforcement learning with Stable Baselines3 (PPO, SAC, DQN, TD3, DDPG, A2C), Gymnasium custom environments, vectorized rollouts, callbacks, and checkpoint normalization. Applies to reproducible RL experiments, continuous control, discrete actions, and SB3-Contrib recurrent or masked policies.

repo: K-Dense-AI/scientific-agent-skills

Popularidade

Estrelas no GitHub
51 mil
Posição no ranking
#1983
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas