跳到主要内容

环境搭建

本章介绍如何搭建强化学习的开发环境,包括 Python 环境配置、Gymnasium 安装、Stable Baselines3 安装等。

系统要求

  • Python 3.8 或更高版本
  • pip 包管理器
  • (可选)NVIDIA GPU + CUDA,用于加速深度强化学习训练

创建虚拟环境

建议使用虚拟环境来隔离项目依赖:

# 使用 venv 创建虚拟环境
python -m venv rl-env

# 激活虚拟环境
# Windows
rl-env\Scripts\activate
# Linux/macOS
source rl-env/bin/activate

或者使用 conda:

# 使用 conda 创建环境
conda create -n rl-env python=3.10
conda activate rl-env

安装核心库

Gymnasium

Gymnasium 是 OpenAI Gym 的维护分支,提供了标准化的强化学习环境接口:

pip install gymnasium

安装特定环境:

# 安装 Atari 环境
pip install gymnasium[atari]

# 安装所有环境
pip install gymnasium[all]

# 安装 Box2D 环境(如 LunarLander)
pip install gymnasium[box2d]

Stable Baselines3

Stable Baselines3(简称 SB3)提供了可靠的强化学习算法实现:

pip install stable-baselines3

安装额外功能:

# 安装 SB3 Contrib(实验性算法)
pip install sb3-contrib

# 安装 RL Zoo(训练框架)
pip install rl_zoo3

PyTorch

深度强化学习需要 PyTorch:

# CPU 版本
pip install torch torchvision

# GPU 版本(CUDA 11.8)
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118

# GPU 版本(CUDA 12.1)
pip install torch torchvision --index-url https://download.pytorch.org/whl/cu121

安装辅助工具

可视化工具

# TensorBoard
pip install tensorboard

# Matplotlib
pip install matplotlib

# Seaborn(更美观的图表)
pip install seaborn

数值计算

pip install numpy pandas scipy

进度显示

pip install tqdm

验证安装

创建一个测试脚本来验证环境是否正确安装:

import gymnasium as gym
import stable_baselines3
import torch

print("=" * 50)
print("环境验证")
print("=" * 50)

print(f"Gymnasium 版本: {gym.__version__}")
print(f"Stable Baselines3 版本: {stable_baselines3.__version__}")
print(f"PyTorch 版本: {torch.__version__}")
print(f"CUDA 可用: {torch.cuda.is_available()}")
if torch.cuda.is_available():
print(f"CUDA 版本: {torch.version.cuda}")
print(f"GPU 设备: {torch.cuda.get_device_name(0)}")

print("\n测试 Gymnasium 环境...")
env = gym.make("CartPole-v1")
print(f"环境名称: CartPole-v1")
print(f"观测空间: {env.observation_space}")
print(f"动作空间: {env.action_space}")

observation, info = env.reset(seed=42)
print(f"初始观测: {observation}")

for _ in range(5):
action = env.action_space.sample()
observation, reward, terminated, truncated, info = env.step(action)
print(f"动作: {action}, 奖励: {reward}, 终止: {terminated}")

env.close()
print("\n环境验证成功!")

运行测试:

python test_env.py

开发工具推荐

Jupyter Notebook

适合交互式学习和实验:

pip install jupyter
jupyter notebook

VS Code

推荐安装以下扩展:

  • Python
  • Pylance
  • Jupyter

Google Colab

免费提供 GPU 资源,适合深度学习实验:

常见问题

Windows 上安装 Box2D 环境

Box2D 在 Windows 上可能需要额外步骤:

# 方法1:使用 conda
conda install -c conda-forge pybox2d

# 方法2:使用预编译包
pip install box2d-py

Atari 环境安装问题

# 安装完整依赖
pip install "gymnasium[atari, accept-rom-license]"

# 或者手动安装 ROM
pip install autorom
AutoROM --accept-license

CUDA 相关问题

确保 PyTorch 版本与 CUDA 版本匹配:

import torch
print(torch.version.cuda) # 查看 PyTorch 编译时的 CUDA 版本

如果版本不匹配,需要重新安装正确版本的 PyTorch。

项目结构建议

一个典型的强化学习项目结构:

rl-project/
├── envs/ # 自定义环境
│ ├── __init__.py
│ └── custom_env.py
├── agents/ # 智能体实现
│ ├── __init__.py
│ └── dqn_agent.py
├── utils/ # 工具函数
│ ├── __init__.py
│ └── replay_buffer.py
├── configs/ # 配置文件
│ └── config.yaml
├── logs/ # 训练日志
├── models/ # 保存的模型
├── train.py # 训练脚本
├── test.py # 测试脚本
└── requirements.txt # 依赖列表

requirements.txt 示例

gymnasium>=0.29.0
stable-baselines3>=2.0.0
torch>=2.0.0
numpy>=1.24.0
matplotlib>=3.7.0
tensorboard>=2.13.0
tqdm>=4.65.0

安装依赖:

pip install -r requirements.txt

小结

本章介绍了强化学习开发环境的搭建,包括:

  • Gymnasium:标准化的强化学习环境接口
  • Stable Baselines3:可靠的算法实现库
  • PyTorch:深度学习框架
  • 各种辅助工具和开发环境

环境搭建完成后,我们就可以开始学习强化学习的核心概念和算法了。下一章将介绍马尔可夫决策过程,这是强化学习的数学基础。