开源神经网络库
artificial-intelligence
machine-learning
neural-network
7
0

我正在寻找一个开源的神经网络库。到目前为止,我已经研究了FANN,WEKA和OpenNN。是我应该看看的其他人吗?当然,标准是文档,示例和易用性。

参考资料:
Stack Overflow
收藏
评论
共 4 个回答
高赞 时间 活跃

最后更新时间:2019/01/07 (我将不时更新此答案...)

神经网络的简单实现

  • FANN是C / C ++中非常流行的实现,并且具有许多其他语言的绑定。
  • 我认为WEKA对于神经网络还没有很好的实现。有一个更好的Java(和C#)库: Encog
  • 在scikit-learn(Python)0.18(当前开发版本)中,将实现前馈神经网络( API文档 )。
  • 我必须提到我自己的项目,该项目称为OpenANN文档 )。它是用C ++编写的,并具有Python绑定。

深度学习

由于神经网络目前非常流行(“深度学习”),因此有许多研究库可供使用。它们中的大多数易于设置,集成和使用。尽管不如上面提到的库那么容易。它们提供了领先的功能和高性能(使用GPU等)。这些库大多数还具有自动区分功能。您可以轻松地指定新的体系结构,损失函数等,而不必手动指定反向传播。

  • 在我看来, Keras是同类产品中最好的:可用,功能强大且积极开发。它可以使用TensorflowTheanoCNTK作为后端。
  • 来自Google的TensorFlow (C ++ / Python)
  • Microsoft的CNTK (Python培训/ C ++ / C#/ Java / Python评估)
  • 来自Berkeley视觉与学习中心的Caffe (具有C ++和Python绑定)
  • 来自Facebook的PyTorch ,可以使用Python进行C / C ++扩展
  • mxnet (C ++,Python,R,Scala,Julia,Matlab,Javascript)
  • 基于Theano的 (Python)
  • Intel Nervana的Neon提供了非常有效的实现(Python)
  • Deeplearning4j (Java)
  • 链接器 (Python)
  • MatConvNet (Matlab)
  • 带有Python绑定的CUDA / C ++中的百度PaddlePaddle
  • NNabla从索尼CUDA中/ C ++ 11与Python绑定

可以在此处找到GPU加速库的性能比较(不幸的是有些过时)。在这里可以找到GPU和库版本的比较。

无效:

收藏
评论

您可以使用Accord.net框架。 http://accord-framework.net/

它包含神经学习算法,例如Levenberg-Marquardt,并行弹性反向传播,Nguyen-Widrow初始化算法,深度信念网络和受限玻尔兹曼机,以及许多其他与神经网络相关的项目。

收藏
评论

Netlab是常用的Matlab库。 (免费和开源)

Netlab工具箱旨在提供必要的中央工具,用于仿真理论上建立良好的神经网络算法和相关模型,以用于教学,研究和应用程序开发。复杂系统数学研究在MSc中广泛使用它。

Netlab库包括各种数据分析技术的软件实现,其中许多在标准神经网络仿真程序包中尚不可用。 Netlab适用于Matlab 5.0版或更高版本,但只需要核心Matlab(即不需要其他工具箱)。它与Matlab的早期版本不兼容。

收藏
评论

如果要灵活地定义网络配置(例如共享参数或创建不同类型的卷积体系结构),则应查看Torch库系列: http : //www.torch.ch/

我还没有阅读过Torch 7的文档,但是其他版本的文档相当不错,并且代码非常易读(在Lua和C ++中)。

收藏
评论
新手导航
  • 社区规范
  • 提出问题
  • 进行投票
  • 个人资料
  • 优化问题
  • 回答问题

关于我们

常见问题

内容许可

联系我们

@2020 AskGo
京ICP备20001863号