Files
yolov26_3d/eval_tools/model_comparison/compare_models_example.sh
2026-06-24 09:35:46 +08:00

83 lines
2.6 KiB
Bash
Executable File

#!/bin/bash
# Example script for comparing two model evaluation results
#
# Usage: bash eval_tools/compare_models_example.sh
# =============================================================================
# Configuration
# =============================================================================
# Model 1 (mono3d)
# Set PYTHONPATH to project root for module imports
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "${SCRIPT_DIR}/../.." && pwd)"
export PYTHONPATH="${PROJECT_ROOT}:${PYTHONPATH}"
MODEL1_REPORT="eval_results_multiprocess/mono3d/20260203_162537/evaluation_report.json"
MODEL1_NAME="mono3d"
# Model 2 (yolov5s-300w)
MODEL2_REPORT="eval_results_multiprocess/yolov5s/20260203_161644/evaluation_report.json"
MODEL2_NAME="yolov5s-300w"
# Output directory
OUTPUT_DIR="comparison_results/$(date +%Y%m%d_%H%M%S)"
# =============================================================================
# Run Comparison
# =============================================================================
echo "=========================================="
echo "Model Evaluation Comparison"
echo "=========================================="
echo "Model 1: $MODEL1_NAME"
echo " Report: $MODEL1_REPORT"
echo "Model 2: $MODEL2_NAME"
echo " Report: $MODEL2_REPORT"
echo "Output: $OUTPUT_DIR"
echo "=========================================="
# Check if reports exist
if [ ! -f "$MODEL1_REPORT" ]; then
echo "Error: Model 1 report not found: $MODEL1_REPORT"
exit 1
fi
if [ ! -f "$MODEL2_REPORT" ]; then
echo "Error: Model 2 report not found: $MODEL2_REPORT"
exit 1
fi
# Run comparison with visualization
python eval_tools/model_comparison/compare_models_visualize.py \
--model1 "$MODEL1_REPORT" \
--model2 "$MODEL2_REPORT" \
--output-dir "$OUTPUT_DIR" \
--model1-name "$MODEL1_NAME" \
--model2-name "$MODEL2_NAME"
# Check if comparison was successful
if [ $? -eq 0 ]; then
echo ""
echo "✓ Comparison completed successfully!"
echo ""
echo "View results:"
echo " Text report: $OUTPUT_DIR/comparison_report.txt"
echo " JSON report: $OUTPUT_DIR/comparison_report.json"
echo " Plots: $OUTPUT_DIR/comparison_*.png"
echo ""
# Display summary from text report
if [ -f "$OUTPUT_DIR/comparison_report.txt" ]; then
echo "=========================================="
echo "Quick Summary (from report):"
echo "=========================================="
grep -A 20 "2D DETECTION METRICS - OVERALL COMPARISON" "$OUTPUT_DIR/comparison_report.txt" | head -25
fi
else
echo ""
echo "✗ Comparison failed!"
exit 1
fi