File size: 2,302 Bytes
83a82e0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/bin/bash

# Full-data Protocol Evaluation Script for LogSAD
# This script first computes coreset and then runs evaluation for all categories in the MVTEC LOCO dataset

# Dataset path
DATASET_PATH="/root/autodl-tmp/datasets/mvtec_loco_anomaly_detection"

# Categories to evaluate
# CATEGORIES=("breakfast_box" "juice_bottle" "pushpins" "screw_bag" "splicing_connectors")
CATEGORIES=("splicing_connectors")

echo "Starting Full-data Protocol Evaluation..."
echo "Dataset path: $DATASET_PATH"
echo "Categories: ${CATEGORIES[@]}"
echo "=================================="

# Main loop to iterate through all categories
for i in "${!CATEGORIES[@]}"; do
    category="${CATEGORIES[$i]}"
    current=$((i + 1))
    total=${#CATEGORIES[@]}
    
    echo "[$current/$total] Processing category: $category"
    
    # Step 1: Compute coreset for full-data scenarios
    echo "Step 1: Computing coreset for $category"
    echo "Command: python compute_coreset.py --module_path model_ensemble --category $category --dataset_path $DATASET_PATH"
    
    python compute_coreset.py --module_path model_ensemble --category "$category" --dataset_path "$DATASET_PATH"
    
    if [ $? -eq 0 ]; then
        echo "✓ Successfully computed coreset for $category"
    else
        echo "✗ Failed to compute coreset for $category"
        exit 1
    fi
    
    # Step 2: Run evaluation for full-data protocol
    echo "Step 2: Running evaluation for $category"
    echo "Command: python evaluation.py --module_path model_ensemble --category $category --dataset_path $DATASET_PATH --viz"
    
    python evaluation.py --module_path model_ensemble --category "$category" --dataset_path "$DATASET_PATH" --viz
    
    if [ $? -eq 0 ]; then
        echo "✓ Successfully completed evaluation for $category"
    else
        echo "✗ Failed to evaluate $category"
        exit 1
    fi
    
    echo "=================================="
done

echo "All categories processing completed!"
echo ""
echo "Results saved in results/ directory:"
echo "  - Combined results: results/full_data_results.md"

echo "=================================="
echo "Computing average metrics across all categories..."

# Run the average computation script
python scripts/compute_averages.py

echo "✓ Average metrics computation completed"