Um pacote instalável via pip que fixa um conjunto testado de bibliotecas JAX (Flax, Optax, Orbax, Chex, Grain) para IA e computação numérica.
patrick-kidger/diffrax
Solvers numéricos de equações diferenciais para JAX, com suporte a ODEs, SDEs e CDEs, autodiferenciação e execução em GPU.
- Estrelas
- 2,122
- Forks
- 202
- Issues abertas
- 265
- Último commit
- há 2 meses
O que é?
Diffrax é uma biblioteca de solvers numéricos de equações diferenciais construída sobre JAX. Ela trabalha com equações diferenciais ordinárias (ODEs), estocásticas (SDEs) e controladas (CDEs) usando uma estrutura interna unificada, de modo que as três são resolvidas da mesma forma.
A biblioteca inclui vários solvers, como Tsit5, Dopri5 e Dopri8 para integração explícita, além de métodos simpléticos e implícitos. É possível aplicar vmap a todos os aspectos, inclusive ao intervalo de integração, e o estado pode ser qualquer PyTree. Também há soluções densas e vários métodos adjoint para fazer backpropagation através de uma resolução.
Diffrax é voltada a quem precisa de simulações diferenciáveis, como no caso de equações diferenciais neurais. A instalação é feita com pip, e é necessário usar Python 3.10 ou mais recente.
Recursos principais
- 01Resolve ODEs, SDEs e CDEs com uma única estrutura unificada.
- 02Inclui solvers explícitos, simpléticos e implícitos, como Tsit5 e Dopri8.
- 03Oferece suporte a vmap na resolução, inclusive no intervalo de integração.
- 04Aceita estados PyTree e fornece soluções densas.
- 05Oferece vários métodos adjoint para backpropagation.
Casos de uso
- Treinar modelos de equações diferenciais neurais que precisam calcular gradientes através de um solver.
- Executar simulações em lote de sistemas dinâmicos na GPU.
- Simular processos estocásticos com solvers de SDE.
Início rápido
- 1
Instale a biblioteca com pip
pip install diffrax - 2
Defina um termo ODE e um solver e chame diffeqsolve (consulte o exemplo rápido no README)
Antes de usar
- Requer Python 3.10 ou mais recente.
- É baseado no JAX, então você precisa ter uma configuração funcional do JAX para usá-lo.
Em coleções
Tópicos
Perguntas frequentes
- O que é diffrax?
- Solvers numéricos de equações diferenciais para JAX, com suporte a ODEs, SDEs e CDEs, autodiferenciação e execução em GPU. Diffrax é uma biblioteca de solvers numéricos de equações diferenciais construída sobre JAX. Ela trabalha com equações diferenciais ordinárias (ODEs), estocásticas (SDEs) e controladas (CDEs) usando uma estrutura interna unificada, de modo que as três são resolvidas da mesma forma.
- diffrax é gratuito? Qual é a licença?
- diffrax é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- diffrax ainda é mantido?
- Atualizado nos últimos 6 meses. O último commit de diffrax foi em 6 de set. de 2026.
- Para que posso usar diffrax?
- Treinar modelos de equações diferenciais neurais que precisam calcular gradientes através de um solver. Executar simulações em lote de sistemas dinâmicos na GPU. Simular processos estocásticos com solvers de SDE.
- Como instalar diffrax?
- Instale a biblioteca com pip: pip install diffrax Defina um termo ODE e um solver e chame diffeqsolve (consulte o exemplo rápido no README)
- Onde consigo diffrax?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/patrick-kidger/diffrax
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Um compilador e runtime baseado em MLIR que reduz modelos de ML a uma IR unificada para implantação em datacenters, dispositivos móveis e de edge.
Keras 3 é um framework de deep learning que roda com JAX, TensorFlow, PyTorch ou OpenVINO para inferência.
Biblioteca Python que converte código de machine learning entre frameworks como PyTorch, TensorFlow, JAX e NumPy usando ivy.transpile.
Uma biblioteca de redes neurais para JAX que prioriza flexibilidade, com a API Flax NNX para criar, inspecionar e depurar modelos.
Biblioteca de modelos pré-treinados para Keras 3, com modelos de texto, imagem e áudio que rodam em JAX, TensorFlow ou PyTorch.