Una vez entrenado el modelo, cómo se guarda el mismo? Quiero decir cómo lo exporto para poder hacer inferencia?
El modelo se puede guardar con la función .save() que ofrece el modelo.
Puedes revisar este link para tener más detalles sobre cómo guardar y cargar el modelo
¿cómo puedo obtener una metrica global para el entrenamiento realizado?
Hola!
Podemos utilizar la pérdida del modelo como métrica del entrenamiento. Tienes más detalles en el vídeo anterior.
Un saludo!
Para visualizar las predicciones del modelo durante o después del *fine-tuning*, puedes utilizar un conjunto de datos de prueba y las herramientas de visualización de TensorFlow o matplotlib. Esto te permitirá ver cómo el modelo identifica y etiqueta los objetos en las imágenes. Aquí te explico cómo realizar este proceso:
### 1. **Cargar el Modelo Exportado**
Primero, carga el modelo que has entrenado y exportado. Asegúrate de tener la ruta correcta al modelo exportado y carga el SavedModel con TensorFlow.
Para visualizar la detección, selecciona una imagen de prueba y prepárala para su procesamiento. Normalmente, el modelo espera tensores en formato de float32.
```python
import numpy as np
import cv2
# Cargar una imagen de prueba
image_path = "ruta_a_tu_imagen_de_prueba.jpg"
image_np = cv2.imread(image_path)
image_np = cv2.cvtColor(image_np, cv2.COLOR_BGR2RGB) # Convertir BGR a RGB si usas OpenCV
Utiliza el modelo para hacer predicciones sobre la imagen. Esto producirá información sobre las *bounding boxes*, las clases y las puntuaciones de confianza.
min_score_thresh=0.5, # Cambia este umbral según necesites
agnostic_mode=False
)
plt.figure(figsize=(12, 8))
plt.imshow(image_np_with_detections)
plt.axis('off')
plt.show()
```
- En el código, visualize\_boxes\_and\_labels\_on\_image\_array dibuja las *bounding boxes* en la imagen, con las etiquetas de clases y puntuaciones de confianza.
- Puedes ajustar min\_score\_thresh para definir el umbral de puntuación mínima y visualizar solo las detecciones con una cierta probabilidad.
### 5. **Parámetros y Ajustes Adicionales**
- **Umbral de Puntuación** (min\_score\_thresh): Puedes experimentar con este valor para ajustar el nivel de confianza mínimo necesario para que un objeto se visualice.
- **Cantidad de Detecciones** (max\_boxes\_to\_draw): Controla cuántas detecciones se muestran, útil si la imagen tiene muchos objetos.
- **Colores y Estilos**: Personaliza los colores o estilos de las *bounding boxes* en visualization\_utils para destacar mejor los objetos.
### Ejemplo Completo
Combina estos pasos en una función que toma la ruta de la imagen y la ruta del modelo y luego muestra la imagen con las detecciones:
Con esta función, puedes pasar cualquier imagen y modelo para ver las detecciones y evaluar visualmente cómo está funcionando el modelo después del *fine-tuning*.