TensorFlow
In 2011, the Google Brain team began building a proprietary machine learning system called DistBelief. This early software relied on deep learning neural networks to process vast amounts of data for Alphabet companies. By 2009, Geoffrey Hinton and his colleagues had implemented generalized backpropagation techniques that reduced speech recognition errors by 25 percent. The team assigned multiple computer scientists including Jeff Dean to refactor this codebase into a faster application-grade library. They released the initial version under the Apache License 2.0 in 2015. Version 1.0.0 officially launched on the 11th of February 2017. During the June 2016 Google I/O Conference, Jeff Dean noted that 1,500 repositories on GitHub mentioned TensorFlow with only five coming from Google itself. An updated major release arrived in September 2019 when the team introduced TensorFlow 2.0. This update shifted the automatic differentiation scheme from static computational graphs to Define-by-Run methods popularized by Chainer and PyTorch.
Google announced its Tensor Processing Unit or TPU in May 2016 as an application-specific integrated circuit built specifically for machine learning workloads. These chips delivered an order of magnitude better optimized performance per watt compared to existing hardware during their first year of operation inside data centers. The second-generation TPUs became available in May 2017 through Google Compute Engine offering up to 180 teraflops of performance. Clusters of 64 second-generation units provided up to 11.5 petaflops of total processing power. Third-generation TPUs arrived in May 2018 delivering 420 teraflops alongside 128 GB high bandwidth memory. Cloud TPU v3 Pods offered over 100 petaflops of performance with 32 TB HBM capacity. In February 2018, Google made these accelerators available in beta on the Google Cloud Platform. July 2018 saw the announcement of the Edge TPU designed to run TensorFlow Lite models on small client devices like smartphones. This purpose-built ASIC chip enabled edge computing capabilities previously unavailable on mobile hardware.
TensorFlow computations are expressed as stateful dataflow graphs where operations perform calculations on multidimensional data arrays called tensors. AutoDifferentiation automatically calculates gradient vectors for model parameters enabling algorithms like backpropagation to optimize performance efficiently. The framework tracks operation order on input Tensors to compute gradients against appropriate parameters during training cycles. Eager execution mode evaluates operations immediately rather than adding them to a computational graph executed later. Code running in eager mode can be examined step-by-step through a debugger since data augments at each line of code. This paradigm offers easier debugging due to its transparent step-by-step nature compared to traditional static graph approaches. Distribution APIs allow computation across multiple devices using various strategies to speed up training and evaluation processes. Loss functions such as mean squared error or binary cross entropy help train and assess model accuracy effectively. Metrics including precision recall and intersection-over-union provide standard ways to measure machine learning model performance.
March 2018 brought TensorFlow.js version 1.0 allowing machine learning directly within JavaScript environments for web applications. November 2017 provided developer previews for mobile GPU inference engines using OpenGL ES 3.1 Compute Shaders on Android devices. May 2019 saw the announcement that TensorFlow Lite Micro would merge with ARM's uTensor project before renaming to LiteRT in 2024. TensorFlow Extended or TFX provides components for loading validating transforming tuning training evaluating models and pushing them into production pipelines. Numpy integration allows native Python data structures to convert automatically between NumPy NDarrays and TensorFlow Tensors without explicit conversion code. Memory optimization occurs when TF Tensors share underlying memory representations of NumPy arrays whenever possible. Google Colab released a Jupyter notebook environment running on Google Cloud offering free access to GPUs and storage sharing via Google Drive. Google JAX transforms numerical functions combining autograd with TensorFlow's XLA Accelerated Linear Algebra capabilities following NumPy workflows closely. TensorFlow Recommenders and TensorFlow Graphics libraries extend functionality for specific functional domains while other add-ons include Probability Quantum Decision Forests modules.
GE Healthcare utilized TensorFlow to increase speed and accuracy of MRIs identifying specific body parts during medical imaging procedures. Google created DermAssist as a free mobile application enabling users to photograph skin and identify potential health complications independently. Sinovation Ventures employed TensorFlow to classify eye diseases from optical coherence tomography scans taken by patients. Twitter implemented TensorFlow ranking tweets by importance for individual users instead showing reverse chronological order previously. Photo sharing app VSCO used TensorFlow to suggest custom filters tailored to user preferences. RankBrain officially launched the 26th of October 2015 backed by TensorFlow technology powering search engine results. InSpace virtual learning platform filtered toxic chat messages in classrooms using machine learning algorithms. Liulishuo online English learning platform created adaptive curricula assessing student abilities before deciding content delivery methods. E-commerce platform Carousell provided personalized recommendations for customers through TensorFlow-driven analysis. Cosmetics company ModiFace developed augmented reality experiences allowing customers testing various makeup shades virtually on their faces.
Common questions
When was TensorFlow officially released as version 1.0.0?
Version 1.0.0 of TensorFlow officially launched on the 11th of February 2017.
What hardware did Google announce for machine learning workloads in May 2016?
Google announced its Tensor Processing Unit or TPU in May 2016 as an application-specific integrated circuit built specifically for machine learning workloads.
How does TensorFlow handle automatic differentiation and gradient calculation?
AutoDifferentiation automatically calculates gradient vectors for model parameters enabling algorithms like backpropagation to optimize performance efficiently.
Which company used TensorFlow to improve MRI speed and accuracy in medical imaging?
GE Healthcare utilized TensorFlow to increase speed and accuracy of MRIs identifying specific body parts during medical imaging procedures.
When did RankBrain launch with TensorFlow technology backing search results?
RankBrain officially launched the 26th of October 2015 backed by TensorFlow technology powering search engine results.
All sources
84 references cited across the entry
- 1webTensorFlow.js
- 2conferenceTensorFlow: A System for Large-Scale Machine LearningMartín Abadi et al. — 2016
- 3av mediaTensorFlow: Open source machine learningGoogle — 2015
- 5harvnbVideo clip by Google about TensorFlow (2015)Video clip by Google about TensorFlow — 2015
- 6harvnbDean et al (2015) p. 2Dean et al — 2015
- 7webCredits
- 8webGoogle Just Open Sourced TensorFlow, Its Artificial Intelligence EngineCade Metz — November 9, 2015
- 10webTensorFlow: Large-scale machine learning on heterogeneous systemsJeff Dean et al. — Google Research — November 9, 2015
- 11webGoogle Open-Sources The Machine Learning Tech Behind Google Photos Search, Smart Reply And MoreSarah Perez — November 9, 2015
- 12webWhat Is TensorFlow, and Why Is Google So Excited About It?Will Oremus — November 9, 2015
- 13webGoogle chairman: We're making 'real progress' on artificial intelligenceJeff Ward-Bailey — November 25, 2015
- 14journalTensorflow Release 1.0.0TensorFlow Developers — 2022
- 15newsTensorFlow, Google's Open Source AI, Points to a Fast-Changing Hardware WorldCade Metz — November 10, 2015
- 16webBuilding a Facial Expression Recognition App Using TensorFlow.jsAniket Eknath Kudale — June 8, 2020
- 17webThe Ultimate Guide to Machine Learning FrameworksJanakiram MSV — February 24, 2021
- 18webIntroduction to tensorstensorflow.org
- 20webIntroducing TensorFlow.js: Machine Learning in JavascriptTensorFlow — March 30, 2018
- 21webWhat's coming in TensorFlow 2.0TensorFlow — January 14, 2019
- 22webTensorFlow 2.0 is now available!TensorFlow — September 30, 2019
- 23webIntroducing TensorFlow Graphics: Computer Graphics Meets Deep LearningTensorFlow — May 9, 2019
- 24webGoogle supercharges machine learning tasks with TPU custom chipNorm Jouppi
- 25newsBuild and train machine learning models on our new Google Cloud TPUsMay 17, 2017
- 26webCloud TPU
- 28webGoogle Announces Edge TPU, Cloud IoT Edge at Cloud Next 2018Kishalaya Kundu — July 26, 2018
- 30webAnnouncing TensorFlow Lite- Google Developers Blog2017-11-14
- 31webTensorFlow Lite Now Faster with Mobile GPUs (Developer Preview)TensorFlow — January 16, 2019
- 34webThe State of Machine Learning Frameworks in 2019Horace He — The Gradient — October 10, 2019
- 35bookIntroduction to Artificial Intelligence: from data analysis to generative AIAlberto Ciaramella et al. — Intellisemantic Editions — July 2024
- 39bookDistributed Computing and Artificial Intelligence, 11th International ConferenceOmatu Sigeru. — Springer International Publishing — 2014
- 44book2018 International Conference on Computational Techniques, Electronics and Mechanical Systems (CTEMS)E. M. Dogo et al. — December 2018
- 48webTensorFlow.js
- 50weborg.tensorflow Java
- 51webTensorFlowSharp: TensorFlow API for .NET languagesMiguel de Icaza — February 17, 2018
- 52webTensorFlow.NET: .NET Standard bindings for TensorFlowHaiping Chen — December 11, 2018
- 53webhaskell: Haskell bindings for TensorFlowtensorflow — February 17, 2018
- 54webA Julia wrapper for TensorFlowJon Malmaud — August 12, 2019
- 55webA MATLAB wrapper for TensorFlow CoreNovember 3, 2019
- 56webUse TensorFlow from Pascal (FreePascal, Lazarus, etc.)January 19, 2023
- 57webtensorflow: TensorFlow for RRStudio — February 17, 2018
- 58webtensorflow_scala: TensorFlow API for the Scala Programming LanguageAnthony Platanios — February 17, 2018
- 59webrust: Rust language bindings for TensorFlowtensorflow — February 17, 2018
- 60webtensorflow-ocaml: OCaml bindings for TensorFlowLaurent Mazare — February 16, 2018
- 67webTensorFlow Lite
- 73webGoogle Colaboratory
- 74citationJAX: Autograd and XLAJames Bradbury et al. — Google — June 18, 2022
- 75webUsing JAX to accelerate our researchDecember 4, 2020
- 76webWhy is Google's JAX so popular?April 25, 2022
- 80webA Complete Guide to the Google RankBrain AlgorithmDave Davies — September 2, 2020
- 82web流利说基于 TensorFlow 的自适应系统实践Xulin
- 84webGoogle Offers Up Its Entire Machine Learning Library as Open-Source SoftwareMichael Byrne — November 11, 2015