Dlib:用于机器学习的现代 C++/Python 工具包

2021-07-26 07:28:57

Dlib 是一个现代 C++ 工具包,包含机器学习算法和工具,用于在 C++ 中创建复杂的软件以解决现实世界的问题。它被工业界和学术界广泛使用,包括机器人、嵌入式设备、移动电话和大型高性能计算环境。 Dlib 的开源许可允许您在任何应用程序中免费使用它。关注或参与dlib的开发请在github上订阅dlib。如果您打算向项目提交代码,请务必阅读如何贡献页面。文档 与许多开源项目不同,这个项目为每个类和函数提供了完整而精确的文档。还有一些调试模式可以检查记录的函数前提条件。启用此功能后,它将捕获由不正确调用函数或以不正确方式使用对象引起的绝大多数错误。我认为文档是图书馆最重要的部分。因此,如果您发现任何未记录的、不清楚的或过时的文件,请告诉我,我会修复它。高质量的可移植代码 良好的单元测试覆盖率。单元测试代码行数与库代码行数之比约为 1 比 4。该库定期在 MS Windows、Linux 和 Mac OS X 系统上进行测试。但是,它应该适用于任何 POSIX 系统,并且已经在 Solaris、HPUX 和 BSD 上使用过。使用该库不需要其他包。只需要开箱即用的操作系统提供的 API。

在您可以使用库之前,不需要安装或配置步骤。有关详细信息,请参阅如何编译页面。所有特定于操作系统的代码都在 OS 抽象层内隔离,这些层保持尽可能小。库的其余部分要么位于操作系统抽象层之上,要么是纯 ISO 标准 C++。机器学习算法 用于图像中对象检测的结构 SVM 工具以及用于对象检测的更强大(但速度较慢)的深度学习工具。数值算法 使用表达式模板技术实现的快速矩阵对象,并且能够在可用时使用 BLAS 和 LAPACK 库。为矩阵对象定义了许多线性代数和数学运算,例如奇异值分解、转置、三角函数等。 用于解决最优分配和最小割/最大流问题的组合优化工具以及用于寻找最大流的 CKY 算法可能的解析树 网络 iostream 和 streambuf 对象,使 TCP 套接字能够与 C++ iostreams 库互操作

一个简单的 HTTP 服务器对象,可用于将 Web 服务器嵌入到您的应用程序中 数据压缩和完整性算法 代表数据压缩算法部分的各种抽象对象。包括多种形式的 PPM 算法。通用实用程序 一个命令行解析器,能够解析和验证具有各种类型参数和选项的命令行