Skip to content

Latest commit

 

History

History
55 lines (36 loc) · 2.09 KB

README.md

File metadata and controls

55 lines (36 loc) · 2.09 KB

Le - Machine Learning Library

License Platforms Interfaces

Le is a low-level machine learning library designed for readability and ease of use. Written in pure C, it, however, employs an object-oriented approach through GObject.

Bindings are available for other languages, allowing Le to be used in C++ and Python programs, with Rust support planned for the future.

I originally created Le as a learning project while studying Andrew Ng's Deep Learning course. At the time, I didn’t feel confident or fluent in Python, so I chose to implement everything in C to gain a deeper understanding and maintain control. Today, I use it to re-implement or experiment with models from research papers or open-source releases.

The name Le is short for "Learning". Le is currently under active development, with new features and updates on the way. Stay tuned!

At this moment following ML models are implemented:

  • Polynomial Regression.
  • Support Vector Machines (SVM).
  • Sequential Feed-forward Neural Network (Multiple Layer Perceptron, MLP).
  • k-Nearest Neighbors Algorithm (k-NN).

Optimization algorithms supported:

  • Batch Gradient Descent (BGD).
  • Stochastic Gradient Descent (SGD) with momentum.
  • Sequential Minimal Optimization (SMO).

Supported backends:

  • Nvidia's CUDA.
  • Apple's Metal Performance Shaders (MPS).

Installation

Examples

Contribution

Tools

License

Copyright © 2017-2025 Kyrylo Polezhaiev. All rights reserved.

Le is released under the MIT License.