C++ machine learning framework

16,715

Solution 1

Ok, so after a few days of on and off searching, I think I can pretty safely say that there is no such thing. None of the existing libs provide anything even close to the level of sophistication of Encog, and since one of the main reasons I wanted it in C++ was the fact that I kind of need QT integration, I suppose I'll just end up using Encog and Jambi.

Anyway, to those who stumble upon this somewhat later on / from Google, there's basically three frameworks/libraries that do offer somewhat reasonable features, and they should really be enough if you don't want LMA, PSO, annealing or any of that more exotic stuff:

That's pretty much it. The rest is immature/dead or just really too lacking functionality-wise to mention. If I ever decide to roll my own project (quite possible, as I pretty much need it for work), I'll be sure to update this place with a link.

Solution 2

The mloss repository has a number of C++ based open source machine learning frameworks. Personally, I find dlib quite useful.

Solution 3

Encog is in the process of being ported to C/C++.

https://github.com/encog/encog-c

Solution 4

This is the best one I have ever seen for Neural Networks: EBLearn

Solution 5

Although OpenCV is primarily used for computer vision its machine learning library (ml) contains classes that handle decision trees, Bayes classifier, multi-layer perceptron, boosting etc.

Share:
16,715
TC1
Author by

TC1

intentionally left blank

Updated on June 04, 2022

Comments

  • TC1
    TC1 almost 2 years

    I can't seem to find a C++ based ML/AI framework that implements a wide variety of neural network algorithms. I've used Encog for these purposes when working in Java, but I don't see anything that's similar, functionality-wise, in C++. The closest I've seen is FANN, but it lacks some stuff, LMA & annealing for example.

    EDIT: The best alternative I've found is Shark, but as I said, it's still lacking and has only the more commonly used features, no LMA, annealing or PSO or anything of that level.

  • TC1
    TC1 over 12 years
    Pretty neat, better than anything I'd found, but still, the MLP section only supports RProp...
  • Rohit Vipin Mathews
    Rohit Vipin Mathews over 11 years
    Better provide some details. Like how and why you think its the best.
  • mtall
    mtall over 10 years
    You may also want to look at the MLPACK C++ library, which has many machine learning algorithms