TensorFlow Eager: A Multi-Stage, Python-Embedded DSL for Machine Learning
Akshay Agrawal, Akshay Naresh Modi, Alexandre Passos, Allen Lavoie,, Ashish Agarwal, Asim Shankar, Igor Ganichev, Josh Levenberg, Mingsheng Hong,, Rajat Monga, Shanqing Cai

TL;DR
TensorFlow Eager introduces a multi-stage, Python-embedded DSL that combines immediate execution with graph compilation for flexible, hardware-accelerated machine learning development.
Contribution
It provides an imperative front-end with a JIT tracer, enabling seamless switching between dynamic execution and optimized graph compilation.
Findings
Enables rapid prototyping with immediate execution.
Supports efficient deployment via dataflow graphs.
Balances usability and performance in machine learning workflows.
Abstract
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.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Computational Physics and Python Applications · Machine Learning and Data Classification
