Tensorflow - a feature rich & easy to use distributed open source ML framework
February 15, 2019

Tensorflow - a feature rich & easy to use distributed open source ML framework

Nitin Pasumarthy | TrustRadius Reviewer
Score 10 out of 10
Vetted Review
Verified User

Overall Satisfaction with TensorFlow

Tensorflow (TF) is one of the Machine Learning (ML) libraries at LinkedIn. The necessary plumbing needed to deploy, maintain and monitor a TF project is under active development. It is currently used for building Wide and Deep Neural Networks, where training data is in the order of millions. However, in production, tree-based models or logistic regression are still popular.
  • A vast library of functions for all kinds of tasks - Text, Images, Tabular, Video etc.
  • Amazing community helps developers obtain knowledge faster and get unblocked in this active development space.
  • Integration of high-level libraries like Keras and Estimators make it really simple for a beginner to get started with neural network based models.
  • Profiling the TensorFlow (TF) graph for performance optimizations is still a challenge due to lack of proper documentation.
  • In our experiments with using TF-GPU on Kubernetes, we see constant memory issues causing nodes to crash.
  • There is still a significant learning curve and it's not as simple as other popular Python libraries. Having said that, the TF team and community are actively working on this problem.
  • Tensorflow (TF) has really simplified building complex models in a few lines of manageable code.
  • TF Serving makes deployment very easy too.
  • TensorBoard makes monitoring a pleasing task for features like charts, embeddings, histograms, what-if tools, etc.
  • The minimal learning curve is absolutely worth the effort for all the benefits.
Thought about alternatives like scikit-learn, xgboost, pytorch, caffe2, fastai exist, but they don't offer as many tools and functionality as TensorFlow does. It is better to inanest in a eco-system which is very active and well maintained by giants. Being open source, one can contribute and modify the code if anything is missing or has issues.
  1. Whenever the problem has the demand for a neural networks based solution, Tensorflow (TF) is a great fit.
  2. The tf.dataset API makes it really simple to create complex data pipelines in a few lines of code.
  3. tf.estimators API abstracts all the complex computation graph creation logic making it very simple to get started.
  4. Eager execution makes it simple to develop a TF graph as debugging the code would be like any other imperative Python program.
  5. TF abstracts all the complexities of scaling it to multiple machines. It has various code and data distribution algorithms ready to use.
  6. Projects like TensorBoard make monitoring the training process really easy. It also gives the ability to view embeddings without any extra code. Their What-If is extremely useful for poking and understanding a black box model. It also has tools to visualize data to quickly check for anomalies.
  7. TF Autograph aims to covert any normal Python code into a distributed program which is quite handy to scale an existing code base.