c / crop-recommendation /src /pipeline /training_pipeline.py
Sadashiv's picture
Upload 146 files
17c5137 verified
from src.logger import logging
from src.exception import CropException
from src.utils import get_collection_as_dataframe
from src.entity import config_entity
from src.entity import artifact_entity
import sys
from src.components.data_ingestion import DataIngestion
from src.components.data_validation import DataValidation
from src.components.data_trasformation import DataTransformation
from src.components.model_trainer import ModelTrainer
from src.components.model_evaluation import ModelEvaluation
from src.components.model_pusher import ModelPusher
def start_training_pipeline():
try:
training_pipeline_config = config_entity.TrainingPipelineConfig()
# data ingestion
data_ingestion_config = config_entity.DataIngestionConfig(
training_pipeline_config=training_pipeline_config
)
data_ingestion_config.to_dict()
data_ingestion = DataIngestion(data_ingestion_config=data_ingestion_config)
data_ingestion_artifact = data_ingestion.initiate_data_ingestion()
print(f"Data Ingestion complete")
# 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_validation.initiate_data_validation()
print(f"Data Validation Complete")
# 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()
)
print(f"Data Transformation Complete")
# 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()
print(f"Model Training Complete")
# model evaluation
model_eval_config = config_entity.ModelEvaluationConfig(
training_pipeline_config=training_pipeline_config
)
model_eval = ModelEvaluation(
model_eval_config=model_eval_config,
data_ingesiton_artifact=data_ingestion_artifact,
data_transformation_artifact=data_transformation_artifact,
model_trainer_artifact=model_trainer_artifact,
)
model_eval_artifact = model_eval.initiate_model_evaluation()
print(f"Model Evaluation Complete")
# Model Puhser
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_config,
model_trainer_artifact=model_trainer_artifact)
model_pusher_artifact = model_pusher.initiate_model_pusher()
print(f"Model Pusher Complete")
except Exception as e:
print(e)