Build your own container
namespaces, cgroups and chroot. Isolate a process by hand and understand what Docker does when it starts an image.
Go · C · Rust
Construye y entrena una red neuronal con matemáticas puras: propagación hacia adelante, funciones de pérdida y descenso de gradiente.
Build it in your language
The tester treats your program as a black box: any language works. These are just the most convenient ones for this project.
El aprendizaje automático moderno parece complejo debido a frameworks enormes como PyTorch o TensorFlow, pero sus fundamentos se reducen a operaciones aritméticas elementales: sumas ponderadas, funciones de activación no lineales y cálculo de gradientes con la regla de la cadena.
En este proyecto construirás el núcleo de entrenamiento de una red neuronal desde cero, sin librerías externas de machine learning. Implementarás la combinación afín de una neurona, funciones de activación como ReLU y Sigmoide, métricas de pérdida como MSE y BCE, y el bucle de optimización con descenso de gradiente para clasificar datos de forma determinista.
6 stages across 3 phases. Every stage comes with its guide and its tests: you move on when they pass.
Calcula la combinación lineal de entradas ponderadas y aplica funciones de activación no lineales.
Mide el error de predicción con MSE y BCE, y actualiza los parámetros mediante el gradiente descendente.
Ejecuta épocas completas de optimización y realiza predicciones deterministas en clasificación binaria.
namespaces, cgroups and chroot. Isolate a process by hand and understand what Docker does when it starts an image.
Go · C · Rust
Mark-and-sweep from scratch. Manage memory the way the runtimes you use daily do without you noticing.
C · C++ · Rust
fork, exec, pipes and redirection. Build a POSIX command interpreter that runs real programs.
C · Rust · Go · Zig