第二课:开发环境搭建——Python环境配置(Anaconda)、PyTorch安装、MuJoCo安装与配置、Gymnasium库安装、验证环境
好,咱们正式开始动手了。
上一课我们聊了强化学习运动控制的整体框架,你可能已经跃跃欲试了。但别急,工欲善其事,必先利其器。这一课,我就带你一步步把开发环境搭起来。
说实话,我见过太多同学卡在环境配置上。明明代码逻辑没问题,就是跑不起来。嗯,这里我踩过的坑,今天一并帮你填平。
2.1 为什么选择这套技术栈?
你可能要问:Python版本那么多,深度学习框架也一堆,为什么偏偏选Anaconda + PyTorch + MuJoCo + Gymnasium?
我个人习惯是:稳定第一,生态第二。这套组合在机器人强化学习领域,可以说是黄金搭档。
- Anaconda:环境隔离神器。你想想看,一个项目用PyTorch 1.13,另一个用2.0,没有conda你怎么办?
- PyTorch:动态图机制,调试方便。我在项目中用它做策略网络,比TensorFlow顺手太多。
- MuJoCo:物理引擎里的老牌劲旅。速度快,精度高,做运动控制首选。
- Gymnasium:OpenAI Gym的继承者,标准化接口,省去你写环境封装的时间。
核心观点:这套环境搭建好之后,后续30节课的所有代码都能直接跑。一次配置,长期受益。
2.2 Anaconda安装与Python环境配置
先装Anaconda。去官网下载对应你操作系统的版本。我个人建议用Python 3.9或3.10,别追最新版,有些库还没适配。
2.2.1 创建虚拟环境
打开终端(Windows用Anaconda Prompt),执行:
conda create -n rl_motion python=3.9
conda activate rl_motion
这里我习惯把环境命名为rl_motion,你随意。但记住:每个项目一个独立环境,这是血的教训。我曾经因为混用环境,导致一个项目依赖冲突,重装了三次系统。
2.2.2 配置国内镜像源(可选但推荐)
如果你在国内,下载速度可能会很慢。配置清华源:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --set show_channel_urls yes
小技巧:配置完源之后,记得先conda update conda,把conda本身更新到最新,避免一些奇怪的bug。
2.3 PyTorch安装
PyTorch的安装,说白了就是一句话:去官网选你的配置,复制命令。
打开 PyTorch官网,选择你的操作系统、包管理器(Conda/Pip)、CUDA版本。如果你没有NVIDIA显卡,选CPU版本就行。
举个例子,我常用的命令(CUDA 11.8):
conda install pytorch torchvision torchaudio pytorch-cuda=11.8 -c pytorch -c nvidia
或者用pip:
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
注意:CUDA版本一定要和你的显卡驱动匹配。怎么查?终端输入nvidia-smi,看右上角的CUDA Version。如果版本不对,安装后PyTorch会报错,说找不到CUDA。
安装完成后,验证一下:
python -c "import torch; print(torch.__version__); print(torch.cuda.is_available())"
如果输出True,恭喜你,PyTorch装好了。如果是False,别慌,检查一下CUDA版本或者直接用CPU版本。
2.4 MuJoCo安装与配置
MuJoCo的安装,嗯,这里曾经是最大的坑。不过现在简单多了。
2.4.1 获取MuJoCo
从2021年底开始,MuJoCo开源了,不再需要申请license。直接pip安装:
pip install mujoco
这会安装MuJoCo 2.3.x版本,以及Python绑定。
2.4.2 验证MuJoCo
写个简单脚本测试:
import mujoco
import mujoco.viewer
# 加载一个简单的模型
xml = """
"""
model = mujoco.MjModel.from_xml_string(xml)
data = mujoco.MjData(model)
# 模拟一步
mujoco.mj_step(model, data)
print("MuJoCo works! Box position:", data.qpos[:3])
如果输出位置信息,说明MuJoCo安装成功。
避坑指南:我曾经在Windows上遇到mujoco导入报错,提示缺少vcruntime140.dll。解决方案是安装Microsoft Visual C++ Redistributable。去微软官网下载最新版就行。
2.4.3 配置渲染(可选)
如果你想看可视化窗口,需要安装mujoco-python-viewer:
pip install mujoco-python-viewer
然后运行上面的代码,把mujoco.viewer换成mujoco_python_viewer即可。
2.5 Gymnasium库安装
Gymnasium是OpenAI Gym的升级版,接口更规范,维护更积极。
2.5.1 安装Gymnasium
pip install gymnasium
如果你需要MuJoCo环境,再安装:
pip install gymnasium[mujoco]
这会自动安装MuJoCo相关的依赖。
2.5.2 测试Gymnasium环境
import gymnasium as gym
env = gym.make("HalfCheetah-v4", render_mode="human")
observation, info = env.reset()
for _ in range(100):
action = env.action_space.sample() # 随机动作
observation, reward, terminated, truncated, info = env.step(action)
if terminated or truncated:
observation, info = env.reset()
env.close()
如果能看到猎豹在跑,说明环境搭建成功。
小提示:第一次运行会下载MuJoCo模型文件,可能需要几秒钟。如果卡住了,检查网络连接。
2.6 验证环境——一个完整的测试脚本
最后,我们来写一个综合测试脚本,验证所有组件是否正常工作:
import torch
import gymnasium as gym
import mujoco
print("=" * 50)
print("环境验证报告")
print("=" * 50)
# 1. 验证PyTorch
print(f"PyTorch版本: {torch.__version__}")
print(f"CUDA可用: {torch.cuda.is_available()}")
# 2. 验证MuJoCo
print(f"MuJoCo版本: {mujoco.__version__}")
# 3. 验证Gymnasium
env = gym.make("Ant-v4")
print(f"Gymnasium环境: Ant-v4")
print(f"观测空间: {env.observation_space.shape}")
print(f"动作空间: {env.action_space.shape}")
# 4. 简单模拟
obs, _ = env.reset()
for i in range(10):
action = env.action_space.sample()
obs, reward, terminated, truncated, _ = env.step(action)
print(f"步数 {i+1}: 奖励={reward:.2f}")
if terminated or truncated:
break
env.close()
print("=" * 50)
print("所有组件验证通过!")
print("=" * 50)
运行这个脚本,如果一切正常,你会看到类似下面的输出:
==================================================
环境验证报告
==================================================
PyTorch版本: 2.1.0
CUDA可用: True
MuJoCo版本: 2.3.7
Gymnasium环境: Ant-v4
观测空间: (27,)
动作空间: (8,)
步数 1: 奖励=0.45
步数 2: 奖励=0.52
...
==================================================
所有组件验证通过!
==================================================
2.7 知识体系总览
为了让你更直观地理解本章的知识结构,我画了一张图:
这张图把本章的知识点串起来了。你看,四个核心组件围绕一个中心目标,每个组件都有它的关键配置点。最后,用一个综合测试脚本把所有组件串联验证。
2.8 常见问题与解决方案
| 问题 | 原因 | 解决方案 |
|---|---|---|
| conda命令找不到 | 未添加到环境变量 | 重新安装时勾选"Add to PATH" |
| PyTorch导入报错 | CUDA版本不匹配 | 用torch.cuda.is_available()检查 |
| MuJoCo无法渲染 | 缺少OpenGL依赖 | 安装libgl1-mesa-glx(Linux) |
| Gymnasium环境加载慢 | 首次下载模型文件 | 耐心等待,或手动下载 |
重要提醒:如果你在Windows上遇到任何dll缺失问题,大概率是Visual C++ Redistributable没装。去微软官网下载vc_redist.x64.exe安装即可。
好了,环境搭建就到这里。你可能会觉得步骤有点多,但相信我,一次配好,后面30节课你都能直接跑代码,省心省力。
如果你在安装过程中遇到任何问题,别硬扛。检查一下版本号、路径、环境变量,90%的问题都能解决。剩下的10%,嗯,我当年也踩过,欢迎交流。
公众号:蓝海资料掘金营,微信deep3321