运行强化学习自动驾驶项目 nocturne_lab(Linux)

一. 安装与配置

按照 官方文档 配置项目及下载数据。(注意:使用 git clone 而不是直接下载压缩包,否则会缺少子模块和其他依赖。)

在 Linux 上运行:

# 克隆仓库并下载子模块
git clone --recursive https://github.com/Emerge-Lab/nocturne_lab.git

# 解压数据文件到目标目录
unzip data.zip -d data

# 复制数据到项目数据目录
cp -a ~/data/data/. ~/nocturne_lab/data/

# 进入项目目录
cd nocturne_lab

# 更新系统包并安装必要依赖
sudo apt-get update && sudo apt-get install -y \
  git \
  curl \
  build-essential \
  libssl-dev \
  zlib1g-dev \
  libbz2-dev \
  libreadline-dev \
  libsqlite3-dev \
  libffi-dev

# 安装 pyenv(Python 版本管理工具)
curl https://pyenv.run | bash

# 配置 pyenv 环境变量(将其添加到 .bashrc)
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc

# 重新加载 bash 配置
exec "$SHELL"

# 确认 pyenv 安装成功
pyenv --version

# 安装特定的 Python 版本
pyenv install 3.10.12

# 创建虚拟环境
pyenv virtualenv 3.10.12 nocturne_lab

# 激活虚拟环境并检查 Python 版本
pyenv activate nocturne_lab
python --version

# 设置本地虚拟环境
pyenv local nocturne_lab
pyenv version

# 安装 poetry(Python 依赖管理工具)
pip install poetry

# 确认 poetry 安装成功
poetry --version

# 安装 SFML 库
sudo apt-get install libsfml-dev
#如果磁盘内存不够
#du -sh /root/miniconda3/pkgs/ && rm -rf /root/miniconda3/pkgs/*      # conda的历史包
#du -sh /root/.local/share/Trash && rm -rf /root/.local/share/Trash   # jupyterlab的回收站
# 安装项目的依赖
poetry install

二.实验设置

对于standard MAPPO,设定 λ \lambda λ为0,对于Human-Regularized PPO, λ \lambda λ为0.06。 λ \lambda λ用于控制PPO损失与KL散度在目标函数中所占比例的权重值。目标函数公式如下:
Objective Function

其余超参数按照代码库的默认配置设定。接下来,分别运行standard MAPPO和Human-Regularized PPO。

python experiments/hr_rl/run_hr_ppo_cli.py --reg-weight 0.0
python experiments/hr_rl/run_hr_ppo_cli.py --reg-weight 0.06
Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐