TensorFlow : An open-source software library for Machine Intelligence
We know that today's machines are more interactive than the old ones and in many fields we are replacing manpower with the machine power and world is exploring towards the more intelligent system. Recently Google has made their machine learning engine called TensorFlow open source. This blog post will expand your knowledge on the same.
TensorFlow is a Google’s open source artificial intelligence engine which is used as Machine Learning library and it aims to bring large-scale, distributed machine learning algorithm and deep neural network learning to everyone. Most commonly we can call the TensorFlow as a deep learning framework.
As I have stated earlier that it was designed and developed by Google under the title Google brain team, it is written with a Python API over a C/C++ engine that makes it run fast. It is not a solution for the Java and Scala communities, this can run on Linux as well as Mac systems and it is also compatible with the mobile computing platforms, including Android and iOS.
Now let us see the architectural component of TensorFlow. As we know that it represents computations as stateful dataflow graphs where the Nodes represent operations, and the edges represent tensors (multidimensional arrays and the backbone of TensorFlow). The entire dataflow graph is a complete description of computations, which occur within a session, and are executed on devices. TensorFlow favors its well-documented Python API, where tensors are represented internally as familiar numpy n-dimensional array objects.
TensorFlow aims to bring massive parallelism and high scalability to machine learning for all. TensorFlow could be used to implement recurrent neural networks, convolutional neural networks, logistic regression, even Mandelbrot Set generation and visualization purpose.
There are various competitors of TensorFlow such as Torch, Theano, DL4J, Caffe, Neon, the IBM Machine Learning Stack and recently open sourced Amazon’s DSSTNE: Deep Scalable Sparse Tensor Network Engine. But TensorFlow is going to be the best option for deep learning. Here are some pros and cons of TensorFlow :
Pros:
- Python + Numpy is used widely so it's simple to implement.
- Computational graph abstraction, like Theano
- Faster compile times than Theano
- TensorBoard for visualization
- Data and model parallelism
Cons:
- Slower than other frameworks
- Much “fatter” than Torch; more magic
- Not many pretrained models
- Computational graph is pure Python, therefore slow
- No commercial support
- Drops out to Python to load each new training batch
- Not very toolable
- Dynamic typing is error-prone on large software projects
Google uses this technology in various application such as Google Search, Google Voice Search, Advertising, Google Photos, Google Maps, Google Street View, and Google Translate. They are trying to migrate other application to this new evolving technology.
Stay tuned for more information about the Tenserflow.
SDE II @Audible, SBU'20
7 年Try to use Keras using Tensorflow, will be easier.
Senior Software Engineer (Data Science) at Xoriant | Serving Notice LWD 27 Sep 2024
7 年Cool article man... Are you working on Machine Learning?