Repolode
pnnl

pnnl/neuromancer

Biblioteca de programación diferenciable basada en PyTorch para optimización paramétrica con restricciones, identificación de sistemas basada en física y control predictivo paramétrico.

Estrellas
1,383
Forks
185
Issues abiertos
16
Último commit
hace 5 horas

¿Qué es?

NeuroMANCER es una biblioteca de programación diferenciable escrita en PyTorch para aprender soluciones a problemas de optimización paramétrica con restricciones, crear modelos de sistemas dinámicos basados en la física y aprender políticas de control. Permite combinar redes neuronales con computación científica para incorporar directamente las ecuaciones del dominio, las restricciones y el conocimiento previo al proceso de aprendizaje.

La biblioteca ofrece una interfaz de programación simbólica para definir variables, restricciones y objetivos, además de las abstracciones Node y System para componer módulos neuronales y modelos dinámicos. Incluye ODE neuronales, operadores de Koopman, SINDy, redes de Kolmogorov-Arnold, codificadores de funciones, operadores neuronales como DeepONet y Fourier Neural Operators, y redes neuronales informadas por la física para PDE. También incluye control predictivo diferenciable y capas de optimización convexa diferenciable para el control y el aprendizaje sujeto a restricciones de seguridad.

El repositorio incluye una amplia colección de tutoriales listos para usar en Colab y ejemplos de distintos dominios, como la dinámica térmica de edificios y el control de sistemas HVAC, y se integra con PyTorch Lightning para el entrenamiento en GPU y en varias GPU. Se puede instalar con pip.

Funciones clave

  • 01Interfaz simbólica para incorporar ecuaciones físicas, restricciones y objetivos a los problemas de aprendizaje.
  • 02Optimización paramétrica con restricciones mediante funciones de pérdida basadas en penalizaciones y capas de optimización convexa diferenciable.
  • 03Aprendizaje de modelos de sistemas dinámicos con ODE neuronales, operadores de Koopman, SINDy y modelos de espacio de estados.
  • 04Control predictivo diferenciable para aprender políticas de control de sistemas no lineales.
  • 05Redes neuronales informadas por la física y operadores neuronales como DeepONet y Fourier Neural Operator.
  • 06Integración con PyTorch Lightning para el entrenamiento en GPU y en varias GPU.

Casos de uso

  • Gestión energética de edificios, como aprender a controlar la temperatura interior con sistemas HVAC.
  • Aprendizaje de modelos sustitutos de sistemas físicos a partir de datos medidos, respetando las ecuaciones conocidas.
  • Resolver rápidamente familias de problemas de optimización con restricciones para muchos valores de parámetros.
  • Crear prototipos de redes neuronales informadas por la física para PDE, como las de difusión o flujo de fluidos.

Inicio rápido

  1. 1

    Instala la biblioteca desde PyPI

    pip install neuromancer
  2. 2

    Ejecuta el ejemplo rápido de optimización con restricciones en Python (define el modelo, los nodos y la pérdida como se indica en el README)

Antes de usarlo

  • La licencia figura como NOASSERTION, por lo que hay que consultar las condiciones en el repositorio antes de usarla.
  • La mayoría de los tutoriales y ejemplos están diseñados para flujos de trabajo de PyTorch optimizados para GPU y pueden ser lentos en CPU.

Temas

Preguntas frecuentes

¿Qué es neuromancer?
Biblioteca de programación diferenciable basada en PyTorch para optimización paramétrica con restricciones, identificación de sistemas basada en física y control predictivo paramétrico. NeuroMANCER es una biblioteca de programación diferenciable escrita en PyTorch para aprender soluciones a problemas de optimización paramétrica con restricciones, crear modelos de sistemas dinámicos basados en la física y aprender políticas de control. Permite combinar redes neuronales con computación científica para incorporar directamente las ecuaciones del dominio, las restricciones y el conocimiento previo al proceso de aprendizaje.
¿neuromancer es gratuito? ¿Qué licencia tiene?
neuromancer es open source bajo la licencia Other. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿neuromancer sigue mantenido?
Mantenimiento activo. El último commit de neuromancer fue el 22 oct 2026.
¿Para qué puedo usar neuromancer?
Gestión energética de edificios, como aprender a controlar la temperatura interior con sistemas HVAC. Aprendizaje de modelos sustitutos de sistemas físicos a partir de datos medidos, respetando las ecuaciones conocidas. Resolver rápidamente familias de problemas de optimización con restricciones para muchos valores de parámetros. Crear prototipos de redes neuronales informadas por la física para PDE, como las de difusión o flujo de fluidos.
¿Cómo se instala neuromancer?
Instala la biblioteca desde PyPI: pip install neuromancer Ejecuta el ejemplo rápido de optimización con restricciones en Python (define el modelo, los nodos y la pérdida como se indica en el README)
¿Dónde consigo neuromancer?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/pnnl/neuromancer

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados