fbpx
Wikipedia

TensorFlow

TensorFlow is a free and open-source software library for machine learning and artificial intelligence. It can be used across a range of tasks but has a particular focus on training and inference of deep neural networks.[3][4]

TensorFlow
TensorFlow logo
Developer(s)Google Brain Team[1]
Initial releaseNovember 9, 2015; 8 years ago (2015-11-09)
Repositorygithub.com/tensorflow/tensorflow
Written inPython, C++, CUDA
PlatformLinux, macOS, Windows, Android, JavaScript[2]
TypeMachine learning library
LicenseApache License 2.0
Websitetensorflow.org

It was developed by the Google Brain team for Google's internal use in research and production.[5][6][7] The initial version was released under the Apache License 2.0 in 2015.[1][8] Google released an updated version, TensorFlow 2.0, in September 2019.[9]

TensorFlow can be used in a wide variety of programming languages, including Python, JavaScript, C++, and Java,[10] facilitating its use in a range of applications in many sectors.

History edit

DistBelief edit

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.[11][12] 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.[13] 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.[14]

TensorFlow edit

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

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, which are referred to as tensors.[17] 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.[18]

In December 2017, developers from Google, Cisco, RedHat, CoreOS, and CaiCloud introduced Kubeflow at a conference. Kubeflow allows operation and deployment of TensorFlow on Kubernetes.[citation needed]

In March 2018, Google announced TensorFlow.js version 1.0 for machine learning in JavaScript.[19]

In Jan 2019, Google announced TensorFlow 2.0.[20] It became officially available in September 2019.[9]

In May 2019, Google announced TensorFlow Graphics for deep learning in computer graphics.[21]

Tensor processing unit (TPU) edit

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.[22]

In May 2017, Google announced the second-generation, as well as the availability of the TPUs in Google Compute Engine.[23] 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.[citation needed]

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.[24]

In February 2018, Google announced that they were making TPUs available in beta on the Google Cloud Platform.[25]

Edge TPU edit

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[26] known as edge computing.

TensorFlow Lite edit

In May 2017, Google announced a software stack specifically for mobile development, TensorFlow Lite.[27] 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.[28] In May 2019, Google announced that their TensorFlow Lite Micro (also known as TensorFlow Lite for Microcontrollers) and ARM's uTensor would be merging.[29]

Pixel Visual Core (PVC) edit

In October 2017, Google released the Google Pixel 2 which featured their Pixel Visual Core (PVC), a fully programmable image, vision and AI processor for mobile devices. The PVC supports TensorFlow for machine learning (and Halide for image processing).[citation needed]

TensorFlow 2.0 edit

As TensorFlow's market share among research papers was declining to the advantage of PyTorch,[30] 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.[30] Other major changes included removal of old libraries, cross-compatibility between trained models on different versions of TensorFlow, and significant improvements to the performance on GPU.[31][non-primary source needed]

Features edit

AutoDifferentiation edit

AutoDifferentiation is the process of automatically calculating the gradient vector of a model with respect to each of its parameters. With this feature, TensorFlow can automatically compute the gradients for the parameters in a model, which is useful to algorithms such as backpropagation which require gradients to optimize performance.[32] To do so, the framework must keep track of the order of operations done to the input Tensors in a model, and then compute the gradients with respect to the appropriate parameters.[32]

Eager execution edit

TensorFlow includes an “eager execution” mode, which means that operations are evaluated immediately as opposed to being added to a computational graph which is executed later.[33] Code executed eagerly can be examined step-by step-through a debugger, since data is augmented at each line of code rather than later in a computational graph.[33] This execution paradigm is considered to be easier to debug because of its step by step transparency.[33]

Distribute edit

In both eager and graph executions, TensorFlow provides an API for distributing computation across multiple devices with various distribution strategies.[34] This distributed computing can often speed up the execution of training and evaluating of TensorFlow models and is a common practice in the field of AI.[34][35]

Losses edit

To train and assess models, TensorFlow provides a set of loss functions (also known as cost functions).[36] Some popular examples include mean squared error (MSE) and binary cross entropy (BCE).[36] These loss functions compute the “error” or “difference” between a model's output and the expected output (more broadly, the difference between two tensors). For different datasets and models, different losses are used to prioritize certain aspects of performance.[citation needed]

Metrics edit

In order to assess the performance of machine learning models, TensorFlow gives API access to commonly used metrics. Examples include various accuracy metrics (binary, categorical, sparse categorical) along with other metrics such as Precision, Recall, and Intersection-over-Union (IoU).[37]

TF.nn edit

TensorFlow.nn is a module for executing primitive neural network operations on models.[38] Some of these operations include variations of convolutions (1/2/3D, Atrous, depthwise), activation functions (Softmax, RELU, GELU, Sigmoid, etc.) and their variations, and other operations (max-pooling, bias-add, etc.).[38]

Optimizers edit

TensorFlow offers a set of optimizers for training neural networks, including ADAM, ADAGRAD, and Stochastic Gradient Descent (SGD).[39] When training a model, different optimizers offer different modes of parameter tuning, often affecting a model's convergence and performance.[40]

Usage and extensions edit

TensorFlow edit

TensorFlow serves as a core platform and library for machine learning. TensorFlow's APIs use Keras to allow users to make their own machine-learning models.[41] In addition to building and training their model, TensorFlow can also help load the data to train the model, and deploy it using TensorFlow Serving.[42]

TensorFlow provides a stable Python Application Program Interface (API),[43] as well as APIs without backwards compatibility guarantee for Javascript,[44] C++,[45] and Java.[46][10] Third-party language binding packages are also available for C#,[47][48] Haskell,[49] Julia,[50] MATLAB,[51] Object Pascal,[52] R,[53] Scala,[54] Rust,[55] OCaml,[56] and Crystal.[57] Bindings that are now archived and unsupported include Go[58] and Swift.[59]

TensorFlow.js edit

TensorFlow also has a library for machine learning in JavaScript. Using the provided JavaScript APIs, TensorFlow.js allows users to use either Tensorflow.js models or converted models from TensorFlow or TFLite, retrain the given models, and run on the web.[42][60]

TFLite edit

TensorFlow Lite has APIs for mobile apps or embedded devices to generate and deploy TensorFlow models.[61] These models are compressed and optimized in order to be more efficient and have a higher performance on smaller capacity devices.[62]

TensorFlow Lite uses FlatBuffers as the data serialization format for network models, eschewing the Protocol Buffers format used by standard TensorFlow models.[62]

TFX edit

TensorFlow Extended (abbrev. TFX) provides numerous components to perform all the operations needed for end-to-end production.[63] Components include loading, validating, and transforming data, tuning, training, and evaluating the machine learning model, and pushing the model itself into production.[42][63]

Integrations edit

Numpy edit

Numpy is one of the most popular Python data libraries, and TensorFlow offers integration and compatibility with its data structures.[64] Numpy NDarrays, the library's native datatype, are automatically converted to TensorFlow Tensors in TF operations; the same is also true vice versa.[64] This allows for the two libraries to work in unison without requiring the user to write explicit data conversions. Moreover, the integration extends to memory optimization by having TF Tensors share the underlying memory representations of Numpy NDarrays whenever possible.[64]

Extensions edit

TensorFlow also offers a variety of libraries and extensions to advance and extend the models and methods used.[65] For example, TensorFlow Recommenders and TensorFlow Graphics are libraries for their respective functionalities in recommendation systems and graphics, TensorFlow Federated provides a framework for decentralized data, and TensorFlow Cloud allows users to directly interact with Google Cloud to integrate their local code to Google Cloud.[66] Other add-ons, libraries, and frameworks include TensorFlow Model Optimization, TensorFlow Probability, TensorFlow Quantum, and TensorFlow Decision Forests.[65][66]

Google Colab edit

Google also released Colaboratory, a TensorFlow Jupyter notebook environment that does not require any setup.[67] It runs on Google Cloud and allows users free access to GPUs and the ability to store and share notebooks on Google Drive.[68]

Google JAX edit

Google JAX is a machine learning framework for transforming numerical functions.[69][70][71] It is described as bringing together a modified version of autograd (automatic obtaining of the gradient function through differentiation of a function) and TensorFlow's XLA (Accelerated Linear Algebra). It is designed to follow the structure and workflow of NumPy as closely as possible and works with TensorFlow as well as other frameworks such as PyTorch. The primary functions of JAX are:[69]

  1. grad: automatic differentiation
  2. jit: compilation
  3. vmap: auto-vectorization
  4. pmap: SPMD programming

Applications edit

Medical edit

GE Healthcare used TensorFlow to increase the speed and accuracy of MRIs in identifying specific body parts.[72] Google used TensorFlow to create DermAssist, a free mobile application that allows users to take pictures of their skin and identify potential health complications.[73] Sinovation Ventures used TensorFlow to identify and classify eye diseases from optical coherence tomography (OCT) scans.[73]

Social media edit

Twitter implemented TensorFlow to rank tweets by importance for a given user, and changed their platform to show tweets in order of this ranking.[74] Previously, tweets were simply shown in reverse chronological order.[74] The photo sharing app VSCO used TensorFlow to help suggest custom filters for photos.[73]

Search Engine edit

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

Education edit

InSpace, a virtual learning platform, used TensorFlow to filter out toxic chat messages in classrooms.[76] Liulishuo, an online English learning platform, utilized TensorFlow to create an adaptive curriculum for each student.[77] TensorFlow was used to accurately assess a student's current abilities, and also helped decide the best future content to show based on those capabilities.[77]

Retail edit

The e-commerce platform Carousell used TensorFlow to provide personalized recommendations for customers.[73] The cosmetics company ModiFace used TensorFlow to create an augmented reality experience for customers to test various shades of make-up on their face.[78]

 
 
2016 comparison of original photo (left) and with TensorFlow neural style applied (right)

Research edit

TensorFlow is the foundation for the automated image-captioning software DeepDream.[79]

See also edit

References edit

General edit

  • Moroney, Laurence (October 1, 2020). AI and Machine Learning for Coders (1st ed.). O'Reilly Media. p. 365. ISBN 9781492078197.
  • Géron, Aurélien (October 15, 2019). Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow (2nd ed.). O'Reilly Media. p. 856. ISBN 9781492032632.
  • Ramsundar, Bharath; Zadeh, Reza Bosagh (March 23, 2018). TensorFlow for Deep Learning (1st ed.). O'Reilly Media. p. 256. ISBN 9781491980446.
  • Hope, Tom; Resheff, Yehezkel S.; Lieder, Itay (August 27, 2017). Learning TensorFlow: A Guide to Building Deep Learning Systems (1st ed.). O'Reilly Media. p. 242. ISBN 9781491978504.
  • Shukla, Nishant (February 12, 2018). Machine Learning with TensorFlow (1st ed.). Manning Publications. p. 272. ISBN 9781617293870.

Citations edit

  1. ^ a b "Credits". TensorFlow.org. Retrieved November 10, 2015.
  2. ^ "TensorFlow.js". Retrieved June 28, 2018.
  3. ^ Abadi, Martín; Barham, Paul; Chen, Jianmin; Chen, Zhifeng; Davis, Andy; Dean, Jeffrey; Devin, Matthieu; Ghemawat, Sanjay; Irving, Geoffrey; Isard, Michael; Kudlur, Manjunath; Levenberg, Josh; Monga, Rajat; Moore, Sherry; Murray, Derek G.; Steiner, Benoit; Tucker, Paul; Vasudevan, Vijay; Warden, Pete; Wicke, Martin; Yu, Yuan; Zheng, Xiaoqiang (2016). TensorFlow: A System for Large-Scale Machine Learning (PDF). Proceedings of the 12th USENIX Symposium on Operating Systems Design and Implementation (OSDI ’16). arXiv:1605.08695.
  4. ^ TensorFlow: Open source machine learning. Google. 2015. Archived from the original on November 11, 2021. "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
  5. ^ Video clip by Google about TensorFlow 2015 at minute 0:15/2:17
  6. ^ Video clip by Google about TensorFlow 2015 at minute 0:26/2:17
  7. ^ Dean et al 2015, p. 2
  8. ^ Metz, Cade (November 9, 2015). "Google Just Open Sourced TensorFlow, Its Artificial Intelligence Engine". Wired. Retrieved November 10, 2015.
  9. ^ a b TensorFlow (September 30, 2019). "TensorFlow 2.0 is now available!". Medium. Retrieved November 24, 2019.
  10. ^ a b "API Documentation". Retrieved June 27, 2018.,
  11. ^ 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.
  12. ^ 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.
  13. ^ Oremus, Will (November 9, 2015). "What Is TensorFlow, and Why Is Google So Excited About It?". Slate. Retrieved November 11, 2015.
  14. ^ Ward-Bailey, Jeff (November 25, 2015). "Google chairman: We're making 'real progress' on artificial intelligence". CSMonitor. Retrieved November 25, 2015.
  15. ^ TensorFlow Developers (2022). "Tensorflow Release 1.0.0". GitHub. doi:10.5281/zenodo.4724125.
  16. ^ Metz, Cade (November 10, 2015). "TensorFlow, Google's Open Source AI, Points to a Fast-Changing Hardware World". Wired. Retrieved November 11, 2015.
  17. ^ "Introduction to tensors". tensorflow.org. Retrieved March 3, 2024.
  18. ^ Machine Learning: Google I/O 2016 Minute 07:30/44:44 accessdate=2016-06-05
  19. ^ TensorFlow (March 30, 2018). "Introducing TensorFlow.js: Machine Learning in Javascript". Medium. Retrieved May 24, 2019.
  20. ^ TensorFlow (January 14, 2019). "What's coming in TensorFlow 2.0". Medium. Retrieved May 24, 2019.
  21. ^ TensorFlow (May 9, 2019). "Introducing TensorFlow Graphics: Computer Graphics Meets Deep Learning". Medium. Retrieved May 24, 2019.
  22. ^ Jouppi, Norm. "Google supercharges machine learning tasks with TPU custom chip". Google Cloud Platform Blog. Retrieved May 19, 2016.
  23. ^ "Build and train machine learning models on our new Google Cloud TPUs". Google. May 17, 2017. Retrieved May 18, 2017.
  24. ^ "Cloud TPU". Google Cloud. Retrieved May 24, 2019.
  25. ^ "Cloud TPU machine learning accelerators now available in beta". Google Cloud Platform Blog. Retrieved February 12, 2018.
  26. ^ Kundu, Kishalaya (July 26, 2018). "Google Announces Edge TPU, Cloud IoT Edge at Cloud Next 2018". Beebom. Retrieved February 2, 2019.
  27. ^ "Google's new machine learning framework is going to put more AI on your phone". May 17, 2017.
  28. ^ TensorFlow (January 16, 2019). "TensorFlow Lite Now Faster with Mobile GPUs (Developer Preview)". Medium. Retrieved May 24, 2019.
  29. ^ "uTensor and Tensor Flow Announcement | Mbed". os.mbed.com. Retrieved May 24, 2019.
  30. ^ a b He, Horace (October 10, 2019). "The State of Machine Learning Frameworks in 2019". The Gradient. Retrieved May 22, 2020.
  31. ^ "TensorFlow 2.0 is now available!". TensorFlow Blog. September 30, 2019. Retrieved May 22, 2020.
  32. ^ a b "Introduction to gradients and automatic differentiation". TensorFlow. Retrieved November 4, 2021.
  33. ^ a b c "Eager execution | TensorFlow Core". TensorFlow. Retrieved November 4, 2021.
  34. ^ a b "Module: tf.distribute | TensorFlow Core v2.6.1". TensorFlow. Retrieved November 4, 2021.
  35. ^ Sigeru., Omatu (2014). Distributed Computing and Artificial Intelligence, 11th International Conference. Springer International Publishing. ISBN 978-3-319-07593-8. OCLC 980886715.
  36. ^ a b "Module: tf.losses | TensorFlow Core v2.6.1". TensorFlow. Retrieved November 4, 2021.
  37. ^ "Module: tf.metrics | TensorFlow Core v2.6.1". TensorFlow. Retrieved November 4, 2021.
  38. ^ a b "Module: tf.nn | TensorFlow Core v2.7.0". TensorFlow. Retrieved November 6, 2021.
  39. ^ "Module: tf.optimizers | TensorFlow Core v2.7.0". TensorFlow. Retrieved November 6, 2021.
  40. ^ Dogo, E. M.; Afolabi, O. J.; Nwulu, N. I.; Twala, B.; Aigbavboa, C. O. (December 2018). "A Comparative Analysis of Gradient Descent-Based Optimization Algorithms on Convolutional Neural Networks". 2018 International Conference on Computational Techniques, Electronics and Mechanical Systems (CTEMS). pp. 92–99. doi:10.1109/CTEMS.2018.8769211. ISBN 978-1-5386-7709-4. S2CID 198931032.
  41. ^ "TensorFlow Core | Machine Learning for Beginners and Experts". TensorFlow. Retrieved November 4, 2021.
  42. ^ a b c "Introduction to TensorFlow". TensorFlow. Retrieved October 28, 2021.
  43. ^ "All symbols in TensorFlow 2 | TensorFlow Core v2.7.0". TensorFlow. Retrieved November 6, 2021.
  44. ^ "TensorFlow.js". js.tensorflow.org. Retrieved November 6, 2021.
  45. ^ "TensorFlow C++ API Reference | TensorFlow Core v2.7.0". TensorFlow. Retrieved November 6, 2021.
  46. ^ "org.tensorflow | Java". TensorFlow. Retrieved November 6, 2021.
  47. ^ Icaza, Miguel de (February 17, 2018). "TensorFlowSharp: TensorFlow API for .NET languages". GitHub. Retrieved February 18, 2018.
  48. ^ Chen, Haiping (December 11, 2018). "TensorFlow.NET: .NET Standard bindings for TensorFlow". GitHub. Retrieved December 11, 2018.
  49. ^ "haskell: Haskell bindings for TensorFlow". tensorflow. February 17, 2018. Retrieved February 18, 2018.
  50. ^ Malmaud, Jon (August 12, 2019). "A Julia wrapper for TensorFlow". GitHub. Retrieved August 14, 2019. operations like sin, * (matrix multiplication), .* (element-wise multiplication), etc [..]. Compare to Python, which requires learning specialized namespaced functions like tf.matmul.
  51. ^ "A MATLAB wrapper for TensorFlow Core". GitHub. November 3, 2019. Retrieved February 13, 2020.
  52. ^ "Use TensorFlow from Pascal (FreePascal, Lazarus, etc.)". GitHub. January 19, 2023. Retrieved January 20, 2023.
  53. ^ "tensorflow: TensorFlow for R". RStudio. February 17, 2018. Retrieved February 18, 2018.
  54. ^ Platanios, Anthony (February 17, 2018). "tensorflow_scala: TensorFlow API for the Scala Programming Language". GitHub. Retrieved February 18, 2018.
  55. ^ "rust: Rust language bindings for TensorFlow". tensorflow. February 17, 2018. Retrieved February 18, 2018.
  56. ^ Mazare, Laurent (February 16, 2018). "tensorflow-ocaml: OCaml bindings for TensorFlow". GitHub. Retrieved February 18, 2018.
  57. ^ "fazibear/tensorflow.cr". GitHub. Retrieved October 10, 2018.
  58. ^ "tensorflow package - github.com/tensorflow/tensorflow/tensorflow/go - pkg.go.dev". pkg.go.dev. Retrieved November 6, 2021.
  59. ^ "Swift for TensorFlow (In Archive Mode)". TensorFlow. Retrieved November 6, 2021.
  60. ^ "TensorFlow.js | Machine Learning for JavaScript Developers". TensorFlow. Retrieved October 28, 2021.
  61. ^ "TensorFlow Lite | ML for Mobile and Edge Devices". TensorFlow. Retrieved November 1, 2021.
  62. ^ a b "TensorFlow Lite". TensorFlow. Retrieved November 1, 2021.
  63. ^ a b "TensorFlow Extended (TFX) | ML Production Pipelines". TensorFlow. Retrieved November 2, 2021.
  64. ^ a b c "Customization basics: tensors and operations | TensorFlow Core". TensorFlow. Retrieved November 6, 2021.
  65. ^ a b "Guide | TensorFlow Core". TensorFlow. Retrieved November 4, 2021.
  66. ^ a b "Libraries & extensions". TensorFlow. Retrieved November 4, 2021.
  67. ^ "Colaboratory – Google". research.google.com. Retrieved November 10, 2018.
  68. ^ "Google Colaboratory". colab.research.google.com. Retrieved November 6, 2021.
  69. ^ a b Bradbury, James; Frostig, Roy; Hawkins, Peter; Johnson, Matthew James; Leary, Chris; MacLaurin, Dougal; Necula, George; Paszke, Adam; Vanderplas, Jake; Wanderman-Milne, Skye; Zhang, Qiao (June 18, 2022), , Astrophysics Source Code Library, Google, Bibcode:2021ascl.soft11002B, archived from the original on June 18, 2022, retrieved June 18, 2022
  70. ^ "Using JAX to accelerate our research". www.deepmind.com. from the original on June 18, 2022. Retrieved June 18, 2022.
  71. ^ "Why is Google's JAX so popular?". Analytics India Magazine. April 25, 2022. from the original on June 18, 2022. Retrieved June 18, 2022.
  72. ^ "Intelligent Scanning Using Deep Learning for MRI". Retrieved November 4, 2021.
  73. ^ a b c d "Case Studies and Mentions". TensorFlow. Retrieved November 4, 2021.
  74. ^ a b "Ranking Tweets with TensorFlow". Retrieved November 4, 2021.
  75. ^ 3.5kshares; 72kreads (September 2, 2020). "A Complete Guide to the Google RankBrain Algorithm". Search Engine Journal. Retrieved November 6, 2021.{{cite web}}: CS1 maint: numeric names: authors list (link)
  76. ^ "InSpace: A new video conferencing platform that uses TensorFlow.js for toxicity filters in chat". Retrieved November 4, 2021.
  77. ^ a b Xulin. "流利说基于 TensorFlow 的自适应系统实践". Weixin Official Accounts Platform. Retrieved November 4, 2021.
  78. ^ "How Modiface utilized TensorFlow.js in production for AR makeup try on in the browser". Retrieved November 4, 2021.
  79. ^ Byrne, Michael (November 11, 2015). "Google Offers Up Its Entire Machine Learning Library as Open-Source Software". Vice. Retrieved November 11, 2015.

External links edit

  • Official website
  • Learning TensorFlow.js Book (ENG)

tensorflow, free, open, source, software, library, machine, learning, artificial, intelligence, used, across, range, tasks, particular, focus, training, inference, deep, neural, networks, logodeveloper, google, brain, team, initial, releasenovember, 2015, year. TensorFlow is a free and open source software library for machine learning and artificial intelligence It can be used across a range of tasks but has a particular focus on training and inference of deep neural networks 3 4 TensorFlowTensorFlow logoDeveloper s Google Brain Team 1 Initial releaseNovember 9 2015 8 years ago 2015 11 09 Repositorygithub wbr com wbr tensorflow wbr tensorflowWritten inPython C CUDAPlatformLinux macOS Windows Android JavaScript 2 TypeMachine learning libraryLicenseApache License 2 0Websitetensorflow wbr org It was developed by the Google Brain team for Google s internal use in research and production 5 6 7 The initial version was released under the Apache License 2 0 in 2015 1 8 Google released an updated version TensorFlow 2 0 in September 2019 9 TensorFlow can be used in a wide variety of programming languages including Python JavaScript C and Java 10 facilitating its use in a range of applications in many sectors Contents 1 History 1 1 DistBelief 1 2 TensorFlow 1 3 Tensor processing unit TPU 1 4 Edge TPU 1 5 TensorFlow Lite 1 6 Pixel Visual Core PVC 1 7 TensorFlow 2 0 2 Features 2 1 AutoDifferentiation 2 2 Eager execution 2 3 Distribute 2 4 Losses 2 5 Metrics 2 6 TF nn 2 7 Optimizers 3 Usage and extensions 3 1 TensorFlow 3 2 TensorFlow js 3 3 TFLite 3 4 TFX 3 5 Integrations 3 5 1 Numpy 3 6 Extensions 3 6 1 Google Colab 3 6 2 Google JAX 4 Applications 4 1 Medical 4 2 Social media 4 3 Search Engine 4 4 Education 4 5 Retail 4 6 Research 5 See also 6 References 6 1 General 6 2 Citations 7 External linksHistory editDistBelief edit 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 11 12 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 13 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 14 TensorFlow edit TensorFlow is Google Brain s second generation system Version 1 0 0 was released on February 11 2017 15 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 16 TensorFlow is available on 64 bit Linux macOS Windows and mobile computing platforms including Android and iOS citation needed 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 which are referred to as tensors 17 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 18 In December 2017 developers from Google Cisco RedHat CoreOS and CaiCloud introduced Kubeflow at a conference Kubeflow allows operation and deployment of TensorFlow on Kubernetes citation needed In March 2018 Google announced TensorFlow js version 1 0 for machine learning in JavaScript 19 In Jan 2019 Google announced TensorFlow 2 0 20 It became officially available in September 2019 9 In May 2019 Google announced TensorFlow Graphics for deep learning in computer graphics 21 Tensor processing unit TPU edit Main article Tensor processing unit 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 22 In May 2017 Google announced the second generation as well as the availability of the TPUs in Google Compute Engine 23 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 citation needed 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 24 In February 2018 Google announced that they were making TPUs available in beta on the Google Cloud Platform 25 Edge TPU edit 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 26 known as edge computing TensorFlow Lite edit In May 2017 Google announced a software stack specifically for mobile development TensorFlow Lite 27 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 28 In May 2019 Google announced that their TensorFlow Lite Micro also known as TensorFlow Lite for Microcontrollers and ARM s uTensor would be merging 29 Pixel Visual Core PVC edit In October 2017 Google released the Google Pixel 2 which featured their Pixel Visual Core PVC a fully programmable image vision and AI processor for mobile devices The PVC supports TensorFlow for machine learning and Halide for image processing citation needed TensorFlow 2 0 edit As TensorFlow s market share among research papers was declining to the advantage of PyTorch 30 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 30 Other major changes included removal of old libraries cross compatibility between trained models on different versions of TensorFlow and significant improvements to the performance on GPU 31 non primary source needed Features editAutoDifferentiation edit AutoDifferentiation is the process of automatically calculating the gradient vector of a model with respect to each of its parameters With this feature TensorFlow can automatically compute the gradients for the parameters in a model which is useful to algorithms such as backpropagation which require gradients to optimize performance 32 To do so the framework must keep track of the order of operations done to the input Tensors in a model and then compute the gradients with respect to the appropriate parameters 32 Eager execution edit TensorFlow includes an eager execution mode which means that operations are evaluated immediately as opposed to being added to a computational graph which is executed later 33 Code executed eagerly can be examined step by step through a debugger since data is augmented at each line of code rather than later in a computational graph 33 This execution paradigm is considered to be easier to debug because of its step by step transparency 33 Distribute edit In both eager and graph executions TensorFlow provides an API for distributing computation across multiple devices with various distribution strategies 34 This distributed computing can often speed up the execution of training and evaluating of TensorFlow models and is a common practice in the field of AI 34 35 Losses edit To train and assess models TensorFlow provides a set of loss functions also known as cost functions 36 Some popular examples include mean squared error MSE and binary cross entropy BCE 36 These loss functions compute the error or difference between a model s output and the expected output more broadly the difference between two tensors For different datasets and models different losses are used to prioritize certain aspects of performance citation needed Metrics edit In order to assess the performance of machine learning models TensorFlow gives API access to commonly used metrics Examples include various accuracy metrics binary categorical sparse categorical along with other metrics such as Precision Recall and Intersection over Union IoU 37 TF nn edit TensorFlow nn is a module for executing primitive neural network operations on models 38 Some of these operations include variations of convolutions 1 2 3D Atrous depthwise activation functions Softmax RELU GELU Sigmoid etc and their variations and other operations max pooling bias add etc 38 Optimizers edit TensorFlow offers a set of optimizers for training neural networks including ADAM ADAGRAD and Stochastic Gradient Descent SGD 39 When training a model different optimizers offer different modes of parameter tuning often affecting a model s convergence and performance 40 Usage and extensions editTensorFlow edit TensorFlow serves as a core platform and library for machine learning TensorFlow s APIs use Keras to allow users to make their own machine learning models 41 In addition to building and training their model TensorFlow can also help load the data to train the model and deploy it using TensorFlow Serving 42 TensorFlow provides a stable Python Application Program Interface API 43 as well as APIs without backwards compatibility guarantee for Javascript 44 C 45 and Java 46 10 Third party language binding packages are also available for C 47 48 Haskell 49 Julia 50 MATLAB 51 Object Pascal 52 R 53 Scala 54 Rust 55 OCaml 56 and Crystal 57 Bindings that are now archived and unsupported include Go 58 and Swift 59 TensorFlow js edit TensorFlow also has a library for machine learning in JavaScript Using the provided JavaScript APIs TensorFlow js allows users to use either Tensorflow js models or converted models from TensorFlow or TFLite retrain the given models and run on the web 42 60 TFLite edit TensorFlow Lite has APIs for mobile apps or embedded devices to generate and deploy TensorFlow models 61 These models are compressed and optimized in order to be more efficient and have a higher performance on smaller capacity devices 62 TensorFlow Lite uses FlatBuffers as the data serialization format for network models eschewing the Protocol Buffers format used by standard TensorFlow models 62 TFX edit TensorFlow Extended abbrev TFX provides numerous components to perform all the operations needed for end to end production 63 Components include loading validating and transforming data tuning training and evaluating the machine learning model and pushing the model itself into production 42 63 Integrations edit Numpy edit Numpy is one of the most popular Python data libraries and TensorFlow offers integration and compatibility with its data structures 64 Numpy NDarrays the library s native datatype are automatically converted to TensorFlow Tensors in TF operations the same is also true vice versa 64 This allows for the two libraries to work in unison without requiring the user to write explicit data conversions Moreover the integration extends to memory optimization by having TF Tensors share the underlying memory representations of Numpy NDarrays whenever possible 64 Extensions edit TensorFlow also offers a variety of libraries and extensions to advance and extend the models and methods used 65 For example TensorFlow Recommenders and TensorFlow Graphics are libraries for their respective functionalities in recommendation systems and graphics TensorFlow Federated provides a framework for decentralized data and TensorFlow Cloud allows users to directly interact with Google Cloud to integrate their local code to Google Cloud 66 Other add ons libraries and frameworks include TensorFlow Model Optimization TensorFlow Probability TensorFlow Quantum and TensorFlow Decision Forests 65 66 Google Colab edit Google also released Colaboratory a TensorFlow Jupyter notebook environment that does not require any setup 67 It runs on Google Cloud and allows users free access to GPUs and the ability to store and share notebooks on Google Drive 68 Google JAX edit Main article Google JAX Google JAX is a machine learning framework for transforming numerical functions 69 70 71 It is described as bringing together a modified version of autograd automatic obtaining of the gradient function through differentiation of a function and TensorFlow s XLA Accelerated Linear Algebra It is designed to follow the structure and workflow of NumPy as closely as possible and works with TensorFlow as well as other frameworks such as PyTorch The primary functions of JAX are 69 grad automatic differentiation jit compilation vmap auto vectorization pmap SPMD programmingApplications editMedical edit GE Healthcare used TensorFlow to increase the speed and accuracy of MRIs in identifying specific body parts 72 Google used TensorFlow to create DermAssist a free mobile application that allows users to take pictures of their skin and identify potential health complications 73 Sinovation Ventures used TensorFlow to identify and classify eye diseases from optical coherence tomography OCT scans 73 Social media edit Twitter implemented TensorFlow to rank tweets by importance for a given user and changed their platform to show tweets in order of this ranking 74 Previously tweets were simply shown in reverse chronological order 74 The photo sharing app VSCO used TensorFlow to help suggest custom filters for photos 73 Search Engine edit Google officially released RankBrain on October 26 2015 backed by TensorFlow 75 Education edit InSpace a virtual learning platform used TensorFlow to filter out toxic chat messages in classrooms 76 Liulishuo an online English learning platform utilized TensorFlow to create an adaptive curriculum for each student 77 TensorFlow was used to accurately assess a student s current abilities and also helped decide the best future content to show based on those capabilities 77 Retail edit The e commerce platform Carousell used TensorFlow to provide personalized recommendations for customers 73 The cosmetics company ModiFace used TensorFlow to create an augmented reality experience for customers to test various shades of make up on their face 78 nbsp nbsp 2016 comparison of original photo left and with TensorFlow neural style applied right Research edit TensorFlow is the foundation for the automated image captioning software DeepDream 79 See also edit nbsp Free and open source software portal Comparison of deep learning software Differentiable programming KerasReferences editGeneral edit Moroney Laurence October 1 2020 AI and Machine Learning for Coders 1st ed O Reilly Media p 365 ISBN 9781492078197 Geron Aurelien October 15 2019 Hands On Machine Learning with Scikit Learn Keras and TensorFlow 2nd ed O Reilly Media p 856 ISBN 9781492032632 Ramsundar Bharath Zadeh Reza Bosagh March 23 2018 TensorFlow for Deep Learning 1st ed O Reilly Media p 256 ISBN 9781491980446 Hope Tom Resheff Yehezkel S Lieder Itay August 27 2017 Learning TensorFlow A Guide to Building Deep Learning Systems 1st ed O Reilly Media p 242 ISBN 9781491978504 Shukla Nishant February 12 2018 Machine Learning with TensorFlow 1st ed Manning Publications p 272 ISBN 9781617293870 Citations edit a b Credits TensorFlow org Retrieved November 10 2015 TensorFlow js Retrieved June 28 2018 Abadi Martin Barham Paul Chen Jianmin Chen Zhifeng Davis Andy Dean Jeffrey Devin Matthieu Ghemawat Sanjay Irving Geoffrey Isard Michael Kudlur Manjunath Levenberg Josh Monga Rajat Moore Sherry Murray Derek G Steiner Benoit Tucker Paul Vasudevan Vijay Warden Pete Wicke Martin Yu Yuan Zheng Xiaoqiang 2016 TensorFlow A System for Large Scale Machine Learning PDF Proceedings of the 12th USENIX Symposium on Operating Systems Design and Implementation OSDI 16 arXiv 1605 08695 TensorFlow Open source machine learning Google 2015 Archived from the original on November 11 2021 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 Video clip by Google about TensorFlow 2015 at minute 0 15 2 17 Video clip by Google about TensorFlow 2015 at minute 0 26 2 17 Dean et al 2015 p 2 Metz Cade November 9 2015 Google Just Open Sourced TensorFlow Its Artificial Intelligence Engine Wired Retrieved November 10 2015 a b TensorFlow September 30 2019 TensorFlow 2 0 is now available Medium Retrieved November 24 2019 a b API Documentation Retrieved June 27 2018 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 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 Oremus Will November 9 2015 What Is TensorFlow and Why Is Google So Excited About It Slate Retrieved November 11 2015 Ward Bailey Jeff November 25 2015 Google chairman We re making real progress on artificial intelligence CSMonitor Retrieved November 25 2015 TensorFlow Developers 2022 Tensorflow Release 1 0 0 GitHub doi 10 5281 zenodo 4724125 Metz Cade November 10 2015 TensorFlow Google s Open Source AI Points to a Fast Changing Hardware World Wired Retrieved November 11 2015 Introduction to tensors tensorflow org Retrieved March 3 2024 Machine Learning Google I O 2016 Minute 07 30 44 44 accessdate 2016 06 05 TensorFlow March 30 2018 Introducing TensorFlow js Machine Learning in Javascript Medium Retrieved May 24 2019 TensorFlow January 14 2019 What s coming in TensorFlow 2 0 Medium Retrieved May 24 2019 TensorFlow May 9 2019 Introducing TensorFlow Graphics Computer Graphics Meets Deep Learning Medium Retrieved May 24 2019 Jouppi Norm Google supercharges machine learning tasks with TPU custom chip Google Cloud Platform Blog Retrieved May 19 2016 Build and train machine learning models on our new Google Cloud TPUs Google May 17 2017 Retrieved May 18 2017 Cloud TPU Google Cloud Retrieved May 24 2019 Cloud TPU machine learning accelerators now available in beta Google Cloud Platform Blog Retrieved February 12 2018 Kundu Kishalaya July 26 2018 Google Announces Edge TPU Cloud IoT Edge at Cloud Next 2018 Beebom Retrieved February 2 2019 Google s new machine learning framework is going to put more AI on your phone May 17 2017 TensorFlow January 16 2019 TensorFlow Lite Now Faster with Mobile GPUs Developer Preview Medium Retrieved May 24 2019 uTensor and Tensor Flow Announcement Mbed os mbed com Retrieved May 24 2019 a b He Horace October 10 2019 The State of Machine Learning Frameworks in 2019 The Gradient Retrieved May 22 2020 TensorFlow 2 0 is now available TensorFlow Blog September 30 2019 Retrieved May 22 2020 a b Introduction to gradients and automatic differentiation TensorFlow Retrieved November 4 2021 a b c Eager execution TensorFlow Core TensorFlow Retrieved November 4 2021 a b Module tf distribute TensorFlow Core v2 6 1 TensorFlow Retrieved November 4 2021 Sigeru Omatu 2014 Distributed Computing and Artificial Intelligence 11th International Conference Springer International Publishing ISBN 978 3 319 07593 8 OCLC 980886715 a b Module tf losses TensorFlow Core v2 6 1 TensorFlow Retrieved November 4 2021 Module tf metrics TensorFlow Core v2 6 1 TensorFlow Retrieved November 4 2021 a b Module tf nn TensorFlow Core v2 7 0 TensorFlow Retrieved November 6 2021 Module tf optimizers TensorFlow Core v2 7 0 TensorFlow Retrieved November 6 2021 Dogo E M Afolabi O J Nwulu N I Twala B Aigbavboa C O December 2018 A Comparative Analysis of Gradient Descent Based Optimization Algorithms on Convolutional Neural Networks 2018 International Conference on Computational Techniques Electronics and Mechanical Systems CTEMS pp 92 99 doi 10 1109 CTEMS 2018 8769211 ISBN 978 1 5386 7709 4 S2CID 198931032 TensorFlow Core Machine Learning for Beginners and Experts TensorFlow Retrieved November 4 2021 a b c Introduction to TensorFlow TensorFlow Retrieved October 28 2021 All symbols in TensorFlow 2 TensorFlow Core v2 7 0 TensorFlow Retrieved November 6 2021 TensorFlow js js tensorflow org Retrieved November 6 2021 TensorFlow C API Reference TensorFlow Core v2 7 0 TensorFlow Retrieved November 6 2021 org tensorflow Java TensorFlow Retrieved November 6 2021 Icaza Miguel de February 17 2018 TensorFlowSharp TensorFlow API for NET languages GitHub Retrieved February 18 2018 Chen Haiping December 11 2018 TensorFlow NET NET Standard bindings for TensorFlow GitHub Retrieved December 11 2018 haskell Haskell bindings for TensorFlow tensorflow February 17 2018 Retrieved February 18 2018 Malmaud Jon August 12 2019 A Julia wrapper for TensorFlow GitHub Retrieved August 14 2019 operations like sin matrix multiplication element wise multiplication etc Compare to Python which requires learning specialized namespaced functions like tf matmul A MATLAB wrapper for TensorFlow Core GitHub November 3 2019 Retrieved February 13 2020 Use TensorFlow from Pascal FreePascal Lazarus etc GitHub January 19 2023 Retrieved January 20 2023 tensorflow TensorFlow for R RStudio February 17 2018 Retrieved February 18 2018 Platanios Anthony February 17 2018 tensorflow scala TensorFlow API for the Scala Programming Language GitHub Retrieved February 18 2018 rust Rust language bindings for TensorFlow tensorflow February 17 2018 Retrieved February 18 2018 Mazare Laurent February 16 2018 tensorflow ocaml OCaml bindings for TensorFlow GitHub Retrieved February 18 2018 fazibear tensorflow cr GitHub Retrieved October 10 2018 tensorflow package github com tensorflow tensorflow tensorflow go pkg go dev pkg go dev Retrieved November 6 2021 Swift for TensorFlow In Archive Mode TensorFlow Retrieved November 6 2021 TensorFlow js Machine Learning for JavaScript Developers TensorFlow Retrieved October 28 2021 TensorFlow Lite ML for Mobile and Edge Devices TensorFlow Retrieved November 1 2021 a b TensorFlow Lite TensorFlow Retrieved November 1 2021 a b TensorFlow Extended TFX ML Production Pipelines TensorFlow Retrieved November 2 2021 a b c Customization basics tensors and operations TensorFlow Core TensorFlow Retrieved November 6 2021 a b Guide TensorFlow Core TensorFlow Retrieved November 4 2021 a b Libraries amp extensions TensorFlow Retrieved November 4 2021 Colaboratory Google research google com Retrieved November 10 2018 Google Colaboratory colab research google com Retrieved November 6 2021 a b Bradbury James Frostig Roy Hawkins Peter Johnson Matthew James Leary Chris MacLaurin Dougal Necula George Paszke Adam Vanderplas Jake Wanderman Milne Skye Zhang Qiao June 18 2022 JAX Autograd and XLA Astrophysics Source Code Library Google Bibcode 2021ascl soft11002B archived from the original on June 18 2022 retrieved June 18 2022 Using JAX to accelerate our research www deepmind com Archived from the original on June 18 2022 Retrieved June 18 2022 Why is Google s JAX so popular Analytics India Magazine April 25 2022 Archived from the original on June 18 2022 Retrieved June 18 2022 Intelligent Scanning Using Deep Learning for MRI Retrieved November 4 2021 a b c d Case Studies and Mentions TensorFlow Retrieved November 4 2021 a b Ranking Tweets with TensorFlow Retrieved November 4 2021 3 5kshares 72kreads September 2 2020 A Complete Guide to the Google RankBrain Algorithm Search Engine Journal Retrieved November 6 2021 a href Template Cite web html title Template Cite web cite web a CS1 maint numeric names authors list link InSpace A new video conferencing platform that uses TensorFlow js for toxicity filters in chat Retrieved November 4 2021 a b Xulin 流利说基于 TensorFlow 的自适应系统实践 Weixin Official Accounts Platform Retrieved November 4 2021 How Modiface utilized TensorFlow js in production for AR makeup try on in the browser Retrieved November 4 2021 Byrne Michael November 11 2015 Google Offers Up Its Entire Machine Learning Library as Open Source Software Vice Retrieved November 11 2015 External links editOfficial website Learning TensorFlow js Book ENG Retrieved from https en wikipedia org w index php title TensorFlow amp oldid 1219998469, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.