Skip to main content

neural differential equations

Project description

neural-diffeqs

PyPI pyversions PyPI version Code style: black

A PyTorch-based library for the instantiation of neural differential equations.

Installation

To install with pip:

pip install neural_diffeqs

To install the development version from GitHub:

git clone https://github.com/mvinyard/neural-diffeqs.git; cd ./neural-diffeqs
pip install -e .

Examples

You can instantiate an SDE or ODE as follows:

from neural_diffeqs import neural_diffeq

SDE = neural_diffeq()
# this can be passed to `torchsde.sdeint`

ODE = neural_diffeq(sigma_hidden=False)
# this can be passed to `torchdiffeq.odeint`

You can also define the SDE or ODE as potential functions. These can be passed to torchsde.sdeint and torchdiffeq.odeint just the same as above:

from neural_diffeqs import neural_diffeq

SDE = neural_diffeq(mu_potential=True, sigma_potential=False)

ODE = neural_diffeq(sigma_hidden=False)

There are several other parameters that are easily tweakable, including the composition of the neural network(s), using the following arguments:

To adjust the parameters of the mu neural network:

  • mu_hidden - a dict (e.g.,: {1:[400,400], 2:[400,400]})
  • mu_in_dim
  • mu_out_dim
  • mu_potential - if this parameter is True, the output dimension of the output layer is changed to 1.
  • mu_init_potential - when mu_potential = True, this argument initializes the output value of mu. By default, this returns a torch.zeros([]) tensor.
  • mu_activation_function
  • mu_dropout

Similarly, the sigma neural network can be controlled with these parameters:

  • sigma_hidden - a dict (e.g.,: {1:[400,400], 2:[400,400]})
  • sigma_in_dim
  • sigma_out_dim
  • sigma_potential - if this parameter is True, the output dimension of the output layer is changed to 1.
  • sigma_init_potential - when sigma_potential = True, this argument initializes the output value of sigma. By default, this returns a torch.zeros([]) tensor.
  • sigma_activation_function
  • sigma_dropout

There are also general parameters that are passed / required of the SDE when using the torchsde interface:

  • brownian_size
  • noise_type
  • sde_type

For more examples, please see the notebooks in ./examples/. For documentation related neural ODEs and torchdiffeq, see the torchdiffeq repository. For documentation related to neural SDEs and torchsde, see the torchsde repository.


Questions or suggestions? Open an issue or send an email to Michael Vinyard.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

neural-diffeqs-0.1.0.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

neural_diffeqs-0.1.0-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file neural-diffeqs-0.1.0.tar.gz.

File metadata

  • Download URL: neural-diffeqs-0.1.0.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for neural-diffeqs-0.1.0.tar.gz
Algorithm Hash digest
SHA256 749d3c697b7dccfbbe73124c6917ce6f84ed17ce3ce2a42a6bdb4afcd37b0071
MD5 17d7794cf21957d69286647f7148d1ca
BLAKE2b-256 09b014ead6b016c2a3f4b4364b4880a957cf1221329043af92cffeb81ef29a47

See more details on using hashes here.

File details

Details for the file neural_diffeqs-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for neural_diffeqs-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f5a91b4836f9fc126ec0063e644fd8fd8748000d0aa0793c5ecd3c101a457df3
MD5 cfddd59d892050325992f1a48f83cfa2
BLAKE2b-256 74fc0f40a87d36ac9039e69b667206010b1751d9539cc754200d2a55c3d91db0

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page