Spaces:
Sleeping
Sleeping
| """ | |
| Configuration settings for the Emotion Recognition System. | |
| """ | |
| import os | |
| from pathlib import Path | |
| # Project paths | |
| PROJECT_ROOT = Path(__file__).parent.parent | |
| DATA_DIR = PROJECT_ROOT / "data" | |
| TRAIN_DIR = DATA_DIR / "train" | |
| TEST_DIR = DATA_DIR / "test" | |
| MODELS_DIR = PROJECT_ROOT / "models" | |
| # Create models directory if it doesn't exist | |
| MODELS_DIR.mkdir(exist_ok=True) | |
| # Image settings | |
| IMAGE_SIZE = (48, 48) | |
| IMAGE_SIZE_TRANSFER = (96, 96) # For transfer learning models | |
| NUM_CHANNELS = 1 # Grayscale | |
| NUM_CHANNELS_RGB = 3 # For transfer learning | |
| # Emotion classes (7 classes from FER dataset) | |
| EMOTION_CLASSES = [ | |
| "angry", | |
| "disgusted", | |
| "fearful", | |
| "happy", | |
| "neutral", | |
| "sad", | |
| "surprised" | |
| ] | |
| NUM_CLASSES = len(EMOTION_CLASSES) | |
| # Emotion to index mapping | |
| EMOTION_TO_IDX = {emotion: idx for idx, emotion in enumerate(EMOTION_CLASSES)} | |
| IDX_TO_EMOTION = {idx: emotion for idx, emotion in enumerate(EMOTION_CLASSES)} | |
| # Training hyperparameters | |
| BATCH_SIZE = 64 | |
| EPOCHS = 50 | |
| LEARNING_RATE = 0.001 | |
| LEARNING_RATE_FINE_TUNE = 0.0001 | |
| VALIDATION_SPLIT = 0.2 | |
| # Data augmentation parameters | |
| AUGMENTATION_CONFIG = { | |
| "rotation_range": 15, | |
| "width_shift_range": 0.1, | |
| "height_shift_range": 0.1, | |
| "horizontal_flip": True, | |
| "zoom_range": 0.1, | |
| "brightness_range": (0.9, 1.1), | |
| "fill_mode": "nearest" | |
| } | |
| # Model save paths | |
| CUSTOM_CNN_PATH = MODELS_DIR / "custom_cnn.h5" | |
| MOBILENET_PATH = MODELS_DIR / "mobilenet_v2.h5" | |
| VGG_PATH = MODELS_DIR / "vgg19.h5" | |
| # Training callbacks | |
| EARLY_STOPPING_PATIENCE = 10 | |
| REDUCE_LR_PATIENCE = 5 | |
| REDUCE_LR_FACTOR = 0.5 | |
| # Intensity thresholds | |
| INTENSITY_HIGH_THRESHOLD = 0.8 | |
| INTENSITY_MEDIUM_THRESHOLD = 0.5 | |
| # API settings | |
| API_HOST = "0.0.0.0" | |
| API_PORT = 8000 | |
| # Streamlit settings | |
| STREAMLIT_PORT = 8501 | |