Spaces:
Sleeping
Sleeping
| from pathlib import Path | |
| from mlpipeline.constants import CONFIG_FILE_PATH, AUTOML_CONFIG_FILE_PATH | |
| from mlpipeline.utils.common import read_yaml, create_directories | |
| from mlpipeline.entity.config_entity import ( | |
| DataIngestionConfig, | |
| DataValidationConfig, | |
| DataTransformationConfig, | |
| FeatureEngineeringConfig, | |
| ModelTrainerConfig, | |
| ModelEvaluationConfig, | |
| ModelPusherConfig, | |
| ) | |
| class ConfigurationManager: | |
| def __init__(self, config_filepath=CONFIG_FILE_PATH): | |
| self.config = read_yaml(config_filepath) | |
| create_directories([self.config.artifacts_root]) | |
| def get_data_ingestion_config(self) -> DataIngestionConfig: | |
| config = self.config.data_ingestion | |
| create_directories([config.root_dir]) | |
| return DataIngestionConfig( | |
| root_dir=Path(config.root_dir), | |
| source_url=config.source_url, | |
| local_data_file=Path(config.local_data_file), | |
| unzip_dir=Path(config.unzip_dir), | |
| ) | |
| def get_data_validation_config(self) -> DataValidationConfig: | |
| config = self.config.data_validation | |
| create_directories([config.root_dir]) | |
| return DataValidationConfig( | |
| root_dir=Path(config.root_dir), | |
| data_dir=Path(config.data_dir), | |
| status_file=Path(config.status_file), | |
| schema_file=Path(config.schema_file), | |
| ) | |
| def get_data_transformation_config(self) -> DataTransformationConfig: | |
| config = self.config.data_transformation | |
| create_directories([config.root_dir]) | |
| return DataTransformationConfig( | |
| root_dir=Path(config.root_dir), | |
| data_path=Path(config.data_path), | |
| train_path=Path(config.train_path), | |
| test_path=Path(config.test_path), | |
| test_size=config.test_size, | |
| random_state=config.random_state, | |
| ) | |
| def get_feature_engineering_config(self) -> FeatureEngineeringConfig: | |
| config = self.config.feature_engineering | |
| create_directories([config.root_dir]) | |
| return FeatureEngineeringConfig( | |
| root_dir=Path(config.root_dir), | |
| train_path=Path(config.train_path), | |
| test_path=Path(config.test_path), | |
| output_train_path=Path(config.output_train_path), | |
| output_test_path=Path(config.output_test_path), | |
| ) | |
| def get_model_trainer_config(self) -> ModelTrainerConfig: | |
| config = self.config.model_trainer | |
| automl_config = read_yaml(Path(AUTOML_CONFIG_FILE_PATH)) | |
| create_directories([config.root_dir]) | |
| return ModelTrainerConfig( | |
| root_dir=Path(config.root_dir), | |
| train_data_path=Path(config.train_data_path), | |
| test_data_path=Path(config.test_data_path), | |
| model_path=Path(config.model_path), | |
| target_column=config.target_column, | |
| automl_library=automl_config.automl_library, | |
| ) | |
| def get_model_evaluation_config(self) -> ModelEvaluationConfig: | |
| config = self.config.model_evaluation | |
| automl_config = read_yaml(Path(AUTOML_CONFIG_FILE_PATH)) | |
| create_directories([config.root_dir]) | |
| return ModelEvaluationConfig( | |
| root_dir=Path(config.root_dir), | |
| model_path=Path(config.model_path), | |
| test_data_path=Path(config.test_data_path), | |
| metrics_file=Path(config.metrics_file), | |
| target_column=config.target_column, | |
| automl_library=automl_config.automl_library, | |
| ) | |
| def get_model_pusher_config(self) -> ModelPusherConfig: | |
| config = self.config.model_pusher | |
| create_directories([config.root_dir]) | |
| return ModelPusherConfig( | |
| root_dir=Path(config.root_dir), | |
| model_path=Path(config.model_path), | |
| model_registry_path=Path(config.model_registry_path), | |
| ) |