← 开源
novak-99

MLPP

A library created to revitalize C++ as a machine learning front end. Per aspera ad astra.

Model DevelopmentClassical MLC++
在 GitHub 打开
增长势头
+024 小时新增 Star0.0%
1.11k
Star
152
Fork
+0
本周
3
贡献者
创建于 2021-05-24 · 更新于 2026-10-13 · 今日第 11560 名
主要开发者
novak-99RichardScottOZSmartAI

novak-99/MLPP 排名第 11,560,有 1,110 个星标。

同类别比较

novak-99/MLPP 排名第 11,560,此处有 8 个同类条目;baofff/U-ViT 排名第 11,556。

同类别比较
名称排名指标
xid32/SoundMind11,542
语言:
Python
星标数:
1,115
分叉数:
131
简介:
We introduce the Audio Logical Reasoning (ALR) dataset, consisting of 6,446 text-audio annotated samples specifically designed for complex reasoning tasks. Building on this resource, we propose SoundMind, a rule-based reinforcement learning (RL) algorithm tailored to endow audio language models (ALMs) with deep bimodal reasoning abilities.
andyzeng/visual-pushing-grasping11,544
语言:
Python
星标数:
1,114
分叉数:
328
简介:
Train robotic agents to learn to plan pushing and grasping actions for manipulation with deep reinforcement learning.
linorobot/linorobot11,548
语言:
C++
星标数:
1,112
分叉数:
348
简介:
Autonomous ground robots (2WD, 4WD, Ackermann Steering, Mecanum Drive)
baofff/U-ViT11,556
语言:
Jupyter Notebook
星标数:
1,110
分叉数:
77
简介:
A PyTorch implementation of the paper "All are Worth Words: A ViT Backbone for Diffusion Models".
qiskit-community/qiskit-machine-learning11,564
语言:
Python
星标数:
1,109
分叉数:
455
简介:
An open-source library built on Qiskit for quantum machine learning tasks at scale on quantum hardware and classical simulators
rosinality/style-based-gan-pytorch11,565
语言:
Python
星标数:
1,109
分叉数:
229
简介:
Implementation A Style-Based Generator Architecture for Generative Adversarial Networks in PyTorch
HumanSignal/label-studio-ml-backend11,566
语言:
Python
星标数:
1,107
分叉数:
491
简介:
Configs and boilerplates for Label Studio's Machine Learning backend
nicrusso7/rex-gym11,575
语言:
Python
星标数:
1,106
分叉数:
141
简介:
OpenAI Gym environments for an open-source quadruped robot (SpotMicro)
关键参数与规格
关键参数与规格
参数值
语言C++
类别Model Development
子类别Classical ML
星标数1,110
分叉数152
贡献者3
创建日期2021-05-24
更新日期2026-10-13
1 天星标数0
7 天星标数0
排名11,560
上次排名11,509
排名变化-51
7 天星标排名13,059
上次 7 天星标排名13,080
7 天星标排名变化21
总星标排名10,290
上次总星标排名10,282
总星标排名变化-8
国家USA
README 摘录

ML++ Machine learning is a vast and exiciting discipline, garnering attention from specialists of many fields. Unfortunately, for C++ programmers and enthusiasts, there appears to be a lack of support in the field of machine learning. To fill that void and give C++ a true foothold in the ML sphere, this library was written. The intent with this library is for it to act as a crossroad between low-level developers and machine learning engineers. Installation Begin by downloading the

header files for the ML++ library. You can do this by cloning the repository and extracting the MLPP directory within it: Next, execute the "buildSO. sh" shell script: After doing so, maintain the ML++ source files in a local directory and include them in this fashion: Finally, after you have concluded creating a project, compile it using g++: Usage Please note that ML++ uses the data type for emulating vectors, and the data type for emulating matrices. Begin by including

the respective header file of your choice. Next, instantiate an object of the class. Don't forget to pass the input set and output set as parameters. Afterwards, call the optimizer that you would like to use. For iterative optimizers such as gradient descent, include the learning rate, epoch number, and whether or not to utilize the UI panel. To test a singular testing instance, utilize the following function: This will return the model's singular prediction for that example. To test

an entire test set, use the following function: The result will be the model's predictions for the entire dataset. ***Deep, Dynamically Sized Neural Networks*** 3. ***Outlier Finder (Using z-scores)*** 13. ML++, like most frameworks, is dynamic, and constantly changing. This is especially important in the world of ML, as new algorithms and techniques are being developed day by day. Here are a couple of things currently being developed for ML++: Citations Various different materials helped me along the way

of creating ML++, and I would like to give credit to several of them here. This article by TutorialsPoint was a big help when trying to implement the determinant of a matrix, and this article by GeeksForGeeks was very helpful when trying to take the adjoint and inverse of a matrix.

常见问题

记录了多少星标和分叉?

novak-99/MLPP 有 1,110 个星标和 152 个分叉。

仓库排名是多少?

novak-99/MLPP 排名第 11,560。

记录的语言和类别是什么?

novak-99/MLPP 有 1,110 个星标,语言为 C++,类别为 Model Development。

哪个仓库排名最接近?

novak-99/MLPP 与 baofff/U-ViT 比较,后者排名第 11,556,有 1,110 个星标。

README

ML++

Machine learning is a vast and exiciting discipline, garnering attention from specialists of many fields. Unfortunately, for C++ programmers and enthusiasts, there appears to be a lack of support in the field of machine learning. To fill that void and give C++ a true foothold in the ML sphere, this library was written. The intent with this library is for it to act as a crossroad between low-level developers and machine learning engineers.

 ![](https://user-images.githubusercontent.com/78002988/119920911-f3338d00-bf21-11eb-89b3-c84bf7c9f4ac.gif) 

Installation

Begin by downloading the header files for the ML++ library. You can do this by cloning the repository and extracting the MLPP directory within it:

git clone https://github.com/novak-99/MLPP

Next, execute the "buildSO.sh" shell script:

sudo ./buildSO.sh

After doing so, maintain the ML++ source files in a local directory and include them in this fashion:

#include "MLPP/Stat/Stat.hpp" // Including the ML++ statistics module. 

int main(){
...
}

Finally, after you have concluded creating a project, compile it using g++:

g++ main.cpp /usr/local/lib/MLPP.so --std=c++17

Usage

Please note that ML++ uses the std::vector data type for emulating vectors, and the std::vector> data type for emulating matrices.

Begin by including the respective header file of your choice.

#include "MLPP/LinReg/LinReg.hpp"

Next, instantiate an object of the class. Don't forget to pass the input set and output set as parameters.

LinReg model(inputSet, outputSet);

Afterwards, call the optimizer that you would like to use. For iterative optimizers such as gradient descent, include the learning rate, epoch number, and whether or not to utilize the UI panel.

model.gradientDescent(0.001, 1000, 0);

Great, you are now ready to test! To test a singular testing instance, utilize the following function:

model.modelTest(testSetInstance);

This will return the model's singular prediction for that example.

To test an entire test set, use the following function:

model.modelSetTest(testSet);

The result will be the model's predictions for the entire dataset.

Contents of the Library

  1. Regression
    1. Linear Regression
    2. Logistic Regression
    3. Softmax Regression
    4. Exponential Regression
    5. Probit Regression
    6. CLogLog Regression
    7. Tanh Regression
  2. Deep, Dynamically Sized Neural Networks
    1. Possible Activation Functions

      • Linear
      • Sigmoid
      • Softmax
      • Swish
      • Mish
      • SinC
      • Softplus
      • Softsign
      • CLogLog
      • Logit
      • Gaussian CDF
      • RELU
      • GELU
      • Sign
      • Unit Step
      • Sinh
      • Cosh
      • Tanh
      • Csch
      • Sech
      • Coth
      • Arsinh
      • Arcosh
      • Artanh
      • Arcsch
      • Arsech
      • Arcoth
    2. Possible Optimization Algorithms

      • Batch Gradient Descent
      • Mini-Batch Gradient Descent
      • Stochastic Gradient Descent
      • Gradient Descent with Momentum
      • Nesterov Accelerated Gradient
      • Adagrad Optimizer
      • Adadelta Optimizer
      • Adam Optimizer
      • Adamax Optimizer
      • Nadam Optimizer
      • AMSGrad Optimizer
      • 2nd Order Newton-Raphson Optimizer*
      • Normal Equation*

      *Only available for linear regression

    3. Possible Loss Functions

      • MSE
      • RMSE
      • MAE
      • MBE
      • Log Loss
      • Cross Entropy
      • Hinge Loss
      • Wasserstein Loss
    4. Possible Regularization Methods

      • Lasso
      • Ridge
      • ElasticNet
      • Weight Clipping
    5. Possible Weight Initialization Methods

      • Uniform
      • Xavier Normal
      • Xavier Uniform
      • He Normal
      • He Uniform
      • LeCun Normal
      • LeCun Uniform
    6. Possible Learning Rate Schedulers

      • Time Based
      • Epoch Based
      • Step Based
      • Exponential
  3. Prebuilt Neural Networks
    1. Multilayer Peceptron
    2. Autoencoder
    3. Softmax Network
  4. Generative Modeling
    1. Tabular Generative Adversarial Networks
    2. Tabular Wasserstein Generative Adversarial Networks
  5. Natural Language Processing
    1. Word2Vec (Continous Bag of Words, Skip-Gram)
    2. Stemming
    3. Bag of Words
    4. TFIDF
    5. Tokenization
    6. Auxiliary Text Processing Functions
  6. Computer Vision
    1. The Convolution Operation
    2. Max, Min, Average Pooling
    3. Global Max, Min, Average Pooling
    4. Prebuilt Feature Detectors
      • Horizontal/Vertical Prewitt Filter
      • Horizontal/Vertical Sobel Filter
      • Horizontal/Vertical Scharr Filter
      • Horizontal/Vertical Roberts Filter
      • Gaussian Filter
      • Harris Corner Detector
  7. Principal Component Analysis
  8. Naive Bayes Classifiers
    1. Multinomial Naive Bayes
    2. Bernoulli Naive Bayes
    3. Gaussian Naive Bayes
  9. Support Vector Classification
    1. Primal Formulation (Hinge Loss Objective)
    2. Dual Formulation (Via Lagrangian Multipliers)
  10. K-Means
  11. k-Nearest Neighbors
  12. Outlier Finder (Using z-scores)
  13. Matrix Decompositions
    1. SVD Decomposition
    2. Cholesky Decomposition
      • Positive Definiteness Checker
    3. QR Decomposition
  14. Numerical Analysis
    1. Numerical Diffrentiation
      • Univariate Functions
      • Multivariate Functions
    2. Jacobian Vector Calculator
    3. Hessian Matrix Calculator
    4. Function approximator
      • Constant Approximation
      • Linear Approximation
      • Quadratic Approximation
      • Cubic Approximation
    5. Diffrential Equations Solvers
      • Euler's Method
      • Growth Method
  15. Mathematical Transforms
    1. Discrete Cosine Transform
  16. Linear Algebra Module
  17. Statistics Module
  18. Data Processing Module
    1. Setting and Printing Datasets
    2. Available Datasets
      1. Wisconsin Breast Cancer Dataset
        • Binary
        • SVM
      2. MNIST Dataset
        • Train
        • Test
      3. Iris Flower Dataset
      4. Wine Dataset
      5. California Housing Dataset
      6. Fires and Crime Dataset (Chicago)
    3. Feature Scaling
    4. Mean Normalization
    5. One Hot Representation
    6. Reverse One Hot Representation
    7. Supported Color Space Conversions
      • RGB to Grayscale
      • RGB to HSV
      • RGB to YCbCr
      • RGB to XYZ
      • XYZ to RGB
  19. Utilities
    1. TP, FP, TN, FN function
    2. Precision
    3. Recall
    4. Accuracy
    5. F1 score

What's in the Works?

ML++, like most frameworks, is dynamic, and constantly changing. This is especially important in the world of ML, as new algorithms and techniques are being developed day by day. Here are a couple of things currently being developed for ML++:

- Convolutional Neural Networks 




- Kernels for SVMs 




- Support Vector Regression

Citations

Various different materials helped me along the way of creating ML++, and I would like to give credit to several of them here. This article by TutorialsPoint was a big help when trying to implement the determinant of a matrix, and this article by GeeksForGeeks was very helpful when trying to take the adjoint and inverse of a matrix.

排名相邻
同类项目