CarPeAs commited on
Commit
b7cdcce
verified
1 Parent(s): c5edfaa

Create README.md

Browse files
Files changed (1) hide show
  1. README.md +83 -0
README.md ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: mit
3
+ language:
4
+ - es
5
+ ---
6
+ # Modelo de Reconocimiento Facial de Expresiones
7
+
8
+ ## Descripci贸n
9
+
10
+ Este modelo ha sido entrenado para clasificar expresiones faciales en siete categor铆as: Enfadado, Disgustado, Miedo, Feliz, Triste, Sorprendido y Neutral. Es parte de un proyecto del curso de especializaci贸n en IA y Big Data, dise帽ado para demostrar el uso de modelos preentrenados y t茅cnicas de Fine-Tuning en la clasificaci贸n de im谩genes.
11
+
12
+ ## Detalles del Modelo
13
+
14
+ - **Arquitectura**: ResNet50
15
+ - **Dataset de Entrenamiento**: [FER2013](https://www.kaggle.com/c/challenges-in-representation-learning-facial-expression-recognition-challenge/data)
16
+ - **N煤mero de Etiquetas**: 7
17
+ - **Tama帽o de Imagen**: 224x224
18
+ - **Funci贸n de Activaci贸n de Salida**: Softmax
19
+ - **Funci贸n de P茅rdida**: CrossEntropyLoss
20
+ - **Optimizador**: Adam
21
+ - **Tasa de Aprendizaje**: 0.001
22
+
23
+ ## Transformaciones de Datos
24
+
25
+ Durante el preprocesamiento, las im谩genes se sometieron a las siguientes transformaciones:
26
+
27
+ - **Resize**: 224x224
28
+ - **RandomHorizontalFlip**: True
29
+ - **ColorJitter**:
30
+ - Brillo: 0.2
31
+ - Contraste: 0.2
32
+ - Saturaci贸n: 0.2
33
+ - Tinte: 0.1
34
+ - **Normalize**:
35
+ - Media: [0.485, 0.456, 0.406]
36
+ - Desviaci贸n Est谩ndar: [0.229, 0.224, 0.225]
37
+
38
+ ## Mejoras Realizadas
39
+
40
+ - **Congelaci贸n y Descongelaci贸n Selectiva de Capas**: Descongelamos las 煤ltimas capas de la red preentrenada para permitir un ajuste m谩s fino.
41
+ - **Early Stopping**: Implementamos early stopping para detener el entrenamiento cuando la precisi贸n de validaci贸n dejaba de mejorar.
42
+ - **Scheduler de Tasa de Aprendizaje**: Utilizamos un scheduler para reducir la tasa de aprendizaje durante el entrenamiento, ayudando a afinar el modelo.
43
+
44
+ ## Resultados
45
+
46
+ El modelo alcanz贸 los siguientes resultados durante el entrenamiento y validaci贸n:
47
+
48
+ - **Train Accuracy**: ~97.5%
49
+ - **Validation Accuracy**: ~61%
50
+ - **Test Accuracy**: ~62.5%
51
+
52
+ ## Uso del Modelo
53
+
54
+ Para utilizar este modelo, puedes cargarlo y realizar predicciones en nuevas im谩genes de la siguiente manera:
55
+
56
+ ```python
57
+ import torch
58
+ from torchvision import models, transforms
59
+ import json
60
+ from PIL import Image
61
+
62
+ # Cargar el modelo
63
+ model = models.resnet50()
64
+ model.load_state_dict(torch.load("pytorch_model.bin"))
65
+ model.eval()
66
+
67
+ # Configuraci贸n
68
+ with open("config.json") as f:
69
+ config = json.load(f)
70
+
71
+ # Preprocesamiento de im谩genes
72
+ transform = transforms.Compose([
73
+ transforms.Resize((config["image_size"], config["image_size"])),
74
+ transforms.ToTensor(),
75
+ transforms.Normalize(mean=config["transformations"]["Normalize"]["mean"], std=config["transformations"]["Normalize"]["std"])
76
+ ])
77
+
78
+ # Ejemplo de uso con una imagen
79
+ image = Image.open("ruta_a_tu_imagen.jpg")
80
+ image = transform(image).unsqueeze(0)
81
+ output = model(image)
82
+ _, predicted = torch.max(output, 1)
83
+ print("Predicted emotion:", predicted.item())