PLLGFeb 27, 2019

TensorFlow Eager: A Multi-Stage, Python-Embedded DSL for Machine Learning

arXiv:1903.01855v192 citations
Originality Incremental advance
AI Analysis

This addresses the problem of slow prototyping and limited dynamism for machine learning researchers and developers using TensorFlow, offering a solution that maintains deployment benefits while improving usability.

TensorFlow Eager tackles the usability issues of TensorFlow's graph-based computations, which hinder rapid prototyping and run-time dynamism, by providing an imperative front-end that executes operations immediately and a JIT tracer for graph conversion, enabling easy interpolation between imperative and staged execution.

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.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes