TensorFlow is an open source software library for high performance numerical computation & machine learning applications such as neural networks. Its flexible architecture allows easy deployment of computation across a variety of platforms viz. CPUs, GPUs, TPUs.
Originally developed by the Google Brain team for internal Google use, until it was released under the Apache 2.0 open source license on November 9, 2015.
The name "TensorFlow" has been adopted based on the multidimensional array ( tensors ) which are useful for data-driven operation such as Image Processing, Natural Language Processing, Deep Learning, etc.
Google announced dedicated TensorFlow support for both mobile devices as well as web browsers!
- TensorFlow Lite, a software stack specifically for Android Development
- TensorFlow.js, a library for training and deploying ML models on the web
TensorFlow Lite is TensorFlow’s lightweight solution for mobile & embedded devices. It enables on-device machine learning inference with low latency and a small binary size. Here, is the documentation guide!
TensorFlow Lite provides an interface to leverage hardware acceleration via the Android Neural Networks API, available on Android 8.1 (Oreo) and higher.
Tensorflow.js is a JavaScript library for training and deploying ML models in the browser and on Node.js. It is built on top of low level API deeplearn.js
Tensorflow.js enables the following advantage without needing to install additional drivers since it is up & running on the browser:
- Develop ML with JavaScript
- Run Existing Models
- Retrain Existing Models
TensorFlow goes deeper than just Deep Learning, it actually support tools for reinforcement learning especially with custom-made TPU. When it comes to compare TensorFlow with other DL frameworks (or libraries) such as Torch, PyTorch, Theano we have:
- Python, Numpy support
- Good computational graph absraction
- Fast compile times than Theano
- Visualize complex graph, quantitative metrics using Tensorboard
- Extremely popular within the development community as of 2018
- Still slower than other frameworks
- Not enough pre-trained models for practical use
- No commercial backing
TensorFlow is an wonderful library. In order to build awesome models using this library you need to have prior programming experience using Python. Check out the official site & you can also contribute in it's official GitHub repo.
If you are a complete beginner to Machine Learning, feel free to check this crash course!
Here are some of the few research papers based on TensorFlow:
- TFLMS: Large Model Support in TensorFlow by Graph Rewriting
- Detection of Alzheimers Disease from MRI using Convolutional Neural Network with Tensorflow
- Calamari - A High-Performance Tensorflow-based Deep Learning Package for Optical Character Recognition