The Library

Algorithms
API Wrappers
Bayesian Nets
Compression
Containers
Graph Tools
Image Processing
Linear Algebra
Machine Learning
Metaprogramming
Miscellaneous
Networking
Optimization
Parsing

Help/Info
Dlib Blog
Examples: C++
Examples: Python
FAQ
Home
How to compile
How to contribute
Index
Introduction
License
Python API
Suggested Books
Who uses dlib?

Current Release
Change Log
Release Notes

Download dlib
ver.19.4
Last Modified:
Mar 07, 2017
Dlib is a modern C++ toolkit containing machine learning algorithms and tools for creating complex software in C++ to solve real world problems. It is used in both industry and academia in a wide range of domains including robotics, embedded devices, mobile phones, and large high performance computing environments. Dlib’s open source licensing allows you to use it in any application, free of charge.

To follow or participate in the development of dlib subscribe to dlib on github. Also be sure to read the how to contribute page if you intend to submit code to the project.

Major Features

Documentation
Unlike a lot of open source projects, this one provides complete and precise documentation for every class and function. There are also debugging modes that check the documented preconditions for functions. When this is enabled it will catch the vast majority of bugs caused by calling functions incorrectly or using objects in an incorrect manner.
Lots of example programs are provided
I consider the documentation to be the most important part of the library. So if you find anything that isn’t documented, isn’t clear, or has out of date documentation, tell me and I will fix it.
High Quality Portable Code
Good unit test coverage. The ratio of unit test lines of code to library lines of code is about 1 to 4.
The library is tested regularly on MS Windows, Linux, and Mac OS X systems. However, it should work on any POSIX system and has been used on Solaris, HPUX, and the BSDs.
No other packages are required to use the library. Only APIs that are provided by an out of the box OS are needed.
There is no installation or configure step needed before you can use the library. See the How to compile page for details.
All operating system specific code is isolated inside the OS abstraction layers which are kept as small as possible. The rest of the library is either layered on top of the OS abstraction layers or is pure ISO standard C++.
Machine Learning Algorithms
Deep Learning