Guardar un modelo entrenado en PyTorch y ponerlo a predecir radiografías reales es el paso que convierte tu red neuronal convolucional en una herramienta útil. Aquí verás cómo exportar el modelo, cargarlo en modo evaluación y clasificar imágenes de tórax como normal o neumonía, todo desde el flujo que ya construiste.
¿Cómo se guarda un modelo entrenado en PyTorch?
Una vez terminas el entrenamiento, exportas el modelo con la extensión propia del framework. PyTorch usa archivos .pth para almacenar los pesos y la arquitectura ya ajustada [00:14].
En la práctica, basta con guardarlo bajo un nombre claro como model.pth. Ese archivo queda disponible para cualquier entorno de producción: una API, una interfaz gráfica o una función dentro de un sistema más grande.
¿Qué es un archivo .pth en PyTorch? Es el formato estándar que PyTorch usa para guardar modelos entrenados. Contiene los pesos aprendidos y permite recargar el modelo sin tener que entrenarlo otra vez.
¿Cómo cargar el modelo y prepararlo para producción?
Para reutilizar el modelo necesitas tres pasos concretos antes de predecir [00:38]:
- Importar las librerías y dependencias del proyecto.
- Cargar el archivo model.pth y ponerlo en modo evaluación.
- Enviar el modelo al dispositivo disponible: una GPU vía CUDA o, en su defecto, una CPU.
El modo evaluación es clave porque desactiva comportamientos propios del entrenamiento, como el dropout, y deja la red lista solo para inferir.
¿Qué arquitectura tiene la red neuronal convolucional usada?
La red sigue un patrón clásico de visión por computadora: capas convolucionales seguidas de ReLU como función de activación, pooling para reducir dimensionalidad, una operación flatten que aplana los mapas de características y, al final, una capa lineal que toma la decisión entre las clases [01:00].
Esta combinación es la que permite que el modelo aprenda patrones visuales en radiografías y los traduzca en una predicción binaria.
¿Cómo predecir si una radiografía tiene neumonía?
La función de predicción recibe cuatro entradas: la ruta de la imagen, el modelo ya cargado, la lista de nombres de clases (en este caso neumonía y normal) y el dispositivo donde corre la inferencia [01:14].
El flujo de prueba es directo:
- Eliges una imagen desde la carpeta chest/validación/normal o su equivalente para neumonía.
- Copias la ruta y la pasas a la función.
- Ejecutas y el modelo devuelve la clase predicha.
Al probar con una radiografía sana, el modelo responde normal. Al cargar una imagen con neumonía, devuelve neumonía. Incluso puedes arrastrar tus propias radiografías, como una llamada bacteria, copiar la ruta y validar el resultado [01:55].
¿Qué significa poner un modelo en modo evaluación? Significa indicarle a PyTorch que ya no estás entrenando. Se desactivan capas como dropout y batch normalization en modo entrenamiento, para que las predicciones sean estables y reproducibles.
¿Qué sigue después de tener el modelo prediciendo?
Ya tienes una red neuronal convolucional entrenada, guardada y haciendo inferencias sobre radiografías reales. Pero predecir bien una o dos imágenes no basta para confiar en el sistema.
La pregunta honesta es: ¿qué tan fiable es realmente? Para responderla necesitas métricas de evaluación más allá de la precisión simple, y eso es justo lo que viene en la siguiente clase.
¿Con qué imágenes vas a probar tu modelo primero? Cuéntalo en los comentarios.