When comparing Theano vs Infer.NET, the Slant community recommends Theano for most people. In the question“What are the best artificial intelligence frameworks?” Theano is ranked 1st while Infer.NET is ranked 6th. The most important reason people chose Theano is:
Theano is a Python library which is very well adapted for numerical tasks often encountered when dealing with deep learning. What makes it well adapted for those tasks is the fact that it combines several paradigms for numerical computations, namely: matrix operations symbolic variable and function definitions Just-in-time compilation to CPU or GPU machine code
Ranked in these QuestionsQuestion Ranking
Pros
Pro Well adapted for numerical tasks
Theano is a Python library which is very well adapted for numerical tasks often encountered when dealing with deep learning.
What makes it well adapted for those tasks is the fact that it combines several paradigms for numerical computations, namely:
matrix operations
symbolic variable and function definitions
Just-in-time compilation to CPU or GPU machine code
Pro Optimized for both CPU and GPU
Since all variables are actually symbolic variables, you need to define a function and fill in the values in order to get a value. For example:
# X, y and w are a matrix and vectors respectively
# E is a scalar that depends on the above variables
# to get the value of E we must define:
Efun = theano.function([X,w,y],
E,allow_input_downcast=True)
While this seems like an unnecessary step, it's actually not. Since Theano now has a representation of the whole expression graph for the Efun function, it can compile and optimize the code so that it can run on both CPU and GPU.
Pro Supports multiple inference algorithms
Infer.NET supports expectation propagation (including belief propagation as a special case), variational message passing (also known as variational Bayes), max product (for discrete models), and block Gibbs sampling.
Pro Versatile
You can use Infer.NET to solve many different kinds of machine learning problems, from standard problems like classification, recommendation or clustering through to customised solutions to domain-specific problems.
Pro Cross platform
Can be used on Windows (.NET), OSX or Linux (using mono)
Cons
Con Somewhat low level on its own
Theano is one of the oldest deep learning libraries out there and a lot of other widely used libraries have been built on top of it.
But Theano heavily relies on the mathematical side of deep learning and data discovery, having similar features to NumPy or Matlab. This is why it's usually used with other libraries in order to achieve a higher level of abstraction.
Con No commercial license
Infer.NET is free for academic use. However, at this time, commercial use of Infer.NET is limited to Microsoft. No other commercial licenses are available.