-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.py
76 lines (62 loc) · 3.94 KB
/
main.py
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
76
from Insurance.logger import logging
from Insurance.exception import InsuranceException
import os
import sys
from Insurance.utils import get_collection_as_dataframe
from Insurance.entity.config_entity import DataIngestionConfig
from Insurance.entity import config_entity
from Insurance.components.data_ingestion import DataIngestion
from Insurance.components.data_validation import DataValidation
from Insurance.components.data_transformation import DataTransformation
from Insurance.components.model_trainer import ModelTrainer
from Insurance.components.model_evaluation import ModelEvaluation
from Insurance.components.model_pusher import ModelPusher
# def test_logger_and_exception():
# try:
# logging.info("Start test_logger_and_exception")
# result = 3/4
# print(result)
# logging.info("End test_logger_and_exception")
# except Exception as e:
# logging.debug(str(e))
# raise InsuranceException(e, sys)
if __name__=="__main__":
try:
# test_logger_and_exception()
#get_collection_as_dataframe(database_name="INSURANCE",collection_name="INSURANCE_PROJECT")
logging.info(f"{'>>'*5} Main Function {'<<'*5}")
training_pipeline_config = config_entity.TrainingPipelineConfig()
data_ingestion_config = config_entity.DataIngestionConfig(training_pipeline_config=training_pipeline_config)
print(data_ingestion_config.to_dict())
data_ingestion =DataIngestion(data_ingestion_config=data_ingestion_config)
data_ingestion_artifact = data_ingestion.initiate_data_ingestion()
# Data validation
data_validation_config = config_entity.DataValidationConfig(training_pipeline_config=training_pipeline_config)
data_validation = DataValidation(data_validation_config=data_validation_config,
data_ingestion_artifact=data_ingestion_artifact,
data_ingestion_config=data_ingestion_config)
data_validation_artifact = data_validation.initiate_data_validation()
# Data Transformation
data_transformation_config = config_entity.DataTransformationConfig(training_pipeline_config=training_pipeline_config)
data_transformation = DataTransformation(data_transformation_config=data_transformation_config,
data_ingestion_artifact=data_ingestion_artifact)
data_transformation_artifact = data_transformation.initiate_data_transformation()
# Model Trainer
model_trainer_config = config_entity.ModelTrainerConfig(training_pipeline_config=training_pipeline_config)
model_trainer = ModelTrainer(model_trainer_config=model_trainer_config,data_transformation_artifact=data_transformation_artifact)
model_trainer_artifact = model_trainer.initiate_model_trainer()
# Model Evaluation
model_evaluation_config = config_entity.ModelEvaluationConfig(training_pipeline_config=training_pipeline_config)
model_evaluation = ModelEvaluation(model_evaluation_config=model_evaluation_config,
data_ingestion_artifact=data_ingestion_artifact,
data_transformation_artifact=data_transformation_artifact,
model_trainer_artifact=model_trainer_artifact)
model_evaluation_artifact = model_evaluation.initiate_model_evaluation()
# Model Pusher
model_pusher_config = config_entity.ModelPusherConfig(training_pipeline_config=training_pipeline_config)
model_pusher = ModelPusher(model_pusher_config=model_pusher_config,
data_transformation_artifact=data_transformation_artifact,
model_trainer_artifact=model_trainer_artifact)
model_pusher_artifact = model_pusher.initiate_model_pusher()
except Exception as e:
raise InsuranceException(e, sys)