Sentence-Translator / src /entity /config_entity.py
VashuTheGreat2's picture
Upload folder using huggingface_hub
b758d48 verified
Raw
History Blame Contribute Delete
2.93 kB
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"
@dataclass
class TrainingPipeline:
artifacts_dir:str=os.path.join(ARTIFACT_DIR,TIMESTAMP)
pipeline_name:str=PIPELINE_NAME
timestamp:str=TIMESTAMP
training_pipeline:TrainingPipeline=TrainingPipeline()
@dataclass
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
@dataclass
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)
@dataclass
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
)
@dataclass
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"]