TensorFlow

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Beland (talk | contribs) at 13:43, 2 September 2018 (→‎Tensor processing unit (TPU): explain ASIC). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

TensorFlow
Developer(s)Google Brain Team[1]
Initial releaseNovember 9, 2015; 8 years ago (2015-11-09)
Stable release
1.10.0[2] / August 8, 2018; 5 years ago (2018-08-08)
Repositorygithub.com/tensorflow/tensorflow
Written inPython, C++, CUDA
PlatformLinux, macOS, Windows, Android, website
TypeMachine learning library
LicenseApache 2.0 open source license
Websitewww.tensorflow.org

TensorFlow is an open-source software library for dataflow programming across a range of tasks. It is a symbolic math library, and is also used for machine learning applications such as neural networks.[3] It is used for both research and production at Google,‍[3]: min 0:15/2:17 [4]: p.2 [3]: 0:26/2:17  often replacing its closed-source predecessor, DistBelief.

TensorFlow was developed by the Google Brain team for internal Google use. It was released under the Apache 2.0 open source license on November 9, 2015.[1][5]

History

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.[4][6] 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.[7] 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.[8]

TensorFlow

TensorFlow is Google Brain's second-generation system. Version 1.0.0 was released on February 11, 2017.[9] 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).[10] TensorFlow is available on 64-bit Linux, macOS, Windows, and mobile computing platforms including Android and iOS.

Its flexible architecture allows for the 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. These arrays are referred to as "tensors". In June 2016, Dean stated that 1,500 repositories on GitHub mentioned TensorFlow, of which only 5 were from Google.[11]

Tensor processing unit (TPU)

In May 2016, Google announced its Tensor processing unit (TPU), an application-specific integrated circuit (a hardware chip) built specifically for machine learning and tailored for TensorFlow. 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.[12]

In May 2017, Google announced the second-generation, as well as the availability of the TPUs in Google Compute Engine.[13] 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 February 2018, Google announced that they were making TPUs available in beta on the Google Cloud Platform.[14]

TensorFlow Lite

In May 2017, Google announced a software stack specifically for Android development, TensorFlow Lite,[15] beginning with Android Oreo.

Applications

Google officially released RankBrain on October 26, 2015, backed by TensorFlow.

Machine Learning Crash Course (MLCC)

On March 1, 2018, Google released its Machine Learning Crash Course (MLCC). Originally designed to help equip Google employees with practical artificial intelligence and machine learning fundamentals, Google rolled out its free TensorFlow workshops in several cities around the world before finally releasing the course to the public.[16]

Features

TensorFlow provides stable Python API[17] and C APIs;[18] and without API backwards compatibility guarantee: C++, Go, Java,[19] JavaScript[20] and Swift (early release).[21] Third party packages are available for C#,[22] Haskell,[23] Julia,[24] R,[25] Scala,[26] Rust,[27] and OCaml.[28]

Applications

Original photo (left) and with TensorFlow neural style applied (right)

Among the applications for which TensorFlow is the foundation, are automated image captioning software, such as DeepDream.[29] RankBrain now handles a substantial number of search queries, replacing and supplementing traditional static algorithm-based search results.[30]

References

  1. ^ a b "Credits". TensorFlow.org. Retrieved November 10, 2015.
  2. ^ "TensorFlow Release". Retrieved August 8, 2018.
  3. ^ a b c "TensorFlow: Open source machine learning" "It is machine learning software being used for various kinds of perceptual and language understanding tasks" — Jeffrey Dean, minute 0:47 / 2:17 from Youtube clip
  4. ^ a b Dean, Jeff; Monga, Rajat; et al. (November 9, 2015). "TensorFlow: Large-scale machine learning on heterogeneous systems" (PDF). TensorFlow.org. Google Research. Retrieved November 10, 2015.
  5. ^ Metz, Cade (November 9, 2015). "Google Just Open Sourced TensorFlow, Its Artificial Intelligence Engine". Wired. Retrieved November 10, 2015.
  6. ^ Perez, Sarah (November 9, 2015). "Google Open-Sources The Machine Learning Tech Behind Google Photos Search, Smart Reply And More". TechCrunch. Retrieved November 11, 2015.
  7. ^ Oremus, Will (November 11, 2015). "What Is TensorFlow, and Why Is Google So Excited About It?". Slate. Retrieved November 11, 2015.
  8. ^ Ward-Bailey, Jeff (November 25, 2015). "Google chairman: We're making 'real progress' on artificial intelligence". CSMonitor. Retrieved November 25, 2015.
  9. ^ "Tensorflow Release 1.0.0". {{cite web}}: Cite has empty unknown parameter: |dead-url= (help)
  10. ^ Metz, Cade (November 10, 2015). "TensorFlow, Google's Open Source AI, Points to a Fast-Changing Hardware World". Wired. Retrieved November 11, 2015.
  11. ^ Machine Learning: Google I/O 2016 Minute 07:30/44:44 accessdate=2016-06-05
  12. ^ Jouppi, Norm. "Google supercharges machine learning tasks with TPU custom chip". Google Cloud Platform Blog. Retrieved May 19, 2016.
  13. ^ "Build and train machine learning models on our new Google Cloud TPUs". Google. May 17, 2017. Retrieved May 18, 2017.
  14. ^ "Cloud TPU machine learning accelerators now available in beta". Google Cloud Platform Blog. Retrieved February 12, 2018.
  15. ^ "Google's new machine learning framework is going to put more AI on your phone".
  16. ^ "Machine Learning Crash Course with TensorFlow APIs". Google.
  17. ^ "All symbols in TensorFlow | TensorFlow". TensorFlow. Retrieved February 18, 2018.
  18. ^ "TensorFlow Version Compatibility | TensorFlow". TensorFlow. Retrieved May 10, 2018. Some API functions are explicitly marked as "experimental" and can change in backward incompatible ways between minor releases. These include other languages
  19. ^ "API Documentation". Retrieved June 27, 2018.
  20. ^ "TensorFlow.js". Retrieved June 28, 2018. TensorFlow.js has an API similar to the TensorFlow Python API, however it does not support all of the functionality of the TensorFlow Python API.
  21. ^ "Swift for TensorFlow". Retrieved June 28, 2018. Swift for TensorFlow is an early stage research project. It has been released to enable open source development and is not yet ready for general use by machine learning developers. The API is subject to change at any time.
  22. ^ Icaza, Miguel de (February 17, 2018), TensorFlowSharp: TensorFlow API for .NET languages, retrieved February 18, 2018
  23. ^ haskell: Haskell bindings for TensorFlow, tensorflow, February 17, 2018, retrieved February 18, 2018
  24. ^ "malmaud/TensorFlow.jl". GitHub. Retrieved June 28, 2018.
  25. ^ tensorflow: TensorFlow for R, RStudio, February 17, 2018, retrieved February 18, 2018
  26. ^ Platanios, Anthony (February 17, 2018), tensorflow_scala: TensorFlow API for the Scala Programming Language, retrieved February 18, 2018
  27. ^ rust: Rust language bindings for TensorFlow, tensorflow, February 17, 2018, retrieved February 18, 2018
  28. ^ Mazare, Laurent (February 16, 2018), tensorflow-ocaml: OCaml bindings for TensorFlow, retrieved February 18, 2018
  29. ^ Byrne, Michael (November 11, 2015). "Google Offers Up Its Entire Machine Learning Library as Open-Source Software". Vice. Retrieved November 11, 2015.
  30. ^ Woollaston, Victoria (November 25, 2015). "Google releases TensorFlow – Search giant makes its artificial intelligence software available to the public". DailyMail. Retrieved November 25, 2015.

External links