A Look at Popular Machine Learning Frameworks

There has been a massive growth in interest in machine and deep learning over the last four to five years as the availability of raw computing power and useful data sets has continued to grow. Broadly speaking developers are consuming machine learning in one of two manners, via frameworks such as those listed below, are by means of a service such as AWS Machine Learning or IBM Watson.

The frameworks we look at here are by no means an exhaustive list, at last check there were well over one hundred and twenty different machine learning/deep learning frameworks available. Rather these are opensource frameworks that have gained some significant level of interest and traction on github. If there is a framework you feel we should be taking into consideration, please do let us know in the comments below or on twitter.

The machine learning frameworks associated with Apache Spark, which we see mentioned frequently, were not included as the code is part of the overall Spark repo.

Github Interest

We firstly looked at the level of interest on Github in the various frameworks

As you can see Tensorflow burst onto the scene last year, with a level of interest beyond anything that other frameworks have enjoyed from day one. Following this we see Scikit Learn, Caffe and PredictionIO in the next major grouping of interest.

Stack Overflow

The trends on stack overflow are more interesting to observe, and here we see a clear bias towards Scikit Learn and Tensorflow.

Popularity?

In our more recent conversations, outside of the libraries associated with Spark mentioned above we hear Tensorflow and Scikit Learn mentioned frequently.

Tensorflow, Tensorflow

To say that there has been a surge of interest in TensorFlow would be quite an understatement. Now there can be no doubt that in part this is down to just how much energy (and marketing budget) Google has put behind TensorFlow. But there is more to this trend than just marketing. Data scientists and developers are finding Tensorflow immensely valuable.

Scikit Learn

Scikit Learn is the go to machine learning library for data scientists developing in Python. Usage is widespread, and it has followed a steady growth curve over the lifetime of the project.

Going forward?

As interesting as all of the growth and interest in machine learning frameworks is, it is important to consider the manner in which many developers will consume and interact with machine learning.

Continuing a trend that we are already observing, we expect that in the medium to longer term many application developers, particularly those coming to machine learning from a more traditional dev background, will rely on the machine learning services such as those provided by Amazon, Google, Microsoft or IBM.

On saying that, we do fully expect the interest in, and usage of, all of the major frameworks listed above to continue to grow.