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.