All Projects → EmilienDupont → Augmented Neural Odes

EmilienDupont / Augmented Neural Odes

Licence: mit
Pytorch implementation of Augmented Neural ODEs 🌻

Projects that are alternatives of or similar to Augmented Neural Odes

Data Science
Collection of useful data science topics along with code and articles
Stars: ✭ 315 (-17.32%)
Mutual labels:  jupyter-notebook
Nlp Python Deep Learning
NLP in Python with Deep Learning
Stars: ✭ 374 (-1.84%)
Mutual labels:  jupyter-notebook
Java Guide
A guide of modern Java (Java 17)
Stars: ✭ 378 (-0.79%)
Mutual labels:  jupyter-notebook
Learn Python3
Jupyter notebooks for teaching/learning Python 3
Stars: ✭ 4,418 (+1059.58%)
Mutual labels:  jupyter-notebook
Python Machine Learning Second Edition
Python Machine Learning - Second Edition, published by Packt
Stars: ✭ 376 (-1.31%)
Mutual labels:  jupyter-notebook
Kind Pytorch Tutorial
Kind PyTorch Tutorial for beginners
Stars: ✭ 377 (-1.05%)
Mutual labels:  jupyter-notebook
Deep Learning Illustrated
Deep Learning Illustrated (2020)
Stars: ✭ 372 (-2.36%)
Mutual labels:  jupyter-notebook
Caiman
Computational toolbox for large scale Calcium Imaging Analysis, including movie handling, motion correction, source extraction, spike deconvolution and result visualization.
Stars: ✭ 378 (-0.79%)
Mutual labels:  jupyter-notebook
Iclr2019 Openreviewdata
Script that crawls meta data from ICLR OpenReview webpage. Tutorials on installing and using Selenium and ChromeDriver on Ubuntu.
Stars: ✭ 376 (-1.31%)
Mutual labels:  jupyter-notebook
Causalml
The open source repository for the Causal Modeling in Machine Learning Workshop at Altdeep.ai @ www.altdeep.ai/courses/causalML
Stars: ✭ 376 (-1.31%)
Mutual labels:  jupyter-notebook
Deep Learning
Repo for the Deep Learning Nanodegree Foundations program.
Stars: ✭ 3,782 (+892.65%)
Mutual labels:  jupyter-notebook
Over9000
Over9000 optimizer
Stars: ✭ 375 (-1.57%)
Mutual labels:  jupyter-notebook
Deep Learning Nano Foundation
Udacity's Deep Learning Nano Foundation program.
Stars: ✭ 377 (-1.05%)
Mutual labels:  jupyter-notebook
Interesting Python
有趣的Python爬虫和Python数据分析小项目(Some interesting Python crawlers and data analysis projects)
Stars: ✭ 3,927 (+930.71%)
Mutual labels:  jupyter-notebook
Financeops
Research in investment finance with Python Notebooks
Stars: ✭ 378 (-0.79%)
Mutual labels:  jupyter-notebook
Matlab kernel
Jupyter Kernel for Matlab
Stars: ✭ 373 (-2.1%)
Mutual labels:  jupyter-notebook
Scikit Learn Book
Source code for the "Learning scikit-learn: Machine Learning in Python"
Stars: ✭ 376 (-1.31%)
Mutual labels:  jupyter-notebook
Deep Reinforcement Learning
Repo for the Deep Reinforcement Learning Nanodegree program
Stars: ✭ 4,012 (+953.02%)
Mutual labels:  jupyter-notebook
Bap
Bayesian Analysis with Python (Second Edition)
Stars: ✭ 379 (-0.52%)
Mutual labels:  jupyter-notebook
Pg Is All You Need
Policy Gradient is all you need! A step-by-step tutorial for well-known PG methods.
Stars: ✭ 372 (-2.36%)
Mutual labels:  jupyter-notebook

Augmented Neural ODEs

This repo contains code for the paper Augmented Neural ODEs (2019).

Examples

Requirements

The requirements that can be directly installed from PyPi can be found in requirements.txt. This code also builds on the awesome torchdiffeq library, which provides various ODE solvers on GPU. Instructions for installing torchdiffeq can be found in this repo.

Usage

The usage pattern is simple:

# ... Load some data ...

import torch
from anode.conv_models import ConvODENet
from anode.models import ODENet
from anode.training import Trainer

# Instantiate a model
# For regular data...
anode = ODENet(device, data_dim=2, hidden_dim=16, augment_dim=1)
# ... or for images
anode = ConvODENet(device, img_size=(1, 28, 28), num_filters=32, augment_dim=1)

# Instantiate an optimizer and a trainer
optimizer = torch.optim.Adam(anode.parameters(), lr=1e-3)
trainer = Trainer(anode, optimizer, device)

# Train model on your dataloader
trainer.train(dataloader, num_epochs=10)

More detailed examples and tutorials can be found in the augmented-neural-ode-example.ipynb and vector-field-visualizations.ipynb notebooks.

Running experiments

To run a large number of repeated experiments on toy datasets, use the following

python main_experiment.py config.json

where the specifications for the experiment can be found in config.json. This will log all the information about the experiments and generate plots for losses, NFEs and so on.

Running experiments on image datasets

To run large experiments on image datasets, use the following

python main_experiment_img.py config_img.json

where the specifications for the experiment can be found in config_img.json.

Demos

We also provide two demo notebooks that show how to reproduce some of the results and figures from the paper.

Vector fields

The vector-field-visualizations.ipynb notebook contains a demo and tutorial for reproducing the experiments on 1D ODE flows in the paper.

Augmented Neural ODEs

The augmented-neural-ode-example.ipynb notebook contains a demo and tutorial for reproducing the experiments comparing Neural ODEs and Augmented Neural ODEs on simple 2D functions.

Data

The MNIST and CIFAR10 datasets can be directly downloaded using torchvision (this will happen automatically if you run the code, unless you already have those datasets downloaded). To run experiments on ImageNet, you will need to download the data from the Tiny ImageNet website.

Citing

If you find this code useful in your research, consider citing with

@article{dupont2019augmented,
  title={Augmented Neural ODEs},
  author={Dupont, Emilien and Doucet, Arnaud and Teh, Yee Whye},
  journal={arXiv preprint arXiv:1904.01681},
  year={2019}
}

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].