refactor: replace block characters with standard ASCII in logs and add runs directory to gitignore
parent
ec91450f56
commit
3383830c08
|
|
@ -6,3 +6,4 @@ dataset/
|
||||||
video_data/
|
video_data/
|
||||||
checkpoints/
|
checkpoints/
|
||||||
logs/
|
logs/
|
||||||
|
runs/
|
||||||
|
|
|
||||||
|
|
@ -43,9 +43,9 @@ logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
def phase1_extract():
|
def phase1_extract():
|
||||||
"""Phase 1: Extract dataset from videos."""
|
"""Phase 1: Extract dataset from videos."""
|
||||||
logger.info("\n" + "█" * 60)
|
logger.info("\n" + "=" * 60)
|
||||||
logger.info("█ PHASE 1: DATASET EXTRACTION")
|
logger.info("= PHASE 1: DATASET EXTRACTION")
|
||||||
logger.info("█" * 60 + "\n")
|
logger.info("=" * 60 + "\n")
|
||||||
|
|
||||||
from extract_dataset import extract_all
|
from extract_dataset import extract_all
|
||||||
stats = extract_all()
|
stats = extract_all()
|
||||||
|
|
@ -54,9 +54,9 @@ def phase1_extract():
|
||||||
|
|
||||||
def phase2_split():
|
def phase2_split():
|
||||||
"""Phase 2: Split dataset by camera."""
|
"""Phase 2: Split dataset by camera."""
|
||||||
logger.info("\n" + "█" * 60)
|
logger.info("\n" + "=" * 60)
|
||||||
logger.info("█ PHASE 2: CAMERA-LEVEL TRAIN/TEST SPLIT")
|
logger.info("= PHASE 2: CAMERA-LEVEL TRAIN/TEST SPLIT")
|
||||||
logger.info("█" * 60 + "\n")
|
logger.info("=" * 60 + "\n")
|
||||||
|
|
||||||
from split_dataset import split_dataset
|
from split_dataset import split_dataset
|
||||||
split_info = split_dataset()
|
split_info = split_dataset()
|
||||||
|
|
@ -65,9 +65,9 @@ def phase2_split():
|
||||||
|
|
||||||
def phase3_train():
|
def phase3_train():
|
||||||
"""Phase 3: Train model."""
|
"""Phase 3: Train model."""
|
||||||
logger.info("\n" + "█" * 60)
|
logger.info("\n" + "=" * 60)
|
||||||
logger.info("█ PHASE 3: MODEL TRAINING")
|
logger.info("= PHASE 3: MODEL TRAINING")
|
||||||
logger.info("█" * 60 + "\n")
|
logger.info("=" * 60 + "\n")
|
||||||
|
|
||||||
from train_model import train_model
|
from train_model import train_model
|
||||||
best_weights = train_model()
|
best_weights = train_model()
|
||||||
|
|
@ -78,10 +78,10 @@ def run_pipeline(start_phase: int = 1, extract_only: bool = False):
|
||||||
"""Run the full pipeline from the specified starting phase."""
|
"""Run the full pipeline from the specified starting phase."""
|
||||||
pipeline_start = datetime.now()
|
pipeline_start = datetime.now()
|
||||||
|
|
||||||
logger.info("╔" + "═" * 58 + "╗")
|
logger.info("+" + "-" * 58 + "+")
|
||||||
logger.info("║ PERSON DETECTION PIPELINE ║")
|
logger.info("| PERSON DETECTION PIPELINE |")
|
||||||
logger.info("║ " + f"Started: {pipeline_start.strftime('%Y-%m-%d %H:%M:%S')}".ljust(57) + "║")
|
logger.info("| " + f"Started: {pipeline_start.strftime('%Y-%m-%d %H:%M:%S')}".ljust(57) + "|")
|
||||||
logger.info("╚" + "═" * 58 + "╝")
|
logger.info("+" + "-" * 58 + "+")
|
||||||
logger.info("")
|
logger.info("")
|
||||||
logger.info(f"Configuration:")
|
logger.info(f"Configuration:")
|
||||||
logger.info(f" Video directory: {cfg.VIDEO_DIR}")
|
logger.info(f" Video directory: {cfg.VIDEO_DIR}")
|
||||||
|
|
@ -123,10 +123,10 @@ def run_pipeline(start_phase: int = 1, extract_only: bool = False):
|
||||||
pipeline_end = datetime.now()
|
pipeline_end = datetime.now()
|
||||||
total_duration = pipeline_end - pipeline_start
|
total_duration = pipeline_end - pipeline_start
|
||||||
|
|
||||||
logger.info("\n" + "╔" + "═" * 58 + "╗")
|
logger.info("\n" + "+" + "-" * 58 + "+")
|
||||||
logger.info("║ PIPELINE COMPLETED SUCCESSFULLY ║")
|
logger.info("| PIPELINE COMPLETED SUCCESSFULLY |")
|
||||||
logger.info("║ " + f"Duration: {total_duration}".ljust(57) + "║")
|
logger.info("| " + f"Duration: {total_duration}".ljust(57) + "|")
|
||||||
logger.info("╚" + "═" * 58 + "╝")
|
logger.info("+" + "-" * 58 + "+")
|
||||||
|
|
||||||
except KeyboardInterrupt:
|
except KeyboardInterrupt:
|
||||||
logger.warning("\n\nPipeline interrupted by user. Progress has been checkpointed.")
|
logger.warning("\n\nPipeline interrupted by user. Progress has been checkpointed.")
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue