Files
MAGAIL4AutoDrive/scripts/README_visualize.md

3.4 KiB
Raw Blame History

模型可视化脚本使用说明

功能

使用训练好的MAGAIL模型在环境中运行并生成俯瞰效果图top-down view

使用方法

基本用法

python scripts/visualize_trained_model.py \
    --model_dir runs/magail_0113 \
    --episode 1250 \
    --data_dir data/exp_filtered \
    --num_scenarios 1 \
    --output_dir visualizations

参数说明

  • --model_dir: 模型保存目录(例如:runs/magail_0113
  • --episode: 要加载的episode编号例如1250
  • --data_dir: Waymo数据目录默认data/exp_filtered
  • --start_index: 起始场景索引(默认:0
  • --num_scenarios: 要运行的场景数量(默认:1
  • --horizon: 每个episode的最大步数默认200
  • --output_dir: 输出图像保存目录(默认:visualizations
  • --save_all_frames: 保存所有帧(否则按间隔保存)
  • --save_interval: 保存帧的间隔,当不使用--save_all_frames时生效(默认:10
  • --gif_duration: GIF每帧持续时间毫秒默认50ms20fps。值越小GIF播放越快

示例

1. 查看最新训练的模型episode 1250

python scripts/visualize_trained_model.py \
    --model_dir runs/magail_0113 \
    --episode 1250 \
    --num_scenarios 3 \
    --output_dir visualizations/episode_1250

2. 保存所有帧(用于制作视频)

python scripts/visualize_trained_model.py \
    --model_dir runs/magail_0113 \
    --episode 1250 \
    --save_all_frames \
    --output_dir visualizations/episode_1250_all_frames

3. 每5步保存一帧

python scripts/visualize_trained_model.py \
    --model_dir runs/magail_0113 \
    --episode 1250 \
    --save_interval 5 \
    --output_dir visualizations/episode_1250_sparse

4. 生成更快的GIF30fps

python scripts/visualize_trained_model.py \
    --model_dir runs/magail_0113 \
    --episode 1250 \
    --gif_duration 33 \
    --output_dir visualizations/episode_1250

输出

脚本会在指定的输出目录中创建以下文件:

  • scenario_{idx}.gif: 场景动画GIF(主要输出)
  • scenario_{idx}_step_{step:04d}.png: 每个保存步骤的俯瞰图(可选)
  • scenario_{idx}_final.png: 每个场景的最终状态图

GIF格式

  • 分辨率1600x900
  • 格式GIF动画
  • 包含完整的场景运行过程
  • 显示场景编号、步数、智能体数量和奖励信息
  • 默认帧率20fps可通过--gif_duration调整)

图像格式

  • 分辨率1600x900
  • 格式PNG
  • 包含语义地图和车辆轨迹

注意事项

  1. GPU要求: 脚本需要CUDA支持如果没有GPU会自动使用CPU速度较慢
  2. 渲染模式: 使用MetaDrive的top-down渲染模式会弹出窗口显示实时渲染
  3. 内存占用: 如果保存所有帧,会占用较多磁盘空间
  4. 场景数据: 确保--data_dir指向正确的Waymo数据目录

故障排除

模型文件不存在

FileNotFoundError: 模型文件不存在: runs/magail_0113/model_1250_actor.pth

解决: 检查模型目录和episode编号是否正确

场景数据不存在

ValueError: Data directory not found

解决: 确保--data_dir指向正确的数据目录

渲染失败

如果遇到渲染相关错误,可以尝试:

  • 降低film_size参数(在脚本中修改)
  • 使用无头模式(需要修改脚本)