扫地机器人强化学习——1.2 开发环境搭建
开发环境搭建说明
强化学习项目不只是一段“训练代码”。它通常包含地图读取、环境模拟、算法训练、模型保存、曲线记录和结果可视化等工作。开发环境就是让这些工作能在你的电脑上稳定运行的一套工具组合。对初学者来说,最重要的原则是:先把运行环境搭起来,再逐步理解每一个库,不要一开始就被大量安装选项吓住。
| 工具 | 它解决什么问题 | 本章先记住什么 |
|---|---|---|
| Python | 编写环境、训练和评估脚本的编程语言。 | 它是本项目的主要语言。 |
| PyTorch | 处理张量并搭建神经网络的深度学习框架。 | 后续用它表示和训练策略网络。 |
| Gymnasium | 统一描述强化学习环境的工具库。 | 它规定 reset、step 等环境接口。 |
| Stable-Baselines3 | 封装常用强化学习算法的库。 | 后续可直接调用 PPO 等算法训练。 |
四个工具分别做什么
Python 是一种易读、生态丰富的编程语言,可用于描述地图、奖励规则和训练流程。本文示例使用直白的变量名和注释,便于具备基础 Python 知识的读者理解。建议使用 Python 3.11;这与本项目配置保持一致,也能较好兼容后续依赖。
PyTorch 是一个深度学习框架。张量(Tensor)可先理解为能高效计算的数字表格,例如一批机器人的状态、神经网络参数和奖励数据都可以放入张量中。当状态很复杂、无法用简单表格穷举时,可借助 PyTorch 训练神经网络。它不是第一节 Hello World 的必需品,却是后续 PPO 训练的重要基础。
Gymnasium 是强化学习环境的通用接口库。它规定环境通过 reset() 初始化新回合,通过 step(action) 接收动作并返回状态、奖励、终止标记及附加信息。遵循该接口后,扫地机器人环境可直接与训练算法连接。
Stable-Baselines3 是强化学习算法工具库,其中封装了 PPO、DQN 等常用算法。可将其理解为经过验证的训练器:项目实现的重点放在设计正确的环境和奖励,而不是从零编写每个复杂算法。本项目训练配置会使用 RecurrentPPO,即带记忆能力的 PPO 变体,帮助机器人利用连续观测信息。
Windows上的最小安装流程
下面给出 Windows 环境下的示例。不同电脑的命令提示符可能略有差异,关键是按顺序执行,并在出现报错时先确认 Python 版本和虚拟环境是否正确。虚拟环境(Virtual Environment)可以理解为“给这个项目单独准备的工具箱”,它避免本项目安装的库影响电脑上其他 Python 项目。
# 1. 在 PowerShell 中确认 Python 已安装;建议看到 3.11.x
python --version
# 2. 进入你准备放代码的文件夹后,创建名为 .venv 的虚拟环境
python -m venv .venv
# 3. 激活虚拟环境;命令行前会出现 (.venv)
.\.venv\Scripts\Activate.ps1
# 4. 升级安装工具,并安装本章与后续训练会用到的基础库
python -m pip install --upgrade pip
pip install torch gymnasium stable-baselines3 sb3-contrib
# 5. 检查关键库是否能被 Python 导入
python -c "import torch, gymnasium, stable_baselines3; print('环境准备完成')"
Windows 提示 如果 PowerShell 拒绝执行 Activate.ps1,可先在当前窗口执行 Set-ExecutionPolicy -Scope Process Bypass,然后再激活虚拟环境。这个设置只影响当前窗口;关闭窗口后会恢复。
本仓库已经用 pyproject.toml 和 uv.lock 记录了项目依赖。等你进入后续完整训练时,可以根据仓库 README 的说明安装依赖;本章的 Hello World 为了突出强化学习思想,只使用 Python 标准库,不强制依赖 PyTorch 或 Stable-Baselines3。这样即使安装尚未完成,也能先把最核心的试错过程跑起来。


浙公网安备 33010602011771号