52 lines
3.5 KiB
Bash
Executable File
52 lines
3.5 KiB
Bash
Executable File
#!/bin/bash
|
|
echo "=== ReduceLROnPlateau Implementation Verification ==="
|
|
echo ""
|
|
echo "1. Checking reduce_lr_on_plateau.rs exists..."
|
|
test -f src/schedulers/reduce_lr_on_plateau.rs && echo " ✓ File exists ($(wc -l < src/schedulers/reduce_lr_on_plateau.rs) lines)" || echo " ✗ File missing"
|
|
|
|
echo ""
|
|
echo "2. Checking key structs and enums..."
|
|
grep -q "pub struct ReduceLROnPlateauScheduler" src/schedulers/reduce_lr_on_plateau.rs && echo " ✓ ReduceLROnPlateauScheduler struct" || echo " ✗ Missing"
|
|
grep -q "pub struct ReduceLROnPlateauBuilder" src/schedulers/reduce_lr_on_plateau.rs && echo " ✓ ReduceLROnPlateauBuilder struct" || echo " ✗ Missing"
|
|
grep -q "pub enum PlateauMode" src/schedulers/reduce_lr_on_plateau.rs && echo " ✓ PlateauMode enum" || echo " ✗ Missing"
|
|
grep -q "pub enum ThresholdMode" src/schedulers/reduce_lr_on_plateau.rs && echo " ✓ ThresholdMode enum" || echo " ✗ Missing"
|
|
|
|
echo ""
|
|
echo "3. Checking key methods..."
|
|
grep -q "pub fn step_metric" src/schedulers/reduce_lr_on_plateau.rs && echo " ✓ step_metric() method" || echo " ✗ Missing"
|
|
grep -q "fn is_improvement" src/schedulers/reduce_lr_on_plateau.rs && echo " ✓ is_improvement() method" || echo " ✗ Missing"
|
|
grep -q "fn reduce_lr" src/schedulers/reduce_lr_on_plateau.rs && echo " ✓ reduce_lr() method" || echo " ✗ Missing"
|
|
grep -q "pub fn builder" src/schedulers/reduce_lr_on_plateau.rs && echo " ✓ builder() method" || echo " ✗ Missing"
|
|
|
|
echo ""
|
|
echo "4. Checking LearningRateScheduler trait implementation..."
|
|
grep -q "impl LearningRateScheduler for ReduceLROnPlateauScheduler" src/schedulers/reduce_lr_on_plateau.rs && echo " ✓ Trait implemented" || echo " ✗ Missing"
|
|
|
|
echo ""
|
|
echo "5. Checking test coverage..."
|
|
test_count=$(grep -c "fn test_" src/schedulers/reduce_lr_on_plateau.rs)
|
|
echo " ✓ $test_count tests found"
|
|
|
|
echo ""
|
|
echo "6. Checking mod.rs integration..."
|
|
grep -q "pub mod reduce_lr_on_plateau" src/schedulers/mod.rs && echo " ✓ Module declared" || echo " ✗ Missing"
|
|
grep -q "pub use reduce_lr_on_plateau::{ReduceLROnPlateauScheduler" src/schedulers/mod.rs && echo " ✓ Types re-exported" || echo " ✗ Missing"
|
|
grep -q "ReduceLROnPlateau(ReduceLROnPlateauConfig)" src/schedulers/mod.rs && echo " ✓ Config enum variant" || echo " ✗ Missing"
|
|
grep -q "pub struct ReduceLROnPlateauConfig" src/schedulers/mod.rs && echo " ✓ Config struct" || echo " ✗ Missing"
|
|
grep -q "SchedulerConfig::ReduceLROnPlateau" src/schedulers/mod.rs && echo " ✓ create_scheduler() case" || echo " ✗ Missing"
|
|
|
|
echo ""
|
|
echo "7. Checking key tests..."
|
|
grep -q "fn test_pinn_training_scenario" src/schedulers/reduce_lr_on_plateau.rs && echo " ✓ PINN training scenario test" || echo " ✗ Missing"
|
|
grep -q "fn test_min_mode_lr_reduction" src/schedulers/reduce_lr_on_plateau.rs && echo " ✓ Min mode test" || echo " ✗ Missing"
|
|
grep -q "fn test_cooldown" src/schedulers/reduce_lr_on_plateau.rs && echo " ✓ Cooldown test" || echo " ✗ Missing"
|
|
|
|
echo ""
|
|
echo "8. Checking parameter validation..."
|
|
grep -q "if self.initial_lr <= 0.0" src/schedulers/reduce_lr_on_plateau.rs && echo " ✓ initial_lr validation" || echo " ✗ Missing"
|
|
grep -q "if self.factor <= 0.0 || self.factor >= 1.0" src/schedulers/reduce_lr_on_plateau.rs && echo " ✓ factor validation" || echo " ✗ Missing"
|
|
grep -q "if self.min_lr >= self.initial_lr" src/schedulers/reduce_lr_on_plateau.rs && echo " ✓ min_lr validation" || echo " ✗ Missing"
|
|
|
|
echo ""
|
|
echo "=== Verification Complete ==="
|