Spaces:
Sleeping
Sleeping
| from dataclasses import dataclass | |
| from src.constants import * | |
| from src.utils.main_utils import read_yaml_file_sync | |
| import os | |
| from datetime import datetime | |
| # TIMESTAMP: str = datetime.now().strftime("%m_%d_%Y_%H_%M_%S") | |
| TIMESTAMP: str = "artifacts_date_time" | |
| class TrainingPipeline: | |
| artifacts_dir:str=os.path.join(ARTIFACT_DIR,TIMESTAMP) | |
| pipeline_name:str=PIPELINE_NAME | |
| timestamp:str=TIMESTAMP | |
| training_pipeline:TrainingPipeline=TrainingPipeline() | |
| class DataIngestionConfig: | |
| data_ingestion_dir:str=os.path.join(training_pipeline.artifacts_dir,DATA_INGESTION_DIR_NAME) | |
| feature_store_file_path:str=os.path.join(data_ingestion_dir,FEATURE_STORE_FILE_DIR,FEATURE_STORE_FILE_NAME) | |
| training_file_path: str = os.path.join(data_ingestion_dir, DATA_INGESTION_INGESTED_DIR, TRAIN_FILE_NAME) | |
| testing_file_path: str = os.path.join(data_ingestion_dir, DATA_INGESTION_INGESTED_DIR, TEST_FILE_NAME) | |
| train_test_split_ratio: float = DATA_INGESTION_TRAIN_TEST_SPLIT_RATIO | |
| data_base_url:str = DATA_BASE_URL | |
| class DataValidationConfig: | |
| data_validation_dir:str=os.path.join(training_pipeline.artifacts_dir,DATA_VALIDATION_DIR_NAME) | |
| data_validation_file_path:str=os.path.join(data_validation_dir,DATA_VALIDATION_FILE_NAME) | |
| class DataTransformationConfig: | |
| data_transformation_dir: str = os.path.join( | |
| training_pipeline.artifacts_dir, DATA_TRANSFORMATION_DIR | |
| ) | |
| transformed_train_file_path: str = os.path.join( | |
| data_transformation_dir, TRANSFORMED_TRAIN_FILE_NAME | |
| ) | |
| transformed_test_file_path: str = os.path.join( | |
| data_transformation_dir, TRANSFORMED_TEST_FILE_NAME | |
| ) | |
| transformed_train_csv_path: str = os.path.join( | |
| data_transformation_dir, TRANSFORMED_TRAIN_CSV_NAME | |
| ) | |
| transformed_test_csv_path: str = os.path.join( | |
| data_transformation_dir, TRANSFORMED_TEST_CSV_NAME | |
| ) | |
| en_vocab_file_path: str = os.path.join( | |
| data_transformation_dir, EN_VOCAB_NAME | |
| ) | |
| hi_vocab_file_path: str = os.path.join( | |
| data_transformation_dir, HI_VOCAB_NAME | |
| ) | |
| class ModelTrainerConfig: | |
| def __init__(self): | |
| self.model_trainer_dir: str = os.path.join( | |
| training_pipeline.artifacts_dir, MODEL_TRAINING_DIR_NAME | |
| ) | |
| self.trained_model_file_path: str = os.path.join( | |
| self.model_trainer_dir, MODEL_TRAINED_DIR, MODEL_FILE_NAME | |
| ) | |
| self._config = read_yaml_file_sync(MODEL_TRAINING_CONFIG_FILE_PATH)["model_training"] | |
| self.embed_size: int = self._config["embed_size"] | |
| self.hidden_size: int = self._config["hidden_size"] | |
| self.batch_size: int = self._config["batch_size_training"] | |
| self.epochs: int = self._config["epochs"] | |
| self.learning_rate: float = self._config["learning_rate"] | |
| self.teacher_forcing_ratio: float = self._config["teacher_forcing_ratio"] | |