DistBelief Starting in 2011, Google Brain built DistBelief as a
proprietary machine learning system based on
deep learning neural networks. Its use grew rapidly across diverse
Alphabet companies in both research and commercial applications. Google assigned multiple computer scientists, including
Jeff Dean, to simplify and
refactor the codebase of DistBelief into a faster, more robust application-grade library, which became TensorFlow. In 2009, the team, led by
Geoffrey Hinton, had implemented generalized
backpropagation and other improvements, which allowed generation of
neural networks with substantially higher accuracy, for instance a 25% reduction in errors in
speech recognition.
TensorFlow TensorFlow is Google Brain's second-generation system. Version 1.0.0 was released on February 11, 2017. While the
reference implementation runs on single devices, TensorFlow can run on multiple
CPUs and
GPUs (with optional
CUDA and
SYCL extensions for
general-purpose computing on graphics processing units). TensorFlow is available on 64-bit
Linux,
macOS,
Windows, and mobile computing platforms including
Android and
iOS. Its flexible architecture allows for easy deployment of computation across a variety of platforms (CPUs, GPUs,
TPUs), and from desktops to clusters of servers to mobile and
edge devices. TensorFlow computations are expressed as
stateful dataflow graphs. The name TensorFlow derives from the operations that such neural networks perform on multidimensional data arrays, which are referred to as
tensors. During the
Google I/O Conference in June 2016, Jeff Dean stated that 1,500 repositories on
GitHub mentioned TensorFlow, of which only 5 were from Google. In March 2018, Google announced TensorFlow.js version 1.0 for machine learning in
JavaScript. In Jan 2019, Google announced TensorFlow 2.0. It became officially available in September 2019. In May 2019, Google announced TensorFlow Graphics for deep learning in computer graphics.
Tensor processing unit (TPU) In May 2016, Google announced its
Tensor processing unit (TPU), an
application-specific integrated circuit (
ASIC, a hardware chip) built specifically for machine learning and tailored for TensorFlow. A TPU is a programmable
AI accelerator designed to provide high
throughput of low-precision
arithmetic (e.g.,
8-bit), and oriented toward using or running models rather than
training them. Google announced they had been running TPUs inside their data centers for more than a year, and had found them to deliver an
order of magnitude better-optimized
performance per watt for machine learning. In May 2017, Google announced the second-generation, as well as the availability of the TPUs in
Google Compute Engine. The second-generation TPUs deliver up to 180
teraflops of performance, and when organized into clusters of 64 TPUs, provide up to 11.5
petaflops. In May 2018, Google announced the third-generation TPUs delivering up to 420
teraflops of performance and 128 GB high
bandwidth memory (HBM). Cloud TPU v3 Pods offer 100+
petaflops of performance and 32 TB HBM. In February 2018, Google announced that they were making TPUs available in beta on the
Google Cloud Platform.
Edge TPU In July 2018, the Edge TPU was announced. Edge TPU is Google's purpose-built
ASIC chip designed to run TensorFlow Lite machine learning (ML) models on small client computing devices such as smartphones known as
edge computing.
TensorFlow Lite In May 2017, Google announced TensorFlow Lite as a software stack to support machine learning models for mobile and embedded devices, and in November 2017, provided the developer preview. In January 2019, the TensorFlow team released a developer preview of the mobile GPU inference engine with OpenGL ES 3.1 Compute Shaders on Android devices and Metal Compute Shaders on iOS devices. In May 2019, Google announced that their TensorFlow Lite Micro (also known as TensorFlow Lite for Microcontrollers) and
ARM's uTensor would be merging. It was renamed as LiteRT in 2024.
TensorFlow 2.0 As TensorFlow's market share among research papers was declining to the advantage of
PyTorch, the TensorFlow Team announced a release of a new major version of the library in September 2019. TensorFlow 2.0 introduced many changes, the most significant being TensorFlow eager, which changed the automatic differentiation scheme from the static computational graph to the "Define-by-Run" scheme originally made popular by
Chainer and later
PyTorch. == Features ==