C++ Machine learning

Open-source C++ projects categorized as Machine learning

Top 23 C++ Machine learning Projects

  • GitHub repo tensorflow

    An Open Source Machine Learning Framework for Everyone

    Project mention: Support creation of tf.data.Dataset (data generator) and augmentation for image. | reddit.com/r/tensorflow | 2021-06-12

    If you would like to avoid deadlocks above, you can run multiprocessing and tensorflow in a separate process as discussed here. However, there is overhead between inter-process communication. With large data sizes, it's communication overhead can be a large learning bottleneck.

  • GitHub repo Pytorch

    Tensors and Dynamic neural networks in Python with strong GPU acceleration

    Project mention: Need help - artificial neural network, willing to pay | reddit.com/r/artificial | 2021-06-15

    Do you know how to program in Python at all? If so, here is a short series of beginner tutorials that culminates in training a neural network to predict whether an image is of a cat or a dog. Most people don't make a neural network "from scratch" and instead use an existing Python framework like PyTorch or Tensorflow.

  • GitHub repo tesseract-ocr

    Tesseract Open Source OCR Engine (main repository)

    Project mention: What's wrong with instanced maps again? | reddit.com/r/Maplestory | 2021-06-02

    - Improvement of OCR technology over the years has made text-based captchas obsolete. It takes about 10-20 minutes for a reasonably competent programmer to grab and setup a copy of tesseract, the most popular free OCR package, and solve away.

  • GitHub repo Caffe

    Caffe: a fast open framework for deep learning.

    Project mention: Can someone please guide me regarding these different face detection models? | reddit.com/r/learnmachinelearning | 2021-05-27

    Caffe is a DL framework just like TensorFlow, PyTorch etc. OpenPose is a real-time person detection library, implemented in Caffe and c++. You can find the original paper here and the implementation here.

  • GitHub repo openpose

    OpenPose: Real-time multi-person keypoint detection library for body, face, hands, and foot estimation

    Project mention: [D] Pose estimation | reddit.com/r/MachineLearning | 2021-05-30
  • GitHub repo 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

  • GitHub repo mxnet

    Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more

    Project mention: just released my Clojure AI book | reddit.com/r/Clojure | 2021-05-23

    Clojure and Python also have bindings to the Apache MXNet library. Is there a reason why you didn't use them in some of your projects?

  • GitHub repo DeepSpeech

    DeepSpeech is an open source embedded (offline, on-device) speech-to-text engine which can run in real time on devices ranging from a Raspberry Pi 4 to high power GPU servers.

    Project mention: Voice Anonymization | reddit.com/r/privacytoolsIO | 2021-06-07

    One option is to use a speech to text program from mozilla (there), then write a script to feed that text to a text to speech program, run the tts program (mozilla has a tts program too) and then put out the sound (maybe with obs) to your video recording or something. I ~don't know if mozilla provides only the voice or if it comes with a program to actually put out sound. If it doesn't come with it, I'd suggest to try balabolka, which is (probably) open source too..

  • GitHub repo CNTK

    Microsoft Cognitive Toolkit (CNTK), an open source deep-learning toolkit (by microsoft)

  • GitHub repo LightGBM

    A fast, distributed, high performance gradient boosting (GBT, GBDT, GBRT, GBM or MART) framework based on decision tree algorithms, used for ranking, classification and many other machine learning tasks.

    Project mention: Is it possible to clean memory after using a package that has a memory leak in my python script? | reddit.com/r/Python | 2021-04-29

    I'm working on the AutoML python package (Github repo). In my package, I'm using many different algorithms. One of the algorithms is LightGBM. The algorithm after the training doesn't release the memory, even if del is called and gc.collect() after. I created the issue on LightGBM GitHub -> link. Because of this leak, memory consumption is growing very fast during algorithm training.

  • GitHub repo mediapipe

    Cross-platform, customizable ML solutions for live and streaming media.

    Project mention: Mediapipe IRIS landmarks | reddit.com/r/computervision | 2021-06-09

    AFAIK, Mediapipe was not purposed to extract parts of face. But you can define the sequence bounding eyes yourself, this picture might help https://github.com/google/mediapipe/blob/master/mediapipe/modules/face_geometry/data/canonical_face_model_uv_visualization.png

  • GitHub repo Dlib

    A toolkit for making real world machine learning and data analysis applications in C++

    Project mention: C++ AIO library with? | reddit.com/r/cpp | 2021-06-07

    You may have been thinking of dlib?

  • GitHub repo 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.

    Project mention: [D] Is there a way to evaluate model during training? | reddit.com/r/MachineLearning | 2021-04-01

    Implemented in vowpal wabbit: https://github.com/VowpalWabbit/vowpal_wabbit

  • GitHub repo MNN

    MNN is a blazing fast, lightweight deep learning framework, battle-tested by business-critical use cases in Alibaba

    Project mention: Newbie having error code of cannot build selected target abi x86 no suitable splits configured | reddit.com/r/AndroidStudio | 2021-04-12

    I found a solution on GitHub check your app's build.gradle, defaultConfig section - you need to add x86 to your ndk abiFilters ndk.abiFilters 'armeabi-v7a','arm64-v8a', 'x86' GitHub Hope it will help. You have to find that file and edit it as given here

  • GitHub repo tiny-cnn

    header only, dependency-free deep learning framework in C++14

  • GitHub repo serving

    A flexible, high-performance serving system for machine learning models

    Project mention: Running concurrent inference processes in Flask or should I use FastAPI? | reddit.com/r/flask | 2021-03-29

    Don't roll this yourself. Look at Tensorflow Serving: https://github.com/tensorflow/serving.

  • GitHub repo onnxruntime

    ONNX Runtime: cross-platform, high performance ML inferencing and training accelerator

    Project mention: John Snow Labs Spark-NLP 3.1.0: Over 2600+ new models and pipelines in 200+ languages, new DistilBERT, RoBERTa, and XLM-RoBERTa transformers, support for external Transformers, and lots more! | reddit.com/r/java | 2021-06-08

    It might be worth having a look at the ONNX Runtime Java API in addition to TF-Java, it'll let you deploy the rest of the HuggingFace pytorch models that don't have TF equivalents. I built the Java API a few years ago, and it's now a supported part of the ONNX Runtime project. We use it in Tribuo to provide one of our text feature embedding classes (BERTFeatureExtractor).

  • GitHub repo Open3D

    Open3D: A Modern Library for 3D Data Processing

    Project mention: I have an idea for a project, not sure where or how to begin. | reddit.com/r/learnprogramming | 2021-05-22
  • GitHub repo jetson-inference

    Hello AI World guide to deploying deep-learning inference networks and deep vision primitives with TensorRT and NVIDIA Jetson.

    Project mention: Pretrained image classification model for nuts and bolts (or similar) | reddit.com/r/pytorch | 2021-04-08

    Hello! I'm looking for some pre trained image classification models to use on a Jetson Nano. I already know about the model zoo and the pre trained models included in the https://github.com/dusty-nv/jetson-inference repo. For demonstration purposes, however, I need a model trained on small objects from the context of production, ideally nuts, bolts, and similar small objects. Does anyone happen to know a source for this? Thanks a lot!

  • GitHub repo interpret

    Fit interpretable models. Explain blackbox machine learning.

    Project mention: [Discussion] XGBoost is the way. | reddit.com/r/MachineLearning | 2021-06-11

    Also I'd recommend everyone who works with xgboost to give EBM's a try! They perform comparably (except in the case of extreme interactions) but are actually interpretable! https://github.com/interpretml/interpret/ Beside that they since on runtime they're practically a lookup table they're very quick (at the cost of longer training time).

  • GitHub repo flashlight

    A C++ standalone library for machine learning (by flashlight)

    Project mention: [D] C++ in Machine Learning. | reddit.com/r/MachineLearning | 2021-04-25
  • GitHub repo mlpack

    mlpack: a scalable C++ machine learning library --

  • GitHub repo SHOGUN


NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2021-06-15.


What are some of the best open-source Machine learning projects in C++? This list will help you:

Project Stars
1 tensorflow 156,443
2 Pytorch 48,822
3 tesseract-ocr 40,341
4 Caffe 31,702
5 openpose 21,152
6 xgboost 21,120
7 mxnet 19,506
8 DeepSpeech 17,522
9 CNTK 17,030
10 LightGBM 12,608
11 mediapipe 12,562
12 Dlib 10,234
13 vowpal_wabbit 7,562
14 MNN 5,797
15 tiny-cnn 5,384
16 serving 5,070
17 onnxruntime 4,738
18 Open3D 4,585
19 jetson-inference 4,561
20 interpret 3,831
21 flashlight 3,760
22 mlpack 3,704
23 SHOGUN 2,827