Qter 发表于 2023-10-29 23:31:16

Dlib 现代 C++ 工具包,包含机器学习算法和工具

http://dlib.net/

Dlib 是一个现代 C++ 工具包,包含机器学习算法和工具,用于用 C++ 创建复杂的软件来解决现实世界的问题。它在工业界和学术界广泛应用于机器人、嵌入式设备、移动电话和大型高性能计算环境等领域。Dlib 的开源许可 允许您在任何应用程序中免费使用它。要关注或参与 dlib 的开发,请在 github 上订阅 dlib。如果您打算向项目提交代码, 请务必阅读如何贡献页面。要快速开始使用 dlib,请按照以下说明构建 dlib。

主要特点
[*]文档

[*]与许多开源项目不同,这个项目为每个类和函数提供了完整且精确的文档。还有一些调试模式可以检查功能的记录前提条件。启用此功能后,它将捕获绝大多数由错误调用函数或以错误方式使用对象引起的错误。
[*]提供了大量的示例程序
[*]我认为文档是该库最重要的部分。因此,如果您发现任何未记录、不清楚或文档已过时的内容,请告诉我,我会修复它。
[*]高质量的可移植代码

[*]良好的单元测试覆盖率。单元测试代码行与库代码行的比例约为 1 比 4。
[*]该库定期在 MS Windows、Linux 和 Mac OS X 系统上进行测试。然而,它应该可以在任何 POSIX 系统上运行,并且已经在 Solaris、HPUX 和 BSD 上使用。
[*]使用该库不需要其他包。仅需要开箱即用操作系统提供的 API。
[*]使用该库之前不需要安装或配置步骤。有关详细信息,请参阅 如何编译页面。
[*]所有操作系统特定代码都隔离在操作系统抽象层内,并尽可能小。该库的其余部分要么位于操作系统抽象层之上,要么是纯 ISO 标准 C++。
[*]机器学习算法

[*]深度学习
[*]用于分类 和 回归的基于传统 SMO 的支持向量机
[*]用于大规模分类 和回归的降秩方法
[*]用于分类 和回归的相关向量机
[*]通用多类分类工具
[*]多类支持向量机
[*]用于解决与结构支持向量机相关的优化问题的工具 。
[*]用于序列标记的结构 SVM 工具
[*]用于解决分配问题的结构 SVM 工具
[*]用于图像中对象检测的结构 SVM 工具以及用于对象检测的更强大(但速度较慢)的深度学习工具。
[*]用于标记图中节点的结构 SVM 工具
[*]大规模SVM-Rank实现
[*]一种在线核RLS回归算法
[*]一种在线SVM分类算法
[*]半定度量学习
[*]在线核化质心估计器/新颖性检测器和离线支持向量一类分类
[*]聚类算法:线性 或内核 k-means、 Chinese Whispers和 Newman 聚类。
[*]径向基函数网络
[*]多层感知器
[*]数值算法

[*]使用表达式模板技术实现的快速矩阵对象,并且能够使用可用的 BLAS 和 LAPACK 库。
[*]为矩阵对象定义了许多线性代数和数学运算,例如 奇异值分解、 转置、 三角函数等。
[*]使用共轭梯度、 BFGS和 L-BFGS 技术的通用无约束非线性优化算法
[*]Levenberg-Marquardt用于解决非线性最小二乘问题
[*]通过BOBYQA算法进行框约束无导数优化
[*]优化剖切面算法的一种实现
[*]几个 二次规划 求解 器
[*]用于解决 最优分配和 最小割/最大流问题的组合优化工具以及用于查找最可能解析树的CKY 算法
[*]一个大整数对象
[*]随机数对象
[*]图模型推理算法

[*]用于贝叶斯网络中精确推理的连接树算法。
[*]用于贝叶斯网络中近似推理的吉布斯采样器马尔可夫链蒙特卡罗算法。
[*]用于在链结构、 Potts或 一般因子图中执行 MAP 推理的例程 。
[*]图像处理

[*]读取和 写入常见图像格式 的例程。
[*]各种像素类型之间的自动色彩空间转换
[*]寻边、形态学操作等常见图像操作
[*]SURF、 HOG和FHOG 特征提取算法的实现。
[*]用于检测图像中的对象的工具,包括 正面检测和 对象姿势估计。
[*]高品质人脸识别
[*]螺纹加工

[*]该库提供了一个可移植且简单的线程 API
[*]用于线程间和进程间通信的消息传递管道
[*]能够生成时间间隔规则的事件的计时器对象
[*]螺纹对象
[*]线程函数
[*]并行 for 循环
[*]支持 future的thread_pool
[*]联网

[*]该库提供了一个可移植且简单的TCP 套接字 API
[*]帮助您创建基于 TCP 的服务器的对象
[*]iostream和Streambuf 对象,使 TCP 套接字能够与 C++ iostreams 库互操作
[*]一个简单的HTTP 服务器对象,可用于将 Web 服务器嵌入到您的应用程序中
[*]用于线程间和进程间通信的消息传递管道
[*]用于使用批量同步并行 (BSP)计算模型实现算法的工具
[*]图形用户界面

[*]该库提供了一个可移植且简单的核心GUI API
[*]在核心 GUI API 之上实现了许多小部件
[*]与许多其他 GUI 工具包不同,整个 dlib GUI 工具包是线程安全的
[*]数据压缩和完整性算法

[*]CRC 32对象
[*]MD5功能
[*]代表数据压缩 算法部分的各种抽象对象。包括多种形式的 PPM 算法。
[*]测试

[*]一个线程安全的记录器对象,其风格模仿流行的 Java 记录器 log4j
[*]模块化单元测试框架
[*]用于测试先决条件的各种断言宏
[*]通用公用事业

[*]用于在大端和小端字节顺序之间转换的类型安全对象
[*]命令行解析器能够使用各种类型的参数和选项解析和验证命令行
[*]XML解析器
[*]可以执行base64转换的对象
[*]许多容器类
[*]序列化支持
[*]许多实现不同内存池策略的内存管理器对象
[*]一个可让您轻松从 MATLAB 调用 C++ 的工具

页: [1]
查看完整版本: Dlib 现代 C++ 工具包,包含机器学习算法和工具