TensorFlow

from Wikipedia, the free encyclopedia
TensorFlow

logo
Basic data

developer Google Brain Team
Publishing year November 9, 2015
Current  version 2.3.0
( July 27, 2020 )
operating system Linux , macOS , Windows
programming language Python , C ++
category Open source program library for artificial intelligence
License Apache 2.0 open source license
www.tensorflow.org

TensorFlow is a framework for data stream-oriented programming . TensorFlow is popularly used in the area of machine learning . The name TensorFlow comes from arithmetic operations that are carried out by artificial neural networks on multi-dimensional data fields, so-called tensors .

TensorFlow was originally developed by the Google Brain team for internal Google needs and was later published under the Apache 2.0 open source license.

example

In research and production , TensorFlow is currently used in commercial Google products such as speech recognition , Gmail , Google Photos and Google Search . The Maps service is improved by analyzing the photos of street signs taken by Street View , which are analyzed with the help of a neural network based on TensorFlow . Many of these products used the previous software, DistBelief.

In TensorFlow, mathematical operations are represented in the form of a graph . The graph represents the sequential sequence of all operations to be performed by TensorFlow. The following example shows the basic functionality using Python :

First the TensorFlow library is loaded.

1 # TensorFlow laden
2 import tensorflow as tf

Then the session is defined under which TensorFlow evaluates the mathematical operations.

1 # TensorFlow Session definieren
2 sess = tf.Session()

Two constants, x and y, are defined which are multiplied together.

1 # Zwei Konstanten im "8-bit signed integer"-Format
2 x = tf.constant(3, dtype=tf.int8)
3 y = tf.constant(2, dtype=tf.int8)
4 
5 # Eine Multiplikation
6 z = tf.multiply(x, y)

To determine the result, the graph is executed at point z.

1 # Ausführung
2 sess.run(z)
3 6

Tensor Processing Unit (TPU)

By Google were tensor processing units , that is application-specific chips designed to make the machine learning to support or accelerate. With this special hardware, the algorithms of the TensorFlow program library are processed particularly quickly and efficiently.

TensorFlow releases

1.4: Keras

Since the release of 1.4 is TensorFlow Keras, an open source - Deep-learning library, written in Python , part of Tensorflow Core API. However, Keras will be continued as an independent library, as according to its developer François Chollet it is not intended as the sole interface for Tensorflow, but as an interface for many frameworks.

1.5: TensorFlow Lite

As of version TensorFlow 1.5, the life cycle of models is supported differently. On the one hand can be determined by importing tensorflow.contrib.eagerwith enable_eager_execution()turn a mode that sold in the Python shell executes instructions directly in the TensorFlow without a session. So you can develop interactively. On the other hand, TensorFlow Lite is also supplied, a slim version with which models cannot be trained, but only executed. Like TensorFlow Mobile, it is specially designed for mobile devices . APIs for the use of TensorFlow with the programming languages Java , C and Go are also primarily suitable for executing models .

2.0: TensorFlow 2.0

With version 2.0 of TensorFlow released on September 30, 2019, the API has been cleaned up and expanded. In particular, the Keras interface has become the new standard API for modeling deep learning models. Individual functions have been expanded; TensorFlow 2 now saves models including weights and calculations, which significantly simplifies the transfer.

Supported programming languages

TensorFlow is used from within Python programs and is implemented in Python and C ++ . It supports the programming languages ​​Python, C , C ++, Go , Java , JavaScript and Swift . There are other libraries from third parties for the languages C # , Haskell , Julia , R , Scala , Rust , OCaml , and Crystal .

literature

  • Tom Hope, Yehezkel S. Resheff, Itay Lieder: Introduction to TensorFlow: Programming, training, scaling and deploying deep learning systems . Ed .: O'Reilly. 1st edition. mitp, 2018, ISBN 978-3-96009-074-8 .
  • Rezaul Karim: TensorFlow: Powerful Predictive Analytics with TensorFlow . Packt, 2018, ISBN 978-1-78913-691-3 (English, limited preview in Google Book Search).

Web links

Individual evidence

  1. Release 2.3.0 . July 27, 2020 (accessed July 28, 2020).
  2. heise online: Machine Learning: TensorFlow 1.0 released. February 17, 2017. Retrieved February 17, 2017 .
  3. heise Developer: Machine Learning: TensorFlow appears for Windows. November 30, 2016. Retrieved February 17, 2017 .
  4. TensorFlow Uses | TensorFlow. February 15, 2017, accessed February 17, 2017 .
  5. Zbigniew Wojna, Alex Gorban, Dar-Shyang Lee, Kevin Murphy, Qian Yu, Yeqing Li, Julian Ibarz: Attention-based Extraction of Structured Information from Street View Imagery. Retrieved May 1, 2020 .
  6. heise online: Google I / O 2016: "Tensor processors" helped win the Go. May 19, 2016. Retrieved February 19, 2017 .
  7. Release TensorFlow 1.4.0. November 2, 2017, accessed July 9, 2018 .
  8. Good news, Tensorflow chooses Keras! # 5050. January 16, 2017, accessed July 9, 2018 .
  9. Rainald Menge-Sonnentag: Machine Learning: TensorFlow 1.5 executes Python commands directly. January 29, 2018, accessed January 30, 2018 .
  10. Sebastian Grüner: Deep Learning: Tensorflow Lite is even smaller than Tensorflow Mobile - Golem.de . November 15, 2017 ( golem.de [accessed January 30, 2018]).
  11. Introduction to TensorFlow Lite | TensorFlow. Retrieved January 30, 2018 .
  12. tensorflow.org: Install r1.5 .
  13. TensorFlow 2.0 is now available! Accessed May 31, 2020 (English).
  14. All symbols in TensorFlow | TensorFlow ( en )
  15. TensorFlow Version Compatibility | TensorFlow ( en ): "Some API functions are explicitly marked as" experimental "and can change in backward incompatible ways between minor releases. These include other languages ​​"
  16. API Documentation . Retrieved June 27, 2018.
  17. 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."
  18. Swift for TensorFlow ( en ) 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. "
  19. TensorFlow.NET: .NET Standard bindings for TensorFlow . December 11, 2018. Retrieved December 11, 2018.
  20. haskell: Haskell bindings for TensorFlow . tensorflow. February 17, 2018. Retrieved February 18, 2018.
  21. malmaud / TensorFlow.jl ( en ) Retrieved June 28, 2018.
  22. tensorflow: TensorFlow for R . RStudio. February 17, 2018. Retrieved February 18, 2018.
  23. tensorflow_scala: TensorFlow API for the Scala Programming Language . February 17, 2018. Retrieved February 18, 2018.
  24. rust: Rust language bindings for TensorFlow . tensorflow. February 17, 2018. Retrieved February 18, 2018.
  25. Laurent Mazare: tensorflow-ocaml: OCaml bindings for TensorFlow . February 16, 2018. Retrieved February 18, 2018.
  26. fazibear / tensorflow.cr ( en ) Retrieved October 10, 2018.