Files
MAGAIL4AutoDrive/scripts/README.md
2026-02-02 01:18:18 +08:00

4.2 KiB
Raw Blame History

scripts 工具脚本说明

本目录包含数据生成、回放、可视化与分析等工具脚本。训练脚本(train_bc.pytrain_magail.py)位于项目根目录。

路径约定(相对项目根)

  • 数据data/exp_filteredWaymo 场景)、data/training_data(专家 pkl 输出)
  • 模型models/bc/BCmodels/magail/MAGAIL
  • 日志logs/bc/logs/magail/TensorBoard

脚本列表与用法

数据生成

脚本 用途 用法示例
generate_expert_data.py 从 Waymo 数据生成专家 (obs, act) 的 pkl python scripts/generate_expert_data.py --data_dir data/exp_filtered --output_dir data/training_data --num_scenarios 100

常用参数--data_dir(默认 data/exp_filtered)、--output_dir(默认 data/training_data)、--start_index--num_scenarios


回放与可视化

脚本 用途 用法示例
visualize_replay.py 原始专家轨迹回放ExpertReplayEnv python scripts/visualize_replay.py --data_dir data/exp_filtered --num_scenarios 1 --horizon 200
visualize_trained_policy.py BC/MAGAIL 共用:加载训练好的策略在 45 维场景中可视化 见下方「训练策略可视化」小节

训练策略可视化visualize_trained_policy.py

使用训练好的 BCMAGAIL 模型在 45 维场景环境中运行并实时渲染俯瞰图top-down view。统一入口scripts/visualize_trained_policy.py

BC 模型

python scripts/visualize_trained_policy.py --policy_type bc --model_path models/bc/policy_best.pt --data_dir data/exp_filtered --num_scenarios 1

MAGAIL 模型

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

自动推断类型(根据 --model_path 扩展名:.pt → BC否则 → MAGAIL

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

根目录 BC 薄包装python visualize_bc.py --model_path models/bc/policy_best.pt

参数--policy_typeauto|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)。


数据分析与检查

脚本 用途 用法示例
analyze_expert_data.py 分析专家数据分布与统计 见脚本内 __main__(依赖 env 与数据目录配置)
check_track_fields.py 检查 Waymo 轨迹字段 见脚本内 __main__
check_database_info.py 检查数据库/场景信息 见脚本内 __main__(含硬编码路径,可按需改为 data/exp_filtered
visualize_expert_trajectory.py 用 matplotlib 画专家轨迹动画 依赖 env.expert_trajectories,与当前 env 接口可能不一致,可选使用

其他

脚本 用途 用法示例
launch_tensorboard.py 启动 TensorBoard python scripts/launch_tensorboard.py --logdir logs(或 logs/bc / logs/magail

与训练流程的对应关系

  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/bcmodels/magail 加载模型,数据目录默认 data/exp_filtered