Устанавливаемый через pip набор библиотек JAX с проверенными совместимыми версиями Flax, Optax, Orbax, Chex и Grain для ИИ и численных вычислений.
patrick-kidger/diffrax
Численные решатели дифференциальных уравнений для JAX: ODE, SDE и CDE, автоматическое дифференцирование и выполнение на GPU.
- Звёзды
- 2,122
- Форки
- 202
- Открытые issues
- 265
- Последний коммит
- 2 месяца назад
Что это?
Diffrax — библиотека численных решателей дифференциальных уравнений на базе JAX. Она работает с обыкновенными дифференциальными уравнениями (ODE), стохастическими дифференциальными уравнениями (SDE) и управляемыми дифференциальными уравнениями (CDE) в рамках единой внутренней структуры, поэтому все три типа уравнений решаются одинаково.
В библиотеку входит множество решателей, в том числе Tsit5, Dopri5 и Dopri8 для явного интегрирования, а также симплектические и неявные методы. Интегрирование можно распараллелить с помощью vmap по всем измерениям, включая область интегрирования, а состояние может быть любым PyTree. Доступны плотные решения, а для обратного распространения градиентов через решение предусмотрено несколько методов adjoint.
Diffrax предназначена для пользователей, которым нужны дифференцируемые симуляции, например нейронные дифференциальные уравнения. Библиотека устанавливается через pip и требует Python версии 3.10 или новее.
Ключевые возможности
- 01Решает ODE, SDE и CDE в рамках единой структуры.
- 02Включает явные, симплектические и неявные решатели, например Tsit5 и Dopri8.
- 03Поддерживает vmap для решения, в том числе по области интегрирования.
- 04Принимает состояния типа PyTree и предоставляет плотные решения.
- 05Предлагает несколько методов adjoint для обратного распространения градиентов.
Сценарии использования
- Обучение моделей нейронных дифференциальных уравнений, которым нужны градиенты через решатель.
- Пакетное моделирование динамических систем на GPU.
- Моделирование стохастических процессов с помощью решателей SDE.
Быстрый старт
- 1
Установите библиотеку с помощью pip
pip install diffrax - 2
Определите слагаемое ODE и решатель, затем вызовите diffeqsolve (см. краткий пример в README)
Что важно знать
- Требуется Python версии 3.10 или новее.
- Библиотека построена на базе JAX, поэтому для её использования необходима рабочая настройка JAX.
В подборках
Темы
Частые вопросы
- Что такое diffrax?
- Численные решатели дифференциальных уравнений для JAX: ODE, SDE и CDE, автоматическое дифференцирование и выполнение на GPU. Diffrax — библиотека численных решателей дифференциальных уравнений на базе JAX. Она работает с обыкновенными дифференциальными уравнениями (ODE), стохастическими дифференциальными уравнениями (SDE) и управляемыми дифференциальными уравнениями (CDE) в рамках единой внутренней структуры, поэтому все три типа уравнений решаются одинаково.
- diffrax можно использовать бесплатно? Какая у него лицензия?
- diffrax распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- diffrax всё ещё поддерживается?
- Обновлялся за последние 6 месяцев. Последний коммит в diffrax — 6 сент. 2026 г..
- Для чего можно использовать diffrax?
- Обучение моделей нейронных дифференциальных уравнений, которым нужны градиенты через решатель. Пакетное моделирование динамических систем на GPU. Моделирование стохастических процессов с помощью решателей SDE.
- Как установить diffrax?
- Установите библиотеку с помощью pip: pip install diffrax Определите слагаемое ODE и решатель, затем вызовите diffeqsolve (см. краткий пример в README)
- Где скачать diffrax?
- Исходный код и инструкции по установке — на GitHub: https://github.com/patrick-kidger/diffrax
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Компилятор и среда выполнения на базе MLIR, преобразующие ML-модели в единое IR для развертывания в дата-центрах, на мобильных и периферийных устройствах.
Keras 3 — фреймворк для глубокого обучения, работающий на JAX, TensorFlow, PyTorch или OpenVINO для инференса.
Библиотека Python для преобразования кода машинного обучения между фреймворками, включая PyTorch, TensorFlow, JAX и NumPy, с помощью ivy.transpile.
Библиотека нейронных сетей для JAX, ориентированная на гибкость и предлагающая API Flax NNX для создания, просмотра и отладки моделей.
Библиотека предобученных моделей для Keras 3: модели для текста, изображений и аудио, работающие с JAX, TensorFlow или PyTorch.