PLLGMLMar 19, 2020

TF-Coder: Program Synthesis for Tensor Manipulations

arXiv:2003.09040v447 citations
AI Analysis

This tool addresses the difficulty for developers in writing TensorFlow code, offering a practical solution but is incremental as it builds on existing program synthesis techniques.

The paper tackles the steep learning curve of TensorFlow programming by introducing TF-Coder, a tool that synthesizes TensorFlow code from examples, solving 63 out of 70 real-world tasks within 5 minutes and sometimes outperforming human programmers in speed and simplicity.

The success and popularity of deep learning is on the rise, partially due to powerful deep learning frameworks such as TensorFlow and PyTorch that make it easier to develop deep learning models. However, these libraries also come with steep learning curves, since programming in these frameworks is quite different from traditional imperative programming with explicit loops and conditionals. In this work, we present a tool called TF-Coder for programming by example in TensorFlow. TF-Coder uses a bottom-up weighted enumerative search, with value-based pruning of equivalent expressions and flexible type- and value-based filtering to ensure that expressions adhere to various requirements imposed by the TensorFlow library. We train models to predict TensorFlow operations from features of the input and output tensors and natural language descriptions of tasks, to prioritize relevant operations during search. TF-Coder solves 63 of 70 real-world tasks within 5 minutes, sometimes finding simpler solutions in less time compared to experienced human programmers.

Code Implementations2 repos
Foundations

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

Your Notes