VashuTheGreat2's picture
Upload folder using huggingface_hub
243b4bc verified
Raw
History Blame Contribute Delete
2.33 kB
from dataclasses import dataclass
import os
from src.constants import ARTIFACT_FOLDER, DATA_PATH,DATA_ARTIFACT_FOLDER_NAME,DATA_ARTIFACT_FILE_NAME,VECTOR_STORE_SAVING_DIR_PATH,SCHEMA_FILE_PATH,DATA_VALIDATION_ARTIFACT_DIR_NAME,DATA_VALIDATION_ARTIFACT_FILE_NAME,IMAGE_DOWNLOAD_DIR,RANDOM_STATE,TRANSFORMED_ARTIFACT_DIR,TEST_AND_VAL_SPLIT,TRAIN_FILE_NAME,TEST_FILE_NAME,VAL_FILE_NAME
@dataclass
class DataIngestionConfig:
data_path:str=DATA_PATH
data_artifact_folder_name:str=DATA_ARTIFACT_FOLDER_NAME
data_artifact_file_name:str=DATA_ARTIFACT_FILE_NAME
@dataclass
class DataValidationConfig:
schema_file_path:str=SCHEMA_FILE_PATH
validation_artifact_dir_name:str=DATA_VALIDATION_ARTIFACT_DIR_NAME
validation_artifact_file_name:str=DATA_VALIDATION_ARTIFACT_FILE_NAME
@dataclass
class DataTransformationConfig:
vector_store_saving_dir:str=VECTOR_STORE_SAVING_DIR_PATH
image_download_dir:str=IMAGE_DOWNLOAD_DIR
random_state:int=RANDOM_STATE
transformed_artifact_dir:str=TRANSFORMED_ARTIFACT_DIR
test_and_val_split:float=TEST_AND_VAL_SPLIT
train_file_name:str=TRAIN_FILE_NAME
test_file_name:str=TEST_FILE_NAME
val_file_name:str=VAL_FILE_NAME
@dataclass
class ModelTrainingConfig:
max_len: int = 128
image_feature_output: int = 2048
text_feature_output: int = 768
feature_expand_dim: int = (2048 + 768) * 2
final_feature_output: int = 512
learning_rate: float = 0.0001
model_name: str = "multimodal_model.pt"
model_dir: str = os.path.join(ARTIFACT_FOLDER, "model_training", "checkpoints")
epochs: int = 20
patience: int = 3
batch_size: int = 32
dropout: float = 0.6
cache_dir: str = os.path.join(ARTIFACT_FOLDER, "model_training", "cache")
train_file_path: str = os.path.join(TRANSFORMED_ARTIFACT_DIR, TRAIN_FILE_NAME)
Config = ModelTrainingConfig
@dataclass
class ModelEvaluationConfig:
evaluation_artifact_dir: str = os.path.join(ARTIFACT_FOLDER, "model_evaluation")
metrics_file_name: str = "metrics.yaml"
loss_plot_file_name: str = "loss_plot.png"
confusion_matrix_file_name: str = "confusion_matrix.png"
mlflow_experiment_name: str = "E-Commerce-Chatbot-Recommendation"
mlflow_run_name: str = "Multimodal_Training_Run"
mlflow_model_name: str = "multimodal_model_registry"