File size: 2,743 Bytes
34b369f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
67
68
69
70
71
72
73
74
75
"""
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}")