Spaces:
Sleeping
Sleeping
| """CLI script to evaluate the trained model.""" | |
| import sys | |
| from pathlib import Path | |
| import argparse | |
| # Add project root to path | |
| project_root = Path(__file__).parent.parent | |
| sys.path.insert(0, str(project_root)) | |
| from mlpipeline.components.model_evaluation import ModelEvaluation | |
| from mlpipeline.config.configuration import ConfigurationManager | |
| from mlpipeline.logging.logger import get_logger | |
| logger = get_logger(__name__) | |
| def main(): | |
| """Evaluate the trained model.""" | |
| parser = argparse.ArgumentParser(description="Evaluate AutoML model") | |
| parser.add_argument( | |
| "--model-path", | |
| type=str, | |
| default=None, | |
| help="Path to model directory (default: from config)" | |
| ) | |
| args = parser.parse_args() | |
| try: | |
| logger.info("Starting model evaluation...") | |
| config_manager = ConfigurationManager() | |
| eval_config = config_manager.get_model_evaluation_config() | |
| # Override model path if provided | |
| if args.model_path: | |
| eval_config.model_path = Path(args.model_path) | |
| evaluator = ModelEvaluation(eval_config) | |
| metrics = evaluator.evaluate() | |
| logger.info("✅ Evaluation completed!") | |
| logger.info(f"Metrics: {metrics}") | |
| return 0 | |
| except Exception as e: | |
| logger.error(f"❌ Evaluation failed: {e}") | |
| return 1 | |
| if __name__ == "__main__": | |
| exit(main()) | |