www.peerspot.com

What needs improvement with TensorFlow?

11/11/2020Updated 2/21/2025

Excerpt

Providing more control by allowing users to build custom functions would make TensorFlow a better option. It currently offers inbuilt functions, however, having the ability to implement custom libraries would enhance its usefulness for enterprise-level applications. The process of creating models could be more user-friendly. We encountered version mismatch errors while using the product. It sometimes does not integrate well with other libraries in Python, which can be problematic. Additionally, it can be less intuitive when creating neural networks than PyTorch. The versatility of the concept is undeniable, but it can pose a challenge for developers unfamiliar with machine learning. For newcomers to the field, the learning curve can be steep, often requiring about a year of dedicated effort. Real-time capability needs enhancement, particularly in dynamic environments. Additionally, community support is crucial, and it should be more robust and accessible for remote assistance. … There are a lot of problems, such as integrating our custom code. In my experience model tuning has been a bit difficult to edit and tune the graph model for best performance. We have to go into the model but we do not have a model viewer for quick access. There should be better integration and standardization with different operating systems. We need to always convert from one model to another and there is not a single standardized model output that we could use on different platforms, such as Intel x56, x64 based, AR-based, or Apple M1 chips. … I tend to find it to be a bit too much orientated to AI itself for other use cases, which is fine — that's what it's designed for. Personally, I find it to be a bit too much AI-oriented. 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. … 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. … 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. … 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. 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.

Source URL

https://www.peerspot.com/questions/what-needs-improvement-with-tensorflow

Related Pain Points

Non-standardized model export and cross-platform deployment

7

TensorFlow lacks a single standardized model output format for different platforms (Intel x86/x64, ARM, Apple Silicon). Developers must constantly convert between formats, hindering cross-platform deployment.

deployTensorFlow

PyTorch API inconsistency causes breaking changes across versions

7

API changes and framework version updates in PyTorch frequently introduce inconsistencies or breaking behavior, accounting for ~25% of all identified bugs. This forces developers to spend significant time tracking down compatibility issues rather than building features.

compatibilityPyTorch

Scalability and deployment challenges in production environments

7

Deploying TensorFlow models to production requires careful planning for model scalability, resource requirements, latency optimization, and system integration. Developers must handle scaling to larger datasets, performance monitoring, and model maintenance post-deployment.

deployTensorFlowTensorFlow Serving

Low flexibility and prototyping friction compared to PyTorch

6

TensorFlow's rigid architecture makes rapid prototyping cumbersome. Many developers prototype in PyTorch first, then convert to TensorFlow for production—evidence that TensorFlow is less suitable for exploratory work.

dxTensorFlowPyTorch

Poor JavaScript/web developer experience

6

TensorFlow is primarily optimized for Python developers. JavaScript support is fragmented and non-intuitive, making it difficult for web and mobile app developers to use TensorFlow compared to regular JavaScript libraries.

ecosystemTensorFlowJavaScript

Poor support for custom functions and extensibility

5

TensorFlow limits developers' ability to build custom functions beyond inbuilt operations. Custom library integration is difficult, making it less flexible for enterprise-level applications requiring specialized implementations.

architectureTensorFlow

Complex Debugging Mechanisms

5

TensorFlow's debugging mechanisms are complex and not straightforward, making it quite tricky to debug code with problems, particularly around sessions and variables management.

dxTensorFlow

Suboptimal CPU utilization and GPU recognition issues

5

TensorFlow does not efficiently utilize high-powered CPUs and often fails to recognize GPUs, even when hardware is available. This forces developers to rely on suboptimal execution paths.

performanceTensorFlow

Transitive Dependency Complexity

4

Even though TensorFlow reduces program size and aims to be user-friendly, it adds a layer of complexity through dependencies. Every code execution requires a platform for execution, which increases overall system dependency and maintenance overhead.

dependencyTensorFlow

Complexity and overhead for small or simple ML projects

4

TensorFlow's comprehensive feature set and complexity create unnecessary overhead for small projects or beginners. The framework can be overkill for simple use cases, and its steep learning curve makes it inaccessible for novices without significant investment.

dxTensorFlow