Spaces:
Sleeping
Sleeping
| from cnnClassifier.constants import CONFIG_FILE_PATH, PARAMS_FILE_PATH | |
| from cnnClassifier.utils.common import read_yaml, create_directories | |
| from cnnClassifier.entity.config_entity import DataIngestionConfig, PrepareBaseModelConfig, TrainingConfig, EvaluationConfig | |
| from pathlib import Path | |
| class ConfigurationManager: | |
| def __init__( | |
| self, | |
| config_filepath=CONFIG_FILE_PATH, | |
| params_filepath=PARAMS_FILE_PATH | |
| ): | |
| self.config = read_yaml(config_filepath) | |
| self.params = read_yaml(params_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=config.root_dir, | |
| source_URL=config.source_URL, | |
| local_data_file=config.local_data_file, | |
| unzip_dir=config.unzip_dir | |
| ) | |
| def get_prepare_base_model_config(self) -> PrepareBaseModelConfig: | |
| config = self.config.prepare_base_model | |
| create_directories([config.root_dir]) | |
| return PrepareBaseModelConfig( | |
| root_dir=config.root_dir, | |
| base_model_path=config.base_model_path, | |
| updated_base_model_path=config.updated_base_model_path, | |
| params_image_size=self.params.IMAGE_SIZE, | |
| params_learning_rate=self.params.LEARNING_RATE, | |
| params_include_top=self.params.INCLUDE_TOP, | |
| params_weights=self.params.WEIGHTS, | |
| params_classes=self.params.CLASSES | |
| ) | |
| def get_training_config(self) -> TrainingConfig: | |
| training = self.config.training | |
| prepare_base_model = self.config.prepare_base_model | |
| training_data = Path(self.config.data_ingestion.unzip_dir) / "kidney-ct-scan-image" | |
| create_directories([training.root_dir]) | |
| return TrainingConfig( | |
| root_dir=training.root_dir, | |
| trained_model_path=training.trained_model_path, | |
| updated_base_model_path=prepare_base_model.updated_base_model_path, | |
| training_data=training_data, | |
| params_epochs=self.params.EPOCHS, | |
| params_batch_size=self.params.BATCH_SIZE, | |
| params_is_augmentation=self.params.AUGMENTATION, | |
| params_image_size=self.params.IMAGE_SIZE, | |
| params_learning_rate=self.params.LEARNING_RATE, | |
| ) | |
| def get_evaluation_config(self) -> EvaluationConfig: | |
| config = self.config.evaluation | |
| return EvaluationConfig( | |
| path_of_model=config.path_of_model, | |
| training_data=config.training_data, | |
| all_params=dict(config.all_params), | |
| mlflow_uri=config.mlflow_uri, | |
| params_image_size=self.params.IMAGE_SIZE, | |
| params_batch_size=self.params.BATCH_SIZE, | |
| ) | |