完善项目目录结构

This commit is contained in:
2026-02-03 16:24:15 +08:00
parent 21c046aef0
commit 03dee0205a
27 changed files with 558 additions and 568 deletions

View File

@@ -22,36 +22,31 @@
---
### 回放与可视化
### 可视化(统一入口)
| 脚本 | 用途 | 用法示例 |
|------|------|----------|
| [visualize_replay.py](visualize_replay.py) | 原始专家轨迹回放ExpertReplayEnv | `python scripts/visualize_replay.py --data_dir data/exp_filtered --num_scenarios 1 --horizon 200` |
| [visualize_trained_policy.py](visualize_trained_policy.py) | **BC/MAGAIL 共用**:加载训练好的策略在 45 维场景中可视化 | 见下方「训练策略可视化」小节 |
| [visualize.py](visualize.py) | **replay**:场景回放ExpertReplayEnv**policy**BC/MAGAIL 策略;**trajectory**:专家轨迹 2D 动画 | 见下方 |
#### 训练策略可视化visualize_trained_policy.py
**子命令**
使用训练好的 **BC****MAGAIL** 模型在 45 维场景环境中运行并实时渲染俯瞰图top-down view。统一入口`scripts/visualize_trained_policy.py`
**BC 模型**
- **replay**(原始专家轨迹回放):
```bash
python scripts/visualize_trained_policy.py --policy_type bc --model_path models/bc/policy_best.pt --data_dir data/exp_filtered --num_scenarios 1
python scripts/visualize.py replay --data_dir data/exp_filtered --num_scenarios 1 --horizon 500
```
**MAGAIL 模型**
- **policy**BC 或 MAGAIL 训练策略)
```bash
python scripts/visualize_trained_policy.py --policy_type magail --model_path models/magail/model_50_actor.pth --data_dir data/exp_filtered --num_scenarios 1 --deterministic
python scripts/visualize.py policy --policy_type bc --model_path models/bc/policy_best.pt --data_dir data/exp_filtered --num_scenarios 1
python scripts/visualize.py policy --policy_type magail --model_path models/magail/model_50_actor.pth --num_scenarios 1 --deterministic
```
**自动推断类型**(根据 `--model_path` 扩展名:`.pt` → BC否则 → MAGAIL
- **trajectory**(专家轨迹 matplotlib 俯视图动画
```bash
python scripts/visualize_trained_policy.py --model_path models/bc/policy_best.pt
python scripts/visualize_trained_policy.py --model_path models/magail/model_50_actor.pth
python scripts/visualize.py trajectory --data_dir data/exp_filtered --scenario_idx 0
```
**根目录 BC 薄包装**`python visualize_bc.py --model_path models/bc/policy_best.pt`
**参数**`--policy_type``auto`|`bc`|`magail`)、`--model_path`(默认 `models/bc/policy_best.pt`)、`--data_dir``--start_index``--num_scenarios``--horizon``--deterministic`(仅 MAGAIL。环境统一为 45 维 `BCScenarioEnv`,渲染为 MetaDrive top_down。数据目录未指定时默认 `data/exp_filtered`(不存在则 `data/exp_converted`)。
**公共参数**`--data_dir`(默认 `data/exp_filtered`)、`--start_index``--num_scenarios``--horizon`。policy 模式另有 `--policy_type`auto/bc/magail`--model_path``--deterministic`(仅 MAGAIL
---
@@ -62,7 +57,6 @@ python scripts/visualize_trained_policy.py --model_path models/magail/model_50_a
| [analyze_expert_data.py](analyze_expert_data.py) | 分析专家数据分布与统计 | 见脚本内 `__main__`(依赖 env 与数据目录配置) |
| [check_track_fields.py](check_track_fields.py) | 检查 Waymo 轨迹字段 | 见脚本内 `__main__` |
| [check_database_info.py](check_database_info.py) | 检查数据库/场景信息 | 见脚本内 `__main__`(含硬编码路径,可按需改为 `data/exp_filtered` |
| [visualize_expert_trajectory.py](visualize_expert_trajectory.py) | 用 matplotlib 画专家轨迹动画 | 依赖 `env.expert_trajectories`,与当前 env 接口可能不一致,可选使用 |
---
@@ -79,4 +73,4 @@ python scripts/visualize_trained_policy.py --model_path models/magail/model_50_a
1. **数据准备**`generate_expert_data.py` → 输出到 `data/training_data/*.pkl`
2. **BC 训练**:根目录 `train_bc.py` → 模型保存到 `models/bc/`,日志到 `logs/bc/`
3. **MAGAIL 训练**:根目录 `train_magail.py` → 模型保存到 `models/magail/`,日志到 `logs/magail/`
4. **可视化**`visualize_trained_policy.py`(或根目录 `visualize_bc.py` 仅 BC→ 从 `models/bc``models/magail` 加载模型,数据目录默认 `data/exp_filtered`
4. **可视化**`scripts/visualize.py`(子命令 replay / policy / trajectory数据目录默认 `data/exp_filtered`