# 实验结果汇总脚本说明 ## 1. 脚本位置 1. `tools/summarize_results.py` 2. `tools/summarize_results.sh` ## 2. 脚本做什么 脚本会: 1. 默认扫描 `outputs/experiments/optimized/` 下的 `best.pth` 2. 读取 checkpoint 中保存的 `cfg` 与 `metrics` 3. 提取数据集名、实验模式、epoch、best metric、Dice 和 IoU 4. 导出 CSV 和 Markdown 汇总表 ## 3. 输出文件 默认输出: 1. `results/optimized/experiment_summary.csv` 2. `results/optimized/experiment_summary.md` 当前脚本不再生成单独的边界消融汇总表。 ## 4. 汇总字段 每条结果包含: 1. `dataset` 2. `mode` 3. `ablation_case` 4. `ratio` 5. `epoch` 6. `best_metric` 7. `dice` 8. `iou` 9. `checkpoint` 其中: 1. `dataset` 优先从 checkpoint 内的 `cfg.dataset.dataset_name` 读取 2. `mode` 根据路径中是否包含 `supervised` 推断 3. `ablation_case` 当前保留占位符 4. `ratio` 当前保留占位符 ## 5. 使用方法 默认汇总: ```bash bash tools/summarize_results.sh ``` 指定目录: ```bash OUTPUTS_DIR=outputs RESULTS_DIR=results bash tools/summarize_results.sh ``` 直接调用 Python: ```bash /opt/miniforge3/envs/xnet_mamba/bin/python tools/summarize_results.py --outputs-dir outputs/experiments/optimized --results-dir results/optimized ``` ## 6. 没有结果时的行为 如果还没有任何 `best.pth`,脚本不会报错。 它会生成空表,并打印: ```text num_results: 0 ``` ## 7. 推荐工作流 ```bash DATASET=BUSI bash tools/run_optimized_supervised.sh bash tools/summarize_results.sh sed -n '1,40p' results/optimized/experiment_summary.md ``` 后续可以继续扩展: 1. 自动解析 XNet 消融 case 2. 增加 HD95 / ASSD 3. 增加按数据集分组的最佳结果表 4. 增加跨数据集泛化结果表