ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

于数据科学的顶级 C/C++ 机器学习库整理

2022-11-10 19:03:16  阅读:237  来源: 互联网

标签:c++ 输入 文件 方法 编程 设置 代码 安装 链接 下载 压缩


介绍和动机——为什么选择 C++

C++ 非常适合 动态负载平衡、 自适应缓存以及开发大型大数据框架 和库。Google 的MapReduce、MongoDB以及 下面列出 的大多数 深度学习库都是使用 C++ 实现的。 Scylla 以其 超低延迟 和 极高 吞吐量而闻名,它 使用 C++ 进行编码,作为 Apache Cassandra 和 Amazon DynamoDB的替代品。

凭借 C++ 作为编程语言的 一些独特优势(包括内存管理、 性能特征和 系统编程),它无疑是开发快速可扩展的数据科学和大数据库的最有效工具之一。

此外, Julia (一种 由MIT开发的编译型 和 交互式 语言)正在成为 Python 在科学计算和数据处理领域的潜在竞争对手。它的快速处理速度、并行性、静态以及用于插入库的动态类型和 C++ 绑定,简化了开发人员/数据科学家集成和使用 C++ 作为数据科学和大数据库的工作。

让我们仔细研究一下不同的 C++ 库,这些库对于传统和深度学习模型的每位数据科学家来说都很有用。

1.来自 Google AI 的 TensorFlow

由 Google 开发的流行深度学习库,拥有自己的工具、库和社区资源生态系统,可让研究人员和开发人员轻松构建和部署基于 ML 的应用程序

2.来自伯克利的 Caffe

用于快速特征嵌入或 Caffe 的卷积架构是用 C++ 编写的,用于深度学习框架,由伯克利视觉和学习中心开发。

3.微软认知工具包(CNTK)

Microsoft Cognitive Toolkit 是一个统一的深度学习工具包,有助于通过有向图将神经网络转换为一系列计算步骤。

4.mlpack 库

mlpack:它是一个快速、灵活的机器学习库,用 C++ 编写。它提供了具有 Python 绑定、Julia 绑定和 C++ 类的尖端机器学习算法。

5.DyNet

Dynamic Neural Network Toolkit (支持动态计算图)或 DyNet 是一个用 C++(在 Python 中绑定)编写的高性能神经网络库,可在 CPU 或 GPU 上高效运行。它支持自然语言处理、图结构、强化学习等。

6.Shogun

Shogun 是一个开源机器学习库,它提供了广泛的高效和统一的机器学习方法,例如多种数据表示、算法类和通用工具的组合,用于数据管道的快速原型设计。

7. FANN

快速人工神经 网络 是 C 语言中的多层人工神经网络,支持全连接和稀疏连接网络。它支持定点和浮点的跨平台执行。此外,它还支持进化的基于拓扑的训练和基于反向传播的 DL 模型训练。

8.OpenNN

开放神经网络 (OpenNN) 是用于高级分析的开源 (C/C++) 神经网络高性能库,支持分类、回归、预测等。

9.SHARK Library

Shark 是一个快速、模块化、通用的开源机器学习库 (C/C++),用于应用和研究,支持线性和非线性优化、基于内核的学习算法、神经网络和各种其他机器学习技术。

10. Armadillo

Armadillo 是一个线性代数 (C/C++) 库,其功能类似于 Matlab。该库以将研究代码快速转换为生产环境而闻名,用于模式识别、计算机视觉、信号处理、生物信息学、统计学、计量经济学等。

标签:c++,输入,文件,方法,编程,设置,代码,安装,链接,下载,压缩
来源:

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有