跳转到主要内容

DifferentialEquations.jl与PyTorch的结合。

项目描述

PyPI version Contributions welcome

diffeqtorch

通过PyTorch桥接DifferentialEquations.jl。除了从DifferentialEquations.jl中可用的广泛求解器中受益外,这还允许使用局部敏感性分析/自动微分通过求解器计算梯度。该包仅针对OD问题进行过测试,并且特别地,仅支持使用ForwardDiff.jl的OD的自动微分。这可以在将来扩展,欢迎贡献

示例

安装

使用diffeqtorch的先决条件是安装Julia和Python。请注意,julia的二进制目录需要位于您的PATH中。

安装diffeqtorch

$ pip install diffeqtorch
$ export JULIA_SYSIMAGE_DIFFEQTORCH="$HOME/.julia_sysimage_diffeqtorch.so"
$ python -c "from diffeqtorch.install import install_and_test; install_and_test()"

我们建议使用包含依赖项的自定义Julia系统映像。通过设置环境变量JULIA_SYSIMAGE_DIFFEQTORCH,将创建并自动使用映像。这可能需要一些时间,但之后将提高速度。

用法

from diffeqtorch import DiffEq

f = """
function f(du,u,p,t)
    du[1] = p[1] * u[1]
end
"""
de = DiffEq(f)

u0 = torch.tensor([1.])
tspan = torch.tensor([0., 3.])
p = torch.tensor([1.01])

u, t = de(u0, tspan, p)

另请参阅help(DiffEq)notebooks/中提供的示例。

许可

MIT

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪一个,请了解有关 安装包 的更多信息。

源代码分发

diffeqtorch-1.0.1.tar.gz (10.6 kB 查看哈希值)

上传时间 源代码

构建分发

diffeqtorch-1.0.1-py2.py3-none-any.whl (9.8 kB 查看哈希值)

上传时间 Python 2 Python 3