c++机器学习框架

C++ machine learning framework

本文关键字:框架 机器学习 c++      更新时间:2023-10-16

我似乎找不到一个基于c++的ML/AI框架来实现各种各样的神经网络算法。在Java中工作时,我使用Encog来实现这些目的,但我在c++中没有看到任何类似的功能。我见过最接近的是FANN,但它缺少一些东西,LMA &;例如退火。

编辑:我发现最好的替代品是Shark,但正如我所说,它仍然缺乏,只有更常用的功能,没有LMA,退火或PSO或该级别的任何东西。

好了,经过几天断断续续的搜索,我想我可以很有把握地说不存在这样的东西。没有一个现有的库提供任何接近Encog复杂程度的东西,而且由于我想在c++中使用它的主要原因之一是我需要QT集成,我想我最终会使用Encog和Jambi。

无论如何,对于那些后来从谷歌偶然发现这个的人,基本上有三个框架/库提供了一些合理的功能,如果你不想要LMA, PSO,退火或任何更奇特的东西,它们应该足够了:

    鲨鱼
  • dlib, ffh
  • 也提到了
  • rics提到的OpenCV的ML库

差不多了。其余的都是不成熟的/死亡的,或者实在是太缺乏功能了。如果我决定推出自己的项目(很有可能,因为我非常需要它来工作),我一定会用链接更新这个地方。

mloss存储库有许多基于c++的开源机器学习框架。我个人认为dlib非常有用。

Encog正在被移植到C/c++中。

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

这是我见过的最好的神经网络:EBLearn

虽然OpenCV主要用于计算机视觉,但它的机器学习库(ml)包含处理决策树,贝叶斯分类器,多层感知器,增强等的类