MatLab is a predictive analytics and computing platform based on a proprietary programming language. MatLab is used across industry and academia.
$49
per student license
TensorFlow
Score 8.1 out of 10
N/A
TensorFlow is an open-source machine learning software library for numerical computation using data flow graphs. It was originally developed by Google.
Engineering, mathematical modeling, and machine learning are all fields where MATLAB will shine. It's fast, reliable, and relatively easy to use. MATLAB is the de facto standard when it comes to producing high-quality plots. If you need to deal with large data sets, and not take forever processing them, MATLAB may very well be the tool for you!
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.
Has robust and easy-to-use debugging tools that can help one identify problems in one's codes.
Rich, well-developed and efficient library of mathematical and statistical functions that one might need to develop models or perform statistical analysis.
A very active online user community that is a great resource in terms of seeking help when you hit a snag.
Great help literature (and sometimes videos too) on all tools making it possible for all to train themselves.
Data pipeline implementation is quite good, loading large amounts of data and pre-process it in an efficient way is no more issue for us
It supports all major DL algorithms and network layouts such as ConvNets, RNN, LSTMs, Word2Vec, and even the latest transformer architecture
The abstraction for the device is perfectly done and its support seamlessly for multiple GPU and even TPU will bring a lot of performance gain for enterprise scoped solution while still keep the flexibility
The TensorBoard is amazing. I haven't seen a similar thing in other frameworks on the market. It allows us to quickly understand and debug the model with the info visualization which makes understanding much better
A very supportive community, which is the key for sharing the ideas and find the quick and best solutions
MATLAB should have a full free version (without time limit) in order to be more accessible and thus have a greater user community.
The idea of having toolboxes to work directly with hardware (microcontrollers, single-board computers) is great, but one can tell it isn't updated very frequently and there isn't as much documentation available as with more common resources.
Our organization had a lot of trouble getting our network licenses to work properly and there wasn't any local service provider that could help us get it to work faster.
It would be much better if they could provide good documentation and easy ways to understand concepts.
It is difficult to understand the concept behind for example, Tensor Graph, which takes a lot of time.
As you have to write everything, it is time consuming to write the implementation of whole neural network. It would be better if they can provide some wrapper library to make things easier.
The best thing about MATLAB is the variety of research and development fields it supports. The reason for this rating is that it is best used for medical images enhancement and signal processing, it is also used for speech to text conversion. This tool server is best when the demand is for machine learning.
The built-in search engine is not as performing as I wish it would be. However, the YouTube channel has a vast library of informative video that can help understanding the software. Also, many other software have a nice bridge into MATLAB, which makes it very versatile. Overall, the support for MATLAB is good.
Community support for TensorFlow is great. There's a huge community that truly loves the platform and there are many examples of development in TensorFlow. Often, when a new good technique is published, there will be a TensorFlow implementation not long after. This makes it quick to ally the latest techniques from academia straight to production-grade systems. Tooling around TensorFlow is also good. TensorBoard has been such a useful tool, I can't imagine how hard it would be to debug a deep neural network gone wrong without TensorBoard.
The commands and coding language of MATLAB reads a lot more in plain English as opposed to all the periods and other special characters that are needed when typing in Python or Java. Additionally MATLAB has several different function packages that can solve all different categories of problems so you don't have to make a bunch of different code scrips from scratch.
Can't seem to choose any deep learning platform in the above, so I'll list it here: 1. Apache MXNet: this has been used for one of our main algorithms for search as an end-to-end pipeline. We chose this because of the Scala bindings, which makes it easier to integrate with out JVM backend. MXNet seems comparable to TensorFlow, although community support is not as good as TensorFlow, and there are issues with memory leaks that are being worked on. TensorFlow in general is easier to use, but MXNet isn't too far behind. 2. Keras: still a favorite. Often I use this when paired with TensorFlow. TensorFlow 2.0 will make it even easier. 3. PyTorch: only used it a little, so it's hard to provide a good opinion. 4. DL4J: used it initially in an early days project because it has good JVM support. Harder to used not because of poor API design, but because community support is lacking and features don't come out as fast as TensorFlow.
Positive Impact- As I mentioned before its open source. Very easy to learn for average programmer/ developer. We were able to design a POC model for understanding the patient appointment cancellation snd reasons behind it in 3 week time frame.
Negative Impact- If you are using tensor flow for small project it works fine. If you are trying to build a model for face recognition it will be hard to program and train the system. It needs data to be processed before hand cannot learn on the go.