Lantern is a new, highly expressive, machine learning framework in Scala. Lantern is bassed on two important and well-studied programming language concepts: delimited continuations and multi-stage programming (staging, for short). Delimited continuations provide a very concise view of reverse-mode automatic differentation (AD), which allows for the implementation of reverse-mode AD purely through operator overloading (no auxiliary data structures required!). Staging leads to a highly efficient implementation which combines the performance benefits of deep learning frameworks based on explicit reified computation graphs (à la TensorFlow) with the expressiveness of pure library approaches (à la PyTorch).

Keywords for this software

Anything in here will be replaced on browsers that support the canvas element