TrustRadius Insights for TensorFlow are summaries of user sentiment data from TrustRadius reviews and, when necessary, third party data sources.
Pros
Clear Documentation: Many users have found the documentation for multi-GPU support in TensorFlow to be simple and clear. This has been helpful for users who are new to working with multiple GPUs, as it allows them to easily understand and implement this feature.
Powerful Visualization Tools: Reviewers appreciate the ability to visualize the graph using TensorBoard, as it helps them understand and navigate through complex models. The interactive nature of TensorBoard also allows users to log events and monitor output over time, providing a convenient way to perform quick sanity checks.
Active Community Support: Users highly value the active community surrounding TensorFlow, which has helped them learn faster and overcome obstacles in their development work. The availability of readily available answers and top-notch documentation from the community has been instrumental in ensuring a smooth experience while working 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.
Pros
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.
Cons
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.
Likelihood to Recommend
Whenever the problem has the demand for a neural networks based solution, Tensorflow (TF) is a great fit.
The tf.dataset API makes it really simple to create complex data pipelines in a few lines of code.
tf.estimators API abstracts all the complex computation graph creation logic making it very simple to get started.
Eager execution makes it simple to develop a TF graph as debugging the code would be like any other imperative Python program.
TF abstracts all the complexities of scaling it to multiple machines. It has various code and data distribution algorithms ready to use.
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.
TF Autograph aims to covert any normal Python code into a distributed program which is quite handy to scale an existing code base.
I have used this tool for building a recommendation system. We have built a system to recommend flights to users so we used TensorFlow to build that. I personally have used this tool in a different sector like doing image processing, building an image recognition algorithm and implementing neural networks etc. This is being used by a part of our company not by the whole or across the company.
Pros
TensorFlow is very powerful to build the neural networks, it gives you the power to write your own implementation with full customisation.
It has inbuilt methods which helps a lot when it comes to writing your own implementation of neural networks
It has lots of inbuilt methods to do the data processing like reading data from a directory as classes using an image data generator etc.
Cons
First and biggest con is that it has a very tense learning curve. Understanding the concept of a tensor, a dynamic graph is difficult and takes a lot of time to learn
As compared to Keras, TensorFlow takes a lot of time to build and implement a neural network. You have to write everything by yourself.
Likelihood to Recommend
There are lots of use cases to use this tool and also lot of cases where you should look to this. Like when it comes to building or playing with a deep learning algorithm like neural networks you should choose this one. But if you are implementing some other machine learning algorithm then definitely you have to check whether TensorFlow is a good choice or not. And you can also use this for NLP as well.
Currently, we use machine-learning models to develop solutions for our clients. But sometimes the usual models (decision tree, naive Bayes, random forest) are not helping us to find a suitable model, or it generates too many levels of modeling. Sometimes we use the pre-build neural networks included in some libraries. We are not yet experts in TensorFlow, but using Keras, it helped us to arrive to predictive models in a shorter time and with more accuracy.
Pros
Modeling for complex problems with large amounts of data
Modeling when the client is not interested in building the model patiently in levels
Guiding what we are doing wrong with other models
Cons
Too many lines of code for some actions
Not very intuitive for non-programming engineers
Likelihood to Recommend
It is better when there is a lot of data available and the complexity of variables is high—for instance, when nobody has modeled that problem before. If there is not enough data, it does not work, or if it works, it is not going to help to model reality. It is also very good to test the performance of any other model even if the TensorFlow model itself is not going to be the solution for the client.
I have used TensorFlow to develop deep learning models. Recently, I have used TensorFlow to write deep neural network implementation to predict the product category(E-commerce product category) from a product image. Other than that, I have used TensorFlow many times, mostly to develop machine learning models. This is being used by one department of my organisation. In my current organisation, we have used TensorFlow to automate some tasks for an e-commerce merchant. In our case, merchants have to upload the product image and all the categories (like category, then sub-category, and then sub-sub-category), so we have developed a machine learning model using Tensorflow which will predict the product category using the product image.
Pros
First of all, it is fast. This machine library is faster as compared to other machine learning libraries like theano.
It has lots of prebuilt tools in it for data processing, neural network layers like convolution layer, pooling layer etc. It also hase great prebuilt tools for data visualization.
Easy to deploy its model on GPU. We can train the model created by tensor flow on GPU.
It can be easily used with wrapper library like Keras which makes it easier to write a machine learning model.
Cons
Initially understanding this library is bit difficult. It has a steep learning curve.
Sometime the error messages are difficult to understand and debug. So that should be made clear such that even a beginner can solve the issue quickly.
Writing models with TensorFlow only is a bit difficult. So, it's easier to use this with a wrapper library like Keras.
Likelihood to Recommend
The best suited scenario is when you want to develop a deep learning model consisting of a deep neural network, like doing something around images/video, which may include convolution network. Other than this, it can also be used to develop NLP models. But if you are developing conventional machine learning, I don't think this is much required as that can be done using Python libraries like sciPy.