1+ from network_security .components .data_ingestion import DataIngestion
2+ from network_security .components .data_validation import DataValidation
3+ from network_security .components .data_transformation import DataTransformation
4+ from network_security .components .model_trainer import ModelTrainer
5+
6+ from network_security .entity .config_entity import (
7+ TrainingPipelineConfig ,
8+ DataIngestionConfig ,
9+ DataValidationConfig ,
10+ DataTransformationConfig ,
11+ ModelTrainerConfig
12+ )
13+
14+ from network_security .entity .artifact_entity import (
15+ DataIngestionArtifact ,
16+ DataValidationArtifact ,
17+ DataTransformationArtifact ,
18+ ModelTrainerArtifact
19+ )
20+
21+ from network_security .exceptions .exception import NetworkSecurityException
22+ from network_security .logging .logger import logging
23+
24+ import os , sys
25+
26+ class TrainingPipeline :
27+ def __init__ (self ):
28+ self .training_pipeline_config = TrainingPipelineConfig ()
29+
30+ def start_data_ingestion (self ) -> DataIngestionArtifact :
31+ try :
32+ self .data_ingestion_config = DataIngestionConfig (self .training_pipeline_config )
33+ logging .info ("Starting data ingestion" )
34+
35+ data_ingestion = DataIngestion (data_ingestion_config = self .data_ingestion_config )
36+ data_ingestion_artifact = data_ingestion .initiate_data_ingestion ()
37+ logging .info ("Data ingestion completed" )
38+
39+ return data_ingestion_artifact
40+ except Exception as e :
41+ raise NetworkSecurityException (e , sys )
42+
43+ def start_data_validation (self , data_ingestion_artifact : DataIngestionArtifact ) -> DataValidationArtifact :
44+ try :
45+ self .data_validation_config = DataValidationConfig (self .training_pipeline_config )
46+ logging .info ("Starting data validation" )
47+
48+ data_validation = DataValidation (
49+ data_ingestion_artifact = data_ingestion_artifact ,
50+ data_validation_config = self .data_validation_config
51+ )
52+ data_validation_artifact = data_validation .initiate_data_validation ()
53+ logging .info ("Data validation completed" )
54+
55+ return data_validation_artifact
56+ except Exception as e :
57+ raise NetworkSecurityException (e , sys )
58+
59+ def start_data_transformation (self , data_validation_artifact : DataValidationArtifact ) -> DataTransformationArtifact :
60+ try :
61+ self .data_transofmation_config = DataTransformationConfig (self .training_pipeline_config )
62+ logging .info ("Starting data transformation" )
63+
64+ data_transformation = DataTransformation (
65+ data_validation_artifact = data_validation_artifact ,
66+ data_transformation_config = self .data_transformation_config
67+ )
68+ data_transformation_artifact = data_transformation .initiate_data_transformation ()
69+ logging .info ("Data transformation completed" )
70+
71+ return data_transformation_artifact
72+ except Exception as e :
73+ raise NetworkSecurityException (e , sys )
74+
75+ def start_model_trainer (self , data_transformation_artifact : DataTransformationArtifact ) -> ModelTrainerArtifact :
76+ try :
77+ self .model_trainer_config = ModelTrainerConfig (self .training_pipeline_config )
78+ logging .info ("Starting model trainer" )
79+
80+ model_trainer = ModelTrainer (
81+ model_trainer_config = self .model_trainer_config ,
82+ data_transformation_artifact = data_transformation_artifact
83+ )
84+ model_trainer_artifact = model_trainer .initiate_model_trainer ()
85+ logging .info ("Model trainer completed" )
86+
87+ return model_trainer_artifact
88+ except Exception as e :
89+ raise NetworkSecurityException (e , sys )
90+
91+ def run_pipeline (self ):
92+ try :
93+ data_ingestion_artifact = self .start_data_ingestion ()
94+ data_validation_artifact = self .start_data_validation (data_ingestion_artifact = data_ingestion_artifact )
95+ data_transformation_artifact = self .start_data_transformation (data_validation_artifact = data_validation_artifact )
96+ model_trainer_artifact = self .start_model_trainer (data_transformation_artifact = data_transformation_artifact )
97+
98+ except Exception as e :
99+ raise NetworkSecurityException (e , sys )
0 commit comments