TensorFlow is a system for executing machine learning computations expressed as dataflow graphs across heterogeneous systems ranging from mobile devices to large distributed systems. It allows expressing a variety of algorithms including deep neural networks and has been used for research and production across many domains. The paper describes the TensorFlow programming model, interface, and implementations for single machine and distributed execution which map computations to available devices like CPUs and GPUs while managing data communication between devices.