Sobre el proyecto

micrograd proporciona un motor de autograd escalar mínimo y una biblioteca ligera de redes neuronales construida sobre él. La abstracción central `Value` registra operaciones en un grafo acíclico dirigido construido dinámicamente y admite retropropagación a través de operaciones aritméticas y de activación soportadas, incluyendo suma, multiplicación, exponenciación, división, resta y ReLU. El README describe el motor y los componentes de la red neuronal como aproximadamente 100 y 50 líneas respectivamente, enfatizando la claridad y el uso educativo sobre el rendimiento tensorial a escala de producción. El paquete se puede instalar con `pip install micrograd`. El ejemplo muestra cómo construir expresiones a partir de objetos `Value`, leer resultados de pasadas hacia adelante desde `.data`, llamar a `backward()` e inspeccionar gradientes de entrada a través de `.grad`. El módulo incluido `micrograd.nn` proporciona bloques de construcción de neuronas, capas y MLP con una interfaz similar a PyTorch. `demo.ipynb` demuestra el entrenamiento de un perceptrón multicapa de dos capas como clasificador binario en el conjunto de datos de la luna usando una pérdida de margen máximo y SGD. Otro cuaderno, `trace_graph.ipynb`, usa Graphviz para visualizar nodos de cálculo con sus valores y gradientes. El conjunto de pruebas usa PyTorch como implementación de referencia para verificar los gradientes calculados y se ejecuta con pytest. El README también enlaza a un ejemplo externo de microgpt que muestra cómo un enfoque de autograd relacionado puede usarse para entrenar y muestrear un transformador similar a GPT-2. El proyecto se publica bajo la licencia MIT.