Tutorial práctico para principiantes sobre cómo entrenar e implementar redes neuronales de clasificación de imágenes con Caffe y NVIDIA DIGITS, sin experiencia previa en IA.
itskonrad/tinymnist
Una red neuronal mínima escrita en C puro que aprende a clasificar dígitos manuscritos de MNIST en unas 250 líneas.
- Estrellas
- 1,287
- Forks
- 130
- Issues abiertos
- 3
- Último commit
- hace 24 días
¿Qué es?
tinymnist es una pequeña red neuronal implementada en C puro que clasifica dígitos manuscritos del conjunto de datos MNIST. El programa completo tiene unas 250 líneas y solo depende de la biblioteca estándar de C.
El modelo es una red totalmente conectada con 784 entradas, una capa oculta de 256 unidades con ReLU y una salida softmax de 10 clases. Se entrena con una función de pérdida de entropía cruzada y SGD con momentum. El conjunto de entrenamiento de MNIST viene incluido en el directorio data, así que se puede compilar con gcc y ejecutar directamente.
El proyecto informa de una precisión de aproximadamente el 98 % en las pruebas tras 20 épocas, y cada época tarda alrededor de medio segundo. Para el entrenamiento se usa el 80 % de los datos y se reserva el 20 % restante para las pruebas. Los hiperparámetros, como el tamaño de la capa oculta, la tasa de aprendizaje, el momentum, el número de épocas y la división de los datos de entrenamiento, se configuran mediante constantes #define al principio de main.c.
Funciones clave
- 01Implementación en C puro, sin dependencias más allá de la biblioteca estándar
- 02Red totalmente conectada de dos capas con ReLU y softmax
- 03Entrenamiento con una función de pérdida de entropía cruzada y SGD con momentum
- 04Incluye los datos de entrenamiento de MNIST, por lo que funciona directamente
- 05Los hiperparámetros se pueden ajustar mediante constantes #define
Casos de uso
- Aprender cómo funciona una red neuronal desde sus fundamentos
- Estudiar las pasadas hacia adelante y hacia atrás sin un framework de deep learning
- Usarla como referencia compacta para experimentos de clasificación de MNIST
Inicio rápido
- 1
Compila el programa con gcc
gcc -O3 -march=native -ffast-math -o main main.c -lm - 2
Ejecuta la red entrenada desde cero (los datos de MNIST están incluidos en data/)
./main
Antes de usarlo
- Es solo un modelo didáctico muy pequeño, no un clasificador de dígitos práctico para uso real.
- Para cambiar la configuración, hay que editar las constantes #define de main.c y volver a compilar.
En colecciones
Temas
Preguntas frecuentes
- ¿Qué es tinymnist?
- Una red neuronal mínima escrita en C puro que aprende a clasificar dígitos manuscritos de MNIST en unas 250 líneas. tinymnist es una pequeña red neuronal implementada en C puro que clasifica dígitos manuscritos del conjunto de datos MNIST. El programa completo tiene unas 250 líneas y solo depende de la biblioteca estándar de C.
- ¿tinymnist es gratuito? ¿Qué licencia tiene?
- tinymnist es open source bajo la licencia MIT. Revisa los términos de la licencia antes de usarlo en productos comerciales.
- ¿tinymnist sigue mantenido?
- Mantenimiento activo. El último commit de tinymnist fue el 13 oct 2026.
- ¿Para qué puedo usar tinymnist?
- Aprender cómo funciona una red neuronal desde sus fundamentos Estudiar las pasadas hacia adelante y hacia atrás sin un framework de deep learning Usarla como referencia compacta para experimentos de clasificación de MNIST
- ¿Cómo se instala tinymnist?
- Compila el programa con gcc: gcc -O3 -march=native -ffast-math -o main main.c -lm Ejecuta la red entrenada desde cero (los datos de MNIST están incluidos en data/): ./main
- ¿Dónde consigo tinymnist?
- El código fuente y las instrucciones de instalación están en GitHub: https://github.com/itskonrad/tinymnist
Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.
Proyectos relacionados
Una lista seleccionada de bibliotecas, modelos, implementaciones, tutoriales y artículos relacionados con PyTorch en GitHub.
Servidor de deep learning, paquete wheel de Python y CLI para entrenar y ejecutar modelos con imágenes, texto, datos tabulares y series temporales mediante una REST API.
Plataforma open source integral para crear e implementar modelos de machine learning, con API para Python y C++.
Framework de deep learning para Python que ofrece operaciones con tensores aceleradas por GPU y redes neuronales dinámicas basadas en autograd.
Un framework minimalista de deep learning con una API de tensores similar a PyTorch, autograd, un compilador y compatibilidad con numerosos aceleradores.