Git Product home page Git Product logo

anode's Introduction

ANODE

ANODE: Adjoint Based Neural ODEs

ANODE is a neural ODE framework based on this paper. It provides unconditionally accurate gradients for Neural ODEs, using adjoint method. It also uses checkpointing to enable testing with large time steps without compromising accuracy in gradient computations.

Examples

The main driver for ANODE is train.py file. It provdies command line options to test with different configurations. An example use case to test with ResNet is:

python3 train.py --network resnet

Similarly to test with SqueezeNext you can use:

python3 train.py --network sqnxt

Key command line options include:

  • network Network structure to use. Currently we support ResNet and SqueezeNext
  • method Specifies the discretization method to use for solving ODE. We currently support Euler, RK2, and RK4 methods
  • Nt Number of time steps to use for solving ODE
  • lr Value of leraning rate

Comparison with Neural ODE

ANODE computes the correct gradient information, whereas the approach presented in Neural ODE may suffer from numerical instability associated with solving forward ODE backwards in time. Below are the comparison on three networks of AlexNet, ResNet-4, and Resnet-10 on Cifar-10. For more details please see this paper.

ANODE

ANODE
Comparison of ANODE and Neural ODE using RK-2 discretization method on Cifar-10 using SqueezeNext model. ANODE converges to lower training loss and higher testing accuracy, since it computes unconditionally accurate gradients whereas the Neural ODE approach may suffer from numerical instability associated with solving forward ODE, backwards in time. For more details please see this paper.

Reference

If you found this code useful, we appreciate it if you could please cite the following papers:

  • Amir Gholami, Kurt Keutzer, and George Biros, ANODE: Unconditionally Accurate Memory-Efficient Gradients for Neural ODEs, International Joint Conferences on Artificial Intelligence (IJCAI'19), 2019.
  • Zhang, Tianjun, Zhewei Yao, Amir Gholami, Kurt Keutzer, Joseph Gonzalez, George Biros, and Michael Mahoney. ANODEV2: A Coupled Neural ODE Evolution Framework, arXiv preprint arXiv:1906.04596 (2019).

anode's People

Contributors

amirgholami avatar tianjunz avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.