Skip to content

Commit 168cf91

Browse files
committed
completed training pipeline
1 parent 9e6e16b commit 168cf91

1 file changed

Lines changed: 128 additions & 0 deletions

File tree

Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
import sys
2+
3+
from network_security.components.data_ingestion import DataIngestion
4+
from network_security.components.data_transformation import DataTransformation
5+
from network_security.components.data_validation import DataValidation
6+
from network_security.components.model_trainer import ModelTrainer
7+
from network_security.entity.artifact_entity import (
8+
DataIngestionArtifact,
9+
DataTransformationArtifact,
10+
DataValidationArtifact,
11+
ModelTrainerArtifact,
12+
)
13+
from network_security.entity.config_entity import (
14+
DataIngestionConfig,
15+
DataTransformationConfig,
16+
DataValidationConfig,
17+
ModelTrainerConfig,
18+
TrainingPipelineConfig,
19+
)
20+
from network_security.exception.exception import NetworkSecurityException
21+
from network_security.logging.logger import logging
22+
23+
24+
class TrainingPipeline:
25+
def __init__(self) -> None:
26+
self.training_pipeline_config = TrainingPipelineConfig()
27+
28+
def start_data_ingestion(self) -> DataIngestionArtifact:
29+
try:
30+
self.data_ingestion_config = DataIngestionConfig(
31+
training_pipeline_config=self.training_pipeline_config,
32+
)
33+
logging.info("Initiated Data Ingestion")
34+
data_ingestion = DataIngestion(
35+
data_ingestion_config=self.data_ingestion_config,
36+
)
37+
data_ingestion_artifact = data_ingestion.initiate_data_ingestion()
38+
logging.info(
39+
f"Data Ingestion completed and artifact: {data_ingestion_artifact}",
40+
)
41+
return data_ingestion_artifact
42+
43+
except Exception as e:
44+
raise NetworkSecurityException(e, sys)
45+
46+
def start_data_validation(
47+
self, data_ingestion_artifact: DataIngestionArtifact
48+
) -> DataValidationArtifact:
49+
try:
50+
self.data_validation_config = DataValidationConfig(
51+
training_pipeline_config=self.training_pipeline_config,
52+
)
53+
logging.info("Initiated Data Validation")
54+
data_validation = DataValidation(
55+
data_ingestion_artifact=data_ingestion_artifact,
56+
data_validation_config=self.data_validation_config,
57+
)
58+
data_validation_artifact = data_validation.initiate_data_validation()
59+
logging.info(
60+
f"Data Validation completed and artifact: {data_validation_artifact}",
61+
)
62+
return data_validation_artifact
63+
except Exception as e:
64+
raise NetworkSecurityException(e, sys)
65+
66+
def start_data_transformation(
67+
self,
68+
data_validation_artifact: DataValidationArtifact,
69+
) -> DataTransformationArtifact:
70+
try:
71+
self.data_transformation_config = DataTransformationConfig(
72+
training_pipeline_config=self.training_pipeline_config,
73+
)
74+
logging.info("Initiated Data Transformation")
75+
data_transformation = DataTransformation(
76+
data_validation_artifact=data_validation_artifact,
77+
data_transformation_config=self.data_transformation_config,
78+
)
79+
80+
data_transformation_artifact = (
81+
data_transformation.initiate_data_transformation()
82+
)
83+
logging.info(
84+
f"Data Transformation completed and artifact: {data_transformation_artifact}",
85+
)
86+
return data_transformation_artifact
87+
except Exception as e:
88+
raise NetworkSecurityException(e, sys)
89+
90+
def start_model_trainer(
91+
self,
92+
data_transformation_artifact: DataTransformationArtifact,
93+
) -> ModelTrainerArtifact:
94+
try:
95+
self.model_trainer_config: ModelTrainerConfig = ModelTrainerConfig(
96+
training_pipeline_config=self.training_pipeline_config,
97+
)
98+
logging.info("Initiated Model Training")
99+
model_trainer = ModelTrainer(
100+
data_transformation_artifact=data_transformation_artifact,
101+
model_trainer_config=self.model_trainer_config,
102+
)
103+
104+
model_trainer_artifact = model_trainer.initiate_model_trainer()
105+
logging.info(
106+
f"Model Training completed and artifact: {model_trainer_artifact}",
107+
)
108+
return model_trainer_artifact
109+
110+
except Exception as e:
111+
raise NetworkSecurityException(e, sys)
112+
113+
def run_pipeline(self) -> ModelTrainerArtifact:
114+
try:
115+
data_ingestion_artifact = self.start_data_ingestion()
116+
data_validation_artifact = self.start_data_validation(
117+
data_ingestion_artifact=data_ingestion_artifact,
118+
)
119+
data_transformation_artifact = self.start_data_transformation(
120+
data_validation_artifact=data_validation_artifact,
121+
)
122+
model_trainer_artifact = self.start_model_trainer(
123+
data_transformation_artifact=data_transformation_artifact,
124+
)
125+
126+
return model_trainer_artifact
127+
except Exception as e:
128+
raise NetworkSecurityException(e, sys)

0 commit comments

Comments
 (0)