Dlib is a modern C++ toolkit containing machine learning algorithms and tools for creating complex software in C++ to solve real world problems. See http://dlib.net for the main project documentation and API reference.

Code Quality Rank: L1
Programming language: C++
License: Boost Software License 1.0
Tags: Frameworks     Machine Learning    
Latest version: v19.21

Dlib alternatives and similar libraries

Based on the "Machine Learning" category.
Alternatively, view Dlib alternatives based on common mentions on social networks and blogs.

  • Caffe

    9.9 0.0 L1 Dlib VS Caffe
    Caffe: a fast open framework for deep learning.
  • xgboost

    Scalable, Portable and Distributed Gradient Boosting (GBDT, GBRT or GBM) Library, for Python, R, Java, Scala, C++ and more. Runs on single machine, Hadoop, Spark, Dask, Flink and DataFlow
  • Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
    Promo www.influxdata.com
    InfluxDB Logo
  • mxnet

    9.7 4.1 L1 Dlib VS mxnet
    DISCONTINUED. Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more
  • Caffe2

    DISCONTINUED. A lightweight, modular, and scalable deep learning framework. [Apache2] website
  • vowpal_wabbit

    Vowpal Wabbit is a machine learning system which pushes the frontier of machine learning with techniques such as online, hashing, allreduce, reductions, learning2search, active, and interactive learning.
  • CCV

    8.9 9.4 L2 Dlib VS CCV
    C-based/Cached/Core Computer Vision Library, A Modern Computer Vision Library
  • catboost

    A fast, scalable, high performance Gradient Boosting on Decision Trees library, used for ranking, classification, regression and other machine learning tasks for Python, R, Java, C++. Supports computation on CPU and GPU.
  • mlpack

    8.5 9.9 L1 Dlib VS mlpack
    mlpack: a fast, header-only C++ machine learning library

    7.9 4.8 L1 Dlib VS SHOGUN
  • Porcupine  

    On-device wake word detection powered by deep learning
  • Minerva

    DISCONTINUED. A fast and flexible system for deep learning. [Apache2]

    RNNLIB is a recurrent neural network library for sequence learning problems. Forked from Alex Graves work http://sourceforge.net/projects/rnnl/
  • MeTA

    5.3 0.0 L3 Dlib VS MeTA
    A Modern C++ Data Sciences Toolkit
  • Fido

    4.0 0.0 L5 Dlib VS Fido
    A lightweight C++ machine learning library for embedded electronics and robotics.
  • Recommender

    A C library for product recommendations/suggestions using collaborative filtering (CF)
  • NN++

    3.2 0.0 L3 Dlib VS NN++
    A small and easy to use neural net implementation for C++. Just download and #include!
  • faiss-server

    faiss serving :)
  • OpenHotspot

    DISCONTINUED. OpenHotspot is a machine learning, crime analysis framework written in C++11.
  • gaenari

    c++ incremental decision tree
  • sofia-ml

    The suite of fast incremental algorithms for machine learning. [Apache2]

Do you think we are missing an alternative of Dlib or a related project?

Add another 'Machine Learning' Library


dlib C++ library GitHub Actions C++ Status GitHub Actions Python Status

Dlib is a modern C++ toolkit containing machine learning algorithms and tools for creating complex software in C++ to solve real world problems. See http://dlib.net for the main project documentation and API reference.

Compiling dlib C++ example programs

Go into the examples folder and type:

mkdir build; cd build; cmake .. ; cmake --build .

That will build all the examples. If you have a CPU that supports AVX instructions then turn them on like this:

mkdir build; cd build; cmake .. -DUSE_AVX_INSTRUCTIONS=1; cmake --build .

Doing so will make some things run faster.

Finally, Visual Studio users should usually do everything in 64bit mode. By default Visual Studio is 32bit, both in its outputs and its own execution, so you have to explicitly tell it to use 64bits. Since it's not the 1990s anymore you probably want to use 64bits. Do that with a cmake invocation like this:

cmake .. -G "Visual Studio 14 2015 Win64" -T host=x64 

Compiling your own C++ programs that use dlib

The examples folder has a CMake tutorial that tells you what to do. There are also additional instructions on the dlib web site.

Alternatively, if you are using the vcpkg dependency manager you can download and install dlib with CMake integration in a single command:

vcpkg install dlib

Compiling dlib Python API

Before you can run the Python example programs you must compile dlib. Type:

python setup.py install

Running the unit test suite

Type the following to compile and run the dlib unit test suite:

cd dlib/test
mkdir build
cd build
cmake ..
cmake --build . --config Release
./dtest --runall

Note that on windows your compiler might put the test executable in a subfolder called Release. If that's the case then you have to go to that folder before running the test.

This library is licensed under the Boost Software License, which can be found in dlib/LICENSE.txt. The long and short of the license is that you can use dlib however you like, even in closed source commercial software.

dlib sponsors

This research is based in part upon work supported by the Office of the Director of National Intelligence (ODNI), Intelligence Advanced Research Projects Activity (IARPA) under contract number 2014-14071600010. The views and conclusions contained herein are those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of ODNI, IARPA, or the U.S. Government.

*Note that all licence references and agreements mentioned in the Dlib README section above are relevant to that project's source code only.