TensorFlow Eager is a multi-stage, Python-embedded domain-specific language for hardware-accelerated machine learning, suitable for both interactive research and production. TensorFlow, which TensorFlow Eager extends, requires users to represent computations as dataflow graphs; this permits compiler optimizations and simplifies deployment but hinders rapid prototyping and run-time dynamism. TensorFlow Eager eliminates these usability costs without sacrificing the benefits furnished by graphs: It provides an imperative front-end to TensorFlow that executes operations immediately and a JIT tracer that translates Python functions composed of TensorFlow operations into executable dataflow graphs. TensorFlow Eager thus offers a multi-stage programming model that makes it easy to interpolate between imperative and staged execution in a single package.
@article{arxiv.1903.01855,
title = {TensorFlow Eager: A Multi-Stage, Python-Embedded DSL for Machine Learning},
author = {Akshay Agrawal and Akshay Naresh Modi and Alexandre Passos and Allen Lavoie and Ashish Agarwal and Asim Shankar and Igor Ganichev and Josh Levenberg and Mingsheng Hong and Rajat Monga and Shanqing Cai},
journal= {arXiv preprint arXiv:1903.01855},
year = {2019}
}