Spaces:
Sleeping
Sleeping
""" | |
The file which does the all work. Calling all the pipeline to do the training. | |
""" | |
from src.TextSummarizer.logger import backend_logger | |
from src.TextSummarizer.pipeline.step_01_data_ingestion import DataIngestionPipeline | |
from src.TextSummarizer.pipeline.step_02_data_validation import DataValidationPipeline | |
from src.TextSummarizer.pipeline.step_03_data_transformation import ( | |
DataTransformationPipeline, | |
) | |
from src.TextSummarizer.pipeline.step_04_train_model import ModelTrainerPipeline | |
from src.TextSummarizer.pipeline.step_05_model_evaluation import ModelEvaluationPipeline | |
stage_name_01: str = "Stage 1: Data Integration Stage" | |
stage_name_02: str = "Stage 2: Data Validation Stage" | |
stage_name_03: str = "Stage 3: Data Transformation Stage" | |
stage_name_04: str = "Stage 4: Model training Stage" | |
stage_name_05: str = "Stage 5: Model Evaluation Stage" | |
line_msg: str = "="*100 | |
try: | |
backend_logger.info(line_msg) | |
backend_logger.info(f"Stage {stage_name_01} started") | |
DataIngestionPipeline().run() | |
backend_logger.info(f"Stage {stage_name_01} completed.") | |
backend_logger.info(line_msg) | |
except Exception as err: | |
backend_logger.error(f"Data ingestion pipeline failed. Reason: {err}") | |
try: | |
backend_logger.info(line_msg) | |
backend_logger.info(f"Stage {stage_name_02} started") | |
DataValidationPipeline().run() | |
backend_logger.info(f"Stage {stage_name_02} completed.") | |
backend_logger.info(line_msg) | |
except Exception as err: | |
backend_logger.error(f"Data validation pipeline failed. Reason: {err}") | |
try: | |
backend_logger.info(line_msg) | |
backend_logger.info(f"Stage {stage_name_03} started") | |
DataTransformationPipeline().run() | |
backend_logger.info(f"Stage {stage_name_03} completed.") | |
backend_logger.info(line_msg) | |
except Exception as err: | |
backend_logger.error(f"Data Transformation pipeline failed. Reason: {err}") | |
# For the device limitations issues, i have trained the model on online and stored the model in huggingface profile. | |
# We can skip the training and model evaluation steps while running locally. | |
try: | |
backend_logger.info(line_msg) | |
backend_logger.info(f"Stage {stage_name_04} started") | |
ModelTrainerPipeline().run() | |
backend_logger.info(f"Stage {stage_name_04} completed.") | |
backend_logger.info(line_msg) | |
except Exception as err: | |
backend_logger.error(f"Data data training pipeline failed. Reason: {err}") | |
try: | |
backend_logger.info(line_msg) | |
backend_logger.info(f"Stage {stage_name_05} started") | |
ModelEvaluationPipeline().run() | |
backend_logger.info(f"Stage {stage_name_05} completed.") | |
backend_logger.info(line_msg) | |
except Exception as err: | |
backend_logger.error(f"Model evaluation pipeline failed. Reason: {err}") | |