| .. | ||
| data | ||
| __init__.py | ||
| 1.1_eval_success_qp_rates.pdf | ||
| 1.1_eval_success_qp_rates.png | ||
| 1.2_eval_mean_return.pdf | ||
| 1.2_eval_mean_return.png | ||
| 1.3_train_entropy.pdf | ||
| 1.3_train_entropy.png | ||
| 1.4_train_intervention_rate.pdf | ||
| 1.4_train_intervention_rate.png | ||
| 1.5_train_reward.pdf | ||
| 1.5_train_reward.png | ||
| fig1_training_curves.pdf | ||
| fig1_training_curves.png | ||
| fig1_training_curves.py | ||
| fig2_trajectory_3d_interactive_full50.html | ||
| fig2_trajectory_3d_interactive.html | ||
| fig2_trajectory_3d_interactive.py | ||
| fig2_trajectory_3d_v2.py | ||
| fig2_trajectory_3d.pdf | ||
| fig2_trajectory_3d.png | ||
| fig2_trajectory_3d.py | ||
| fig3_state_convergence.pdf | ||
| fig3_state_convergence.png | ||
| fig3_state_convergence.py | ||
| fig4_control_decomposition.pdf | ||
| fig4_control_decomposition.png | ||
| fig4_control_decomposition.py | ||
| fig5_safety_analysis.pdf | ||
| fig5_safety_analysis.png | ||
| fig5_safety_analysis.py | ||
| fig6_ablation.pdf | ||
| fig6_ablation.png | ||
| fig6_ablation.py | ||
| fig7_monte_carlo.pdf | ||
| fig7_monte_carlo.png | ||
| fig7_monte_carlo.py | ||
| fig8_error_convergence.pdf | ||
| fig8_error_convergence.png | ||
| fig8_error_convergence.py | ||
| generate_all.py | ||
| generate_plot_from_checkpoint.py | ||
| parse_training_logs.py | ||
| plot_config.py | ||
| README.md | ||
| run_evaluation.py | ||
STELLAR 论文图表生成
本目录包含用于生成期刊论文图表的 Python 脚本。
快速开始
# 1. 解析训练日志 → CSV
python -m Plots.parse_training_logs
# 2. 运行模型评估 → .npz 轨迹数据
python -m Plots.run_evaluation --n_episodes 50
# 3. 生成全部图表
python -m Plots.generate_all --plot_only
# 或一键完成全部流程
python -m Plots.generate_all --full
图表清单
| 编号 | 文件 | 内容 | 数据来源 |
|---|---|---|---|
| 图 1 | fig1_training_curves.py |
训练收敛(成功率、回报、熵、介入率) | CSV / TB CSV |
| 图 2 | fig2_trajectory_3d.py |
3D 轨迹 + 安全约束可视化 | .npz |
| 图 3 | fig3_state_convergence.py |
位置/速度时间历程 | .npz |
| 图 4 | fig4_control_decomposition.py |
控制分解(u_nom, u_res, u_applied) | .npz |
| 图 5 | fig5_safety_analysis.py |
HOCBF 约束值 (h_c, h_a, h_ℓ) | .npz |
| 图 6 | fig6_ablation.py |
消融实验对比柱状图 | 消融评估 |
| 图 7 | fig7_monte_carlo.py |
蒙特卡洛统计(误差散点/分布/奖励) | .npz |
| 图 8 | fig8_error_convergence.py |
误差收敛包络 | .npz |
基础设施
plot_config.py— 全局样式(字体、颜色、尺寸)parse_training_logs.py— 训练日志解析(多阶段文本 + TensorBoard)run_evaluation.py— 模型评估与轨迹数据采集generate_all.py— 一键流水线
数据位置
- 训练日志:
Logs/contv3_hybrid40h_v2_20260316_140251/train.log - 最佳检查点:
Checkpoint/contv3_hybrid40h_v2_20260316_140251/phase2/best_model.pt - TB 导出 CSV:
Plots/tb_exports/tb_scalars_all.csv - 中间数据:
Plots/data/(解析后的 CSV 和评估 .npz)
输出格式
每张图同时输出 PDF(矢量)和 PNG(300 dpi),保存于 Plots/ 根目录。