Try our new research platform with insights from 80,000+ expert users
AI Expert at lums
Real User
Great for deep learning, accelerates Training/Inference, and is quite stable
Pros and Cons
  • "TensorFlow is a framework that makes it really easy to use for deep learning."
  • "JavaScript is a different thing and all the websites and web apps and all the mobile apps are built-in JavaScript. JavaScript is the core of that. However, TensorFlow is like a machine learning item. What can be improved with TensorFlow is how it can mix in how the JavaScript developers can use TensorFlow."

What is our primary use case?

In one of my latest projects, I used convolutional neural networks along with several other models for Finance; The objective was to predict future Close Price of S&P500 index. And in the end, I discovered that an ensemble model of convolutional neural networks works the best; I got a very low error and pretty good accuracy. That was my most recent project.

Another project that I used the solution for was using convolutional neural networks was in visual recognition in which the goal was to take a picture of somethin. Then the model would recognize what the images are. That's the pretty standard use case of convolutional neural networks. Along with that, I also used generative adversarial networks and style transfer in TensorFlow. 

What is most valuable?

The primary feature that I personally like is the fact that TensorFlow allows us to utilize GPUs. At present, in data-driven deep learning, the most important thing is the usage of GPUs which accelerate the training of the model by many folds. What I love about TensorFlow is that it allows me to use GPUs.

TensorFlow is a framework that makes it really easy (and quick) to use deep learning. For example, it has an API, which is called 'Sequential API' , and using that, you can create a whole Deep learning model in about five lines of code. That's another core benefit from my perspective.

What needs improvement?

TensorFlow is primarily geared towards Python community at present. JavaScript is a different thing and all the websites, web apps and all the mobile apps are built-in JavaScript. JavaScript is the core of that. What can be improved with TensorFlow is how it can mix in. How the JavaScript developers can use TensorFlow. 

There's a huge gap currently. If you are a web developer, then using Machine Learning with TF is not as straightforward as using a regular Javascript library by reading its documentation. TensorFlow should provide a way to do that easily. 

What do I think about the stability of the solution?

TensorFlow is very stable. It's very reliable. Training a model won't halt in the middle for unknown backend issues. Behavior of each TF layer is predicable based on its documentation. It's one of the top frameworks. If you want to do deep learning, then TensorFlow is the way to go. 

On the other hand, the environment on cloud you use for TensorFlow is a separate story: there are both paid and free versions. For example, Google Colab provodes free aceess to unlimited GPUs yet it's not stable. You might see frequent disconnections or reset of runtimes. Luckily, the paid versions resolve all such issues for a small price.

Buyer's Guide
TensorFlow
October 2024
Learn what your peers think about TensorFlow. Get advice and tips from experienced pros sharing their opinions. Updated: October 2024.
816,406 professionals have used our research since 2012.

What do I think about the scalability of the solution?

If you're building large models, then TensorFlow is going to be scalable partially because it allows you to use GPUs. If you have a huge data set, and if you want to train it on your local computer, then it is going to take a whole lot of time if you are not using GPUs with TensorFlow.

How are customer service and support?

I've never used their technical support services. I can't speak to how knowledgable or responsive they are.

Which solution did I use previously and why did I switch?

TenserFlow and PyTorch are the two big giants of deep learning and they are widely used. If you want to use deep learning, your first choice is either TensorFlow or PyTorch.

I actually recently developed a whole video tutorial on NLP and all the code was written using PyTorch. I also work in PyTorch.

TensorFlow was recently updated to Version Two. Until a year ago, it was TensorFlow Version One and TensorFlow One and PyTorch were hugely different. PyTorch is more Python-like. If you're writing code in PyTorch, you'll feel like you're simply writing your regular Python code as a developer. TensorFlow-1 was a different design in which the developer will first build the computational graph and later creating a session to execute.

Recently, TensorFlow has been updated to TensorFlow-2. It has been made more like PyTorch due to its popularity. At present, when you are writing code at a high level, for example, in a sequential API, you won't even notice, from a programmer's perspective, that there are many differences in TensorFlow and PyTorch. At the same time, both of them allow us to use GPUs, which is the primary use case.

How was the initial setup?

At present, if you're working on Colab, you do not need to set up or anything or install TensorFlow as Colab is specifically for TensorFlow and PyTorch and they are pretty much built-in and everything is there already. If you're working on a cloud too, you can just write TensorFlow.

In terms of maintenance, from the developer's perspective, it doesn't require any maintenance, however, from the creators of TensorFlow's perspective, they are obviously building TensorFlow and maintaining and optimizing it all the time.

What's my experience with pricing, setup cost, and licensing?

This is an open-source solution.

What other advice do I have?

I primarily work on Google Colab in which everything is installed. The most recent versions of TensorFlow are already installed on the Colab.

I have written a deep learning library, which is like very much TensorFlow and PyTorch. It's like my own miniature version of TensorFlow, which I have written as it was an academic project. TensorFlow hides all the details of like nitty-gritty details like how is it working, how the matrices are being multiplied, how is it being handled on GPUs? All these details have been abstracted. If you're writing a model in TensorFlow, you will write just five lines of code (in Sqequential API), in these five lines everything is happening. When I was developing that library, I learned that those five lines of code acutally map to, say, a 1000 lines of code underneaththe hood. I actually wrote all that in order to learn how exactly it works. I just learned what those a thousand lines are.

TensorFlow is just a tool for deep learning. You can use a complete model, which will recognize images in five lines of code. However, to really do deep learning you have to go underneath the hood and understand how exactly things are working. If you are coming from a different background and you write five lines and you can do a model, that's great, however, for example, if a debugging problem comes, you will be in much better shape if you have learned what's underneath. You will be much better shaped to debug your code. If you better understand your code you can better optimize your code. TensorFlow provides you a layer of abstraction, however, that layer of abstraction is bad in some ways.

Primarily, I'm a machine learning engineer. Most of my projects are on using TensorFlow, from my perspective I use TensorFlow a lot and PyTorch occasionally. I also am a full stack developer, I develop apps using React, Django, and D3 yet I don't work a lot in that area. Primarily I work from TensorFlow. From my perspective, they are widely used.

Overall, I would rate the solution ten out of ten. It's very good.

Which deployment model are you using for this solution?

Public Cloud

If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?

Google
Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
reviewer1540461 - PeerSpot reviewer
Data Scientist at a university with 5,001-10,000 employees
Real User
Super scalable, awesome stability, open-source, and cost-effective
Pros and Cons
  • "It is open-source, and it is being worked on all the time. You don't have to pay all the big bucks like Azure and Databricks. You can just use your local machine with the open-source TensorFlow and create pretty good models."
  • "It would be nice to have more pre-trained models that we can utilize within layers. I utilize a Mac, and I am unable to utilize AMD GPUs. That's something that I would definitely be like to be able to access within TensorFlow since most of it is with CUDA ML. This only matters for local machines because, in Azure, you can just access any GPU you want from the cloud. It doesn't really matter, but the clients that I work with don't have cloud accounts, or they don't want to utilize that or spend the money. They all see it as too expensive and want to know what they can do on their local machines."

What is our primary use case?

With TensorFlow, it is all just personal research that I've done. I'm hoping to bring it to work. TensorFlow is one of the most commonly used platforms for machine learning and deep learning. I specialize in natural language processing and computer vision. Right now, a lot of the clientele work that I have is basic data science of just cleaning and managing data and getting it to fit. I am planning to give a nice example of what we could do by building models that actually predict things that they're looking to do. The models that they have right now are literally just basic, statistical, and linear regression models. They can easily be outperformed with just a very shallow Deep Neural Network.

It is usually on-prem. We run all programs on local machines. A lot of our clients are more old school.

What is most valuable?

It is open-source, and it is being worked on all the time. You don't have to pay all the big bucks like Azure and Databricks. You can just use your local machine with the open-source TensorFlow and create pretty good models. 

What needs improvement?

It would be nice to have more pre-trained models that we can utilize within layers. 

I utilize a Mac, and I am unable to utilize AMD GPUs. That's something that I would definitely be like to be able to access within TensorFlow since most of it is with CUDA ML. This only matters for local machines because, in Azure, you can just access any GPU you want from the cloud. It doesn't really matter, but the clients that I work with don't have cloud accounts, or they don't want to utilize that or spend the money. They all see it as too expensive and want to know what they can do on their local machines.

For how long have I used the solution?

I have been using this solution for a year.

What do I think about the stability of the solution?

It is awesome.

What do I think about the scalability of the solution?

It is super scalable. You can parallelize it. You can even visualize all the different nodes with TensorBoard. There are so many cool apps you can use. It is heavily used in big industries.

How are customer service and technical support?

I have not used support at all.  

How was the initial setup?

It is not hard at all as long as you read the documentation.

What's my experience with pricing, setup cost, and licensing?

It is open-source software. You don't have to pay all the big bucks like Azure and Databricks.

What other advice do I have?

I would definitely advise understanding your data and what you're doing because it may not be worth the time if you're going to dive deep into Deep Neural Networks or even just basic Convolutional Neural Networks when you don't really need to. What's the point of building a regressor that is going to be scalable with TensorFlow if all you're trying to do is basic statistics? It depends on the size of the data science work that you're doing.

You can just use your local machine with the open-source TensorFlow and create pretty good models. Getting it into production depends on the security of the system. I don't know what the data engineers are going to have to do to close the pipelines.

I would rate TensorFlow a ten out of ten any day.

Which deployment model are you using for this solution?

On-premises
Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
Buyer's Guide
TensorFlow
October 2024
Learn what your peers think about TensorFlow. Get advice and tips from experienced pros sharing their opinions. Updated: October 2024.
816,406 professionals have used our research since 2012.
Noman Rafique - PeerSpot reviewer
Professional Freelancer at Fiverr
Real User
Top 5
An open source platform that helps you implement best practices for data automation
Pros and Cons
  • "It provides us with 35 features like patch normalization layers, and it is easy to implement using the Kras library when the Kaspersky flow is running behind it."
  • "The solution is hard to integrate with the GPUs."

What is our primary use case?

I have mainly used the solution for solving deep learning problems like image classification and the NLP.

What is most valuable?

It provides us with 35 features like patch normalization layers, and it is easy to implement using the Kras library when the Kaspersky flow is running behind it. 

What needs improvement?

The solution is hard to integrate with the GPUs. 

For how long have I used the solution?


What do I think about the stability of the solution?

It is a stable solution. 

What do I think about the scalability of the solution?

TensorFlow is scalable. I rate the scalability a nine out of ten.

How was the initial setup?

The initial setup is easy. The deployment depends on the nature of the problem and its classification by the organization. It is also dependent on the internet availability.

What other advice do I have?

It is a recommended solution but at the beginner level, they should have some assistance. I rate the overall solution a ten out of ten. 

Which deployment model are you using for this solution?

Private Cloud

If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?

Microsoft Azure
Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
Machine Learning Engineer at Upwork
Real User
Easy to set up with great documentation and good stability
Pros and Cons
  • "Google is behind TensorFlow, and they provide excellent documentation. It's very thorough and very helpful."
  • "I know this is out of the scope of TensorFlow, however, every time I've sent a request, I had to renew the model into RAM and they didn't make that prediction or inference. This makes the point for the request that much longer. If they could provide anything to help in this part, it will be very great."

What is our primary use case?

I primarily used the solution for computer vision applications, for example, detection and segmentation, and OCR.

We used an architecture from a published paper. It was based on TensorFlow and we upgraded it and developed on it. I also worked on face verification and likeness detection. We are working on anti-spoofing detection. We did some things around face verification and likeness detection. I used TensorFlow specifically.

I've also used the solution to detect hands, tracking customers in the supermarkets, and using the solution for detecting the pickup and dropping of objects from shelf to basket in the supermarket.

Lately, I've been working on a project in Arabic that is designed to detect handwriting. I also use PyTorch to help with this task.

How has it helped my organization?

For one particular project, we did an extraction of the Arabic language from a crucial document, like an ID. We needed to capture the ID using the application so that the application sends the ID to the server. We needed to make an Egyptian ID detection on mobile. I built a simple commercial network to customize the ID and converted it into TensorFlow White and made some compositions to make it faster to run. We deployed it on the mobile. For this bot, there's full support in this area, which is great.

What is most valuable?

The solution is quite useful for production. It tends to provide for digital devices or mobile devices. You can deploy your model on Android or iOS. I did that before on Android. It provides TensorFlow GS or JavaScript to run TensorFlow applications in the browser. 

It's quite a valuable solution when we go to production.

Google is behind TensorFlow, and they provide excellent documentation. It's very thorough and very helpful. 

What needs improvement?

Overall, the solution has been quite helpful. I can't recall missing any features when I was using it.

I know this is out of the scope of TensorFlow, however, every time I've sent a request, I had to renew the model into RAM and they didn't make that prediction or inference. This makes the point for the request that much longer. If they could provide anything to help in this part, it will be very great.

What do I think about the stability of the solution?

The solution is quite stable. It's reliable. It doesn't crash or freeze. There are no bugs or glitches to deal with. We've been happy with the performance.

What do I think about the scalability of the solution?

The scalability of the solution is good. When it comes to TensorFlow (or PyTorch) you can train on multiple GPUs at the same time, and multiple machines at the same time, also. 

In TensorFlow, I didn't train on multiple GPUs, yet, however, I know it's very easy and straightforward. I've been through it. Scaling should be a problem for a company. If they want to scale, they can.

How are customer service and technical support?

I've never been in touch with technical support. I can't speak to their level of knowledge or how quickly they respond.

Which solution did I use previously and why did I switch?

I also use PyTorch and Amazon SageMaker.

Amazon Solution provides the how-to where we can use PyTorch and TensorFlow to train models on huge datasets on AWS end-user. They are complementing each other on a project.

How was the initial setup?

The entire implementation process is quite straightforward. It's not complex at all.

The deployment is very fast. You can have it up and running in five minutes. You just go and install the version you would like to use and you are done. It's all very simple.

I always go with the deployment with TensorFlow. I don't try to use PyTorch in this area. A year ago, when I was deploying a semantic segmentation model on the server, each time I sent a request that I need to reload the model input that ends.

What's my experience with pricing, setup cost, and licensing?

It's my understanding that the version we use is free. It doesn't cost any money.

What other advice do I have?

When we did the utilization applications, we were deploying on digital ocean servers. For the projects that I'm working on now, we are planning to deploy it on its own port attached to the robot. We haven't done it, yet. We are finishing the project right now. For deploying the solutions, I deploy them on the digital ocean. 

I'd recommend the solution. I'd also recommend users considering the solution do a bit of studying. There are some great courses on Coursera and there's a recent one called DeepLearning.AI that is extremely useful.

Overall, as I use the product pretty much everywhere, I would rate it at a ten out of ten.

Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
Project Manager at INFOCOM Ltd
Real User
Open-source, good documentation, easy to set up, and it's reliable
Pros and Cons
  • "The most valuable features are the frameworks and the functionality to work with different data, even when we have a certain quantity of data flowing."
  • "There are connection issues that interrupt the download needed for the data sets. We need to prepare them ourselves."

What is our primary use case?

I use this solution to create Neural Networks, which are computer algorithms for the recognition of objects. This is done based on the SL object that predefines it.

Most of our experience is computer related, but in most cases, we work with images.

How has it helped my organization?

Our company was working on a specific project that required a graph. It is now under development and TensorFlow allows us to implement this functionality for the customer who needs to work with recognizing and defining the special mark on the student's workbooks.

What is most valuable?

The most valuable features are the frameworks and the functionality to work with different data, even when we have a certain quantity of data flowing.

What needs improvement?

There are connection issues that interrupt the download needed for the data sets. We need to prepare them ourselves.

For how long have I used the solution?

I have been using TensorFlow for one year.

I have experience not just in TensorFlow, but in the TensorFlow Keras, beginning from TensorFlow 2.0, there are package Keras in TensorFlow. Using this cache, I have created some Neural Networks on Python.

I am using the latest version.

What do I think about the stability of the solution?

It's a stable product.

What do I think about the scalability of the solution?

It's a scalable solution and we can scale it for different tasks.

We have two specialists that are connected to TensorFlow.

How are customer service and technical support?

We have not contacted technical support.

Which solution did I use previously and why did I switch?

Before using TensorFlow, we used different neural networks that were based on Darknet.

How was the initial setup?

The initial setup was easy. There is a lot of documentation available and it was not a problem for us.

It was easy to install.

Setting up TensorFlow on the local computer will take one to two hours to complete. However, if it is for an industrial product that has entered the market and needs to work in the real environment, it would depend on the goal and task that we are working on. 

What about the implementation team?

We completed the installation ourselves without any external help.

Maintenance is based on the customer's needs. We have approximately 40 developers, so if the customer requires maintenance and support then we can provide that for them.

What's my experience with pricing, setup cost, and licensing?

We are using the free version.

What other advice do I have?

I would recommend TensorFlow for techniques that need to develop Neural Networks. I would also recommend PyTorch.

I would rate this solution a nine out of ten.

Which deployment model are you using for this solution?

On-premises
Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
Managing Director at Geeky Bee AI
Real User
Deep learning library that provides a set of functions like feature mapping and feature extraction
Pros and Cons
  • "TensorFlow improves my organization because our clients get a lot of investment from their investors and we are progressively improving the products. Every six months we release new features."
  • "In terms of improvement, we always look for ways they can optimize the model, accelerate the speed and the accuracy, and how can we optimize with our different techniques. There are various techniques available in TensorFlow. Maintaining accuracy is an area they should work on."

What is our primary use case?

We have a project that a Canada-based client is expecting us to develop. If there is a hardware product, it's a mirror LCD device, that is installed in your home and when you start doing an exercise, our AI algorithm will detect what kind of exercise, whether you're doing pushups, jump, etc. We also detect what kind of hardware equipment is being used. We also use TensorFlow to count. 

How has it helped my organization?

TensorFlow improves my organization because our clients get a lot of investment from their investors and we progressively improve the products. Every six months we release new features. 

They have a very good vision and roadmap for the next two years. 

What is most valuable?

TensorFlow is like a library. PyTorch is also a library. These are deep learning libraries that provide a set of functions. Ultimately you have to build a framework. TensorFlow as a whole is useful to us because we use a lot of functions, like activation functions or volition functions, feature mapping, and feature extraction. 

What needs improvement?

In terms of improvement, we always look for ways they can optimize the model, accelerate the speed and the accuracy, and how can we optimize with our different techniques. There are various techniques available in TensorFlow. Maintaining accuracy is an area they should work on. When there are more and more objects involved with the model, the models get confused. So maintaining the accuracy and speed with the number of classes is the biggest area for improvement. It is a major challenge that we are seeing right now and we are trying to solve the problem.

What do I think about the stability of the solution?

It's quite stable. It also helps while we have to take it to the browser platform as well as the Android platform because Google is developing in such a way that we can easily migrate. I'll definitely go with TensorFlow when we have to deal with the different platforms. We can easily convert into TF Lite. We can run the model into the browser, as well as on the Android platform.

We have 13 developers and 10 developers mainly focus on TensorFlow, PyTorch, and all the deep learning things. The rest of the developers are C+ and computer vision developers.

If any maintenance is required our team is capable.

What do I think about the scalability of the solution?

Scalability is a major challenge because under the exercise project right now, we have integrated 14 exercises, one port and client is targeting more than 50 exercises. That's where we need scalability. 

How are customer service and technical support?

Sometimes when we face some issues, we mostly get solutions from stakeholders. So we are not using that much technical support from the TensorFlow team.

Which solution did I use previously and why did I switch?

TensorFlow is from Google, PyTorch is from Facebook. PyTorch is mostly compatible with Python. If you have to consider it in different platforms like different languages C+, Android, then TensorFlow is really good. In that sense, I'd go with TensorFlow, but PyTorch is really stable. It's only helpful when we are dealing with the Python language. That's where it's really helpful. So both have some advantages and disadvantages.

How was the initial setup?

We got some help from the internet blogs but by now our team is really capable. If there are any issues or errors with a particular version, they can immediately deploy changes. It's now a completely smooth process.

What's my experience with pricing, setup cost, and licensing?

We use the open-source version.

What other advice do I have?

There are always new versions coming out and some versions have issues while some versions don't. When you deploy with the latest version, just make sure that all the systems work as expected when you're deploying. 

I would rate TensorFlow an eight out of ten. 

Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
Data Scientist at UpWork Freelancer
Real User
The generator saves us a lot of time and memory in terms of development and the learning process of models
Pros and Cons
  • "It is also totally Open-Source and free. Open-source applications are not good usually. but TensorFlow actually changed my view about it and I thought, "Look, Oh my God. This is an open-source application and it's as good as it could be." I learned that TensorFlow, by sharing their own knowledge and their own platform with other developers, it improved the lives of many people around the globe."
  • "However, if I want to change just one thing in the implementation of TensorFlow functions I have to copy everything that they wrote and I change it manually if indeed it can be amended. This is really hard as it's written in C++ and has a lot of complications."

What is our primary use case?

The main purpose of TensorFlow is to  develop neural networks for data science projects. For example, I had a project about a super-resolution GAN, which is a model that you give a low-resolution image, and it will complete the details for you. I used Keras and TensorFlow for this model and it was really easy to use. The time to implement was simply minimal in comparison to the time for testing, logic, and high-level implementation. That was the highlight of my academic project. For a client, I used TensorFlow and Keras to develop a predictive heat map for orders. He wanted to build a predictive model for a taxi company. They wanted to tell the drivers, "Okay, this area has more probability of having higher orders than another area." I used TensorFlow and Keras to develop a model to predict the areas which have a higher probability and built a heat map to show the drivers. That is actually the highlight of my industrial project. It was a client on Upwork.

How has it helped my organization?

For me, it's the simplicity of using the built-in layers. The load from generator method saves us a lot of time and memory in terms of development and the learning process of models, especially networks that have huge parameters. They will need a hundred terabytes of runs but with this method, which is amazing. All the methods of TensorFlow are consistent with each other. So it will save the developer a lot of time and actually, that reflects on the client as well. So the client would get a  high-quality product with a minimal budget. This enables clients with limited budgets to actually hire developers that can develop high-quality models using TensorFlow.

What is most valuable?

The most valuable feature for TensorFlow is the ability to use CoLab. It's actually also using Torch, but in TensorFlow according to my experience, it's much, much easier to do than the integration with Google CoLab. It's pretty simple to use Google CoLab Pro and use TensorFlow models. It's not a feature, but the best thing about TensorFlow and Keras is that it is the most common in the world and they have huge communities. Whatever error you have, you can actually Google that error and you can get it done in five minutes. So that is, I think, really unique about TensorFlow. I never actually thought about developing a system like TensorFlow. It's so huge and it needs a lot of developers to maintain, but if I want to develop a sub-system that actually helps me to solve a task, I can do that in just two days to develop benchmark models in TensorFlow. If I had to develop this from scratch I would probably need 20 days to a month to develop it myself from scratch. It is also totally Open-Source and free. Open-source applications are not good usually. but TensorFlow actually changed my view about it and I thought, "Look, Oh my God. This is an open-source application and it's as good as it could be." I learned that TensorFlow, by sharing their own knowledge and their own platform with other developers, improved the lives of many people around the globe. If it was a licensed product, a lot of people, for example, in the Middle East or the third world countries, would not be able to help their own communities because of a substantial license fee they cannot afford. The biggest lesson I learned is to have an open-source platform that could impact the world and make it a better place. You get that with TensorFlow.

What needs improvement?

If I want to develop my own gradient descent, and I want to use the TensorFlow grading descent, but implement it in my own way, it can be difficult. However, if I want to change just one thing in the implementation of TensorFlow functions I have to copy everything that they wrote and change it manually if indeed it can be amended. This is really hard as it's written in C++ and has a lot of complications. But this feature, allowing you to write bespoke code to an implementation of TensorFlow would be really great. Another thing I think that TensorFlow would be much more optimized is to have better CPU versions. I know the problem with Python in general, it lets you only use one thread in the CPU. But even while using TensorFlow, it uses two threads. For example, if I have a high powered CPU, I cannot use it. For example with my laptop, I have a high-powered CPU and I'm using Ubuntu, but my GPU is not recognized. So I can use the CPU, but it's not really optimized for this purpose. Huge calculations require GPU's. I think that could be the second thing that could be optimized. I think TensorFlow 2 has huge improvements over TensorFlow 1. However, it would be really nice if we can actually somehow use the code written in TensorFlow 1, to incorporate it into TensorFlow 2. It generates a lot of errors and you have to change a lot of code and settings. What we can optimize is to actually have consistency between the versions. So TensorFlow 2 is actually a different product, to TensorFlow 1.

For how long have I used the solution?

I have been using TensorFlow for around one year and a half. I use it for projects. So it has been three years since I took a TensorFlow tutorial or course about TensorFlow. I started applying it in industrial projects and academic projects for one year and a half.

What do I think about the stability of the solution?

For TensorFlow 2, I think it's very stable. For that version. Stability is inconsistent between the versions of TensorFlow 1 and TensorFlow 2. I think from the TensorFlow functionality side, you don't really need any maintenance, but from the developer's side, you do need maintenance. In my experience, I deployed three or four projects and they just worked consistently. I never had any problems except the problem that I had on my own, bespoke code, but not the code that was actually provided in the TensorFlow library.

What do I think about the scalability of the solution?

I have never used it on multiple servers, as usually I have only dedicated servers, and tend to deploy on on those. I know that it could be scalable to multiple servers like AWS Lambda. I'm not sure, but it can be, although I have never worked with it.

How are customer service and technical support?

I once posted a question in the questions section on the TensorFlow website and I got an answer in two days and it was really helpful. That actually helped me solve the problem that I had. Apart from that, I didn't really use it because generally, I can find my answer by searching for the error on Google search. It has very good documentation and community support.

Which solution did I use previously and why did I switch?

I only worked with PyTorch and TensorFlow. I used PyTorch two and a half years ago. I started working with PyTorch and it was difficult for a young person who simply just wants to run models quickly. So in PyTorch, one has to have a huge experience until they deployed their first model. This is really demotivating for someone who is starting to learn the principles. That's a negative for PyTorch and it's a plus for TensorFlow. There is this simplistic structure of TensorFlow such that you can write a fully connected layer model in three lines, and run it on another data set in three or four lines. That is really nice in comparison to PyTorch as you have to write three different classes and data loaders. It's more time consuming to run in PyTorch. So I think it's another positivity for TensorFlow. I can't think of anything you can achieve with PyTorch that you cannot with TensorFlow. That's why I actually just stopped using PyTorch after awhile.

How was the initial setup?

It is very easy to set up as technically it only uses one or two lines if you are using Conda. It is easy to build a simple neural network, by just following the tutorial three lines and that's it. We have running neural networks. Pretty easy. You can host it on your own computer. It's a Python pip package. You can host it on your computer, on a server. The client that I worked with for the heat map prediction, was hosted on a server. It's a website. So the server for calculations was hosted on Amazon web services. So it could be all of these.

What's my experience with pricing, setup cost, and licensing?

I think for learners to deploy a project, you can actually use TensorFlow for free. It's just amazing to have an open-source platform like TensorFlow to deploy your own project. Here in Russia no one really cares about licenses, as it is totally open source and free. My clients in the United States were also pleased to learn when they enquired, that licensing is free. 

What other advice do I have?

I had a problem with it during one implementation. I assumed that the data would be small. I think before implementing your TensorFlow model, it's crucial to note what is the size of your data and will it increase in the future? Usually, a developer wants to develop the model as easily as can it be. So they just tend to load all the data in memory and then run it into a flow model. So that is really problematic if your data is huge. That's why it's best for the developer before they write any line of code to check the data. If it doesn't fit in memory, they can use the TensorFlow functionality of load from a generator and this way they can actually have just one image in the memory at a time per thread. So it's really amazing. So I think that that is the tweak that I would advise developers to have, before developing their model.

I would rate TensorFlow 9 out of 10.

Which deployment model are you using for this solution?

Public Cloud

If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?

Google
Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
goforitandy - PeerSpot reviewer
goforitandyIT Consultant at Woohoogeeks
ExpertModeratorReal User

Excellent review. As a newbie to TensorFlow I really enjoyed reading this.  

Computer Vision Engineer at Innopolis University
Real User
Enables us to accomplish faster training and deployment
Pros and Cons
  • "Our clients were not aware they were using TensorFlow, so that aspect was transparent. I think we personally chose TensorFlow because it provided us with more of the end-to-end package that you can use for all the steps regarding billing and our models. So basically data processing, training the model, evaluating the model, updating the model, deploying the model and all of these steps without having to change to a new environment."
  • "It doesn't allow for fast the proto-typing. So usually when we do proto-typing we will start with PyTorch and then once we have a good model that we trust, we convert it into TensorFlow. So definitely, TensorFlow is not very flexible."

What is our primary use case?

I worked for a French company. They used TensorFlow for image classification. after that, I started working with a Russian-American Company who used TensorFlow mainly for object detection. TensorFlow is very good at object detection. We also used it once for natural language processing and audio processing, but I was not directly involved in that project. I was just assisting with deployment issues. We have some clients which wanted us to deploy on the cloud. Alternatively, some clients are releasing Tenserflow on some new edge devices, as an alternative to deploying on the cloud. It is going to be called NextGen AI or something like that from AWS. We use it for all aspects. including data processing, training, and sometimes deployment, but sometimes the use cases differ in practice for ML. As a result, we sometimes stay with TensorFlow or move into AWS specific architectures.

How has it helped my organization?

TensorFlow has benefitted us by enabling faster training and deployment. With TensorFlow, we don't really need any more DevOps to do the deployments. Even data scientists can do the deployment part. This has saved about 30% of the time we used to take for deployments.

What is most valuable?

Our clients were not aware they were using TensorFlow, so that aspect was transparent. I think we personally chose TensorFlow because it provided us with more of the end-to-end package that you can use for all the steps regarding billing and our models. So basically data processing, training the model, evaluating the model, updating the model, deploying the model and all of these steps without having to change to a new environment. Especially the part where you could train the model again, then evaluate it if it's better than the previous versions. It will do the deployment on its own. The end-users will not really see the change, as the update takes place without any downtime.

What needs improvement?

It doesn't allow for fast the proto-typing. So usually when we do proto-typing we will start with PyTorch and then once we have a good model that we trust, we convert it into TensorFlow. So definitely, TensorFlow is not very flexible.

For how long have I used the solution?

We have been using Tensorflow since 2017, so three years.

What do I think about the stability of the solution?

It's very stable. So we usually don't get any problems. Once any bugs are fixed, you shouldn't have any problems with TensorFlow. Once the deployment process is completed, you can monitor your model and datasets. You can monitor your model to ensure it is correctly deployed and it's working as it's supposed to do, including services.

What do I think about the scalability of the solution?

TensorFlow is very scalable.

How are customer service and technical support?

I've never really contacted TensorFlow support, but definitely, I can say you don't really need to do that because the support, like the community is pretty strong. Whatever problem you face, there's always going to be some Stack Overflow answer for it or at least some GitHub issue where you can find your solution.

Which solution did I use previously and why did I switch?

We used PyTorch and MXNet. A couple of my friends actually used MXNet, but I did not use it personally. Now I work mainly between PyTorch and TenserFlow.

How was the initial setup?

Setup got easier with TensorFlow 2. With TensorFlow 1 it was a bit more complicated. There are fewer compatibility issues with the newer version. Training takes at least a week. Deployment usually takes one or two days. With regards to deployment, this changes depending on the client. The usual method is to get our TensorFlow models up and running and then we have to convert them into specific formats depending on the client's requirements. Some clients actually require AWS specific formats. To incorporate that we usually just convert our TensorFlow models to AWS compatible models.

What about the implementation team?

We use in-house teams. I think the ML team has around 20 people. There is a team in Russia, Ukraine and the U.S. I am part of the team in Russia. In Russia, we have around 30 people who have used TensorFlow, including data analysts. They basically handle data pre-processing. We also have ML engineers and ML Ops.

What's my experience with pricing, setup cost, and licensing?

TensorFlow is free, so cost is not an issue.

Which other solutions did I evaluate?

PyTorch is very flexible, and definitely more flexible than TensorFlow. However, TensorFlow allowed us to deploy our models faster and more robustly. With TensorFlow, you don't encounter a lot of errors. PyTorch is faster to prototype with. So it's very flexible. You can do all the changes that you want, but it's not very stable, whereas TensorFlow is more of a stable solution but is not very flexible. We looked at other alternatives, but they don't scale to large problems.

What other advice do I have?

Have a look at TensorFlow extended. It's very useful. Especially if you know how to use the old system. It will speed up the process of deploying your model. Don't reinvent the wheel. There's always going to be a good GitHub repo out there which kind of answers your solution. You shouldn't really spend a lot of time trying to build the new models where there is some other open source project that actually did a good job of the modelling part. You definitely need to have your own pipelines for this process. Try to build the pipelines that automate most of the tasks for you. Then all you need to concern yourself with is just the architecture. Obtain a pipeline template from GitHub of what you are trying to achieve, amend it for your needs and then you are ready to go. Your model is training already. I would rate TensorFlow 8 out of 10.

Which deployment model are you using for this solution?

Private Cloud

If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?

Amazon Web Services (AWS)
Disclosure: I am a real user, and this review is based on my own experience and opinions.
PeerSpot user
Jafar Badour - PeerSpot reviewer
Jafar BadourData Scientist at UpWork Freelancer
Real User

Interesting view

Buyer's Guide
Download our free TensorFlow Report and get advice and tips from experienced pros sharing their opinions.
Updated: October 2024
Product Categories
AI Development Platforms
Buyer's Guide
Download our free TensorFlow Report and get advice and tips from experienced pros sharing their opinions.