GithubHelp home page GithubHelp logo

kirushyk / le Goto Github PK

View Code? Open in Web Editor NEW
17.0 5.0 3.0 12.93 MB

Machine Learning Framework

License: MIT License

C 85.35% Meson 5.13% C++ 5.24% Python 0.40% Metal 0.16% Objective-C 3.26% Cuda 0.46%
machine-learning deep-learning svm linear-regression sequential-minimal-optimization gradient-descent meson c11 python sgd regression polynomial-regression mnist computer-vision

le's Introduction

Le - Machine Learning Framework.

License Platforms Interfaces

Le is Machine Learning Framework designed so that programs using it will be easy to read. Library is written in pure C but in object-oriented way. Bindings to other languages are provided so Le can be used by C++, Rust and Python programs.

Le is now under heavy development. Please come back soon.

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 CUDA.
  • Apple Metal.

Installation

Examples

Tools

License

Copyright © 2017 Kyrylo Polezhaiev. All rights reserved.

Le is released under the MIT License.

le's People

Contributors

kirushyk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

le's Issues

Add Rust Examples

We need to provide demo code for those ones who will try our framework:

  • Polynomial Regression;
  • Regularization;
  • SVM;
  • MNIST-related stuff;
  • Dense Neural Network.

Add Python Examples

We need to provide demo code for those ones who will try our framework:

  • Polynomial Regression;
  • Regularization;
  • SVM;
  • MNIST-related stuff;
  • Dense Neural Network.

Fix SGD on SNN with MNIST demo

At this moment, all gradients and weights going to NAN soon. First fixed error was stride not being taken into account when copying signal in Sequential model.

Could not compile on Ubuntu 20, could not run on MacOS :)

I fetched the project in case it can help me downsize my ML and still keep it portable. I was pleasantly surprise to see it build on MacOS after fetching bits and pieces from "brew", but the latest Ubuntu (tried both gcc9 and gcc10) gave me

/home/ubuntu/le/bin/../le/tensors/letensor.c:38: undefined reference to LE_ERROR'
`

On the Mac, I had no luck with the MNIST examples, it might be something trivial but I don't know at this stage

./mnist-snn Segmentation fault: 11

I also don't know if this is expected behavior

./polynomial-logistic-regression Train set: x = [1.000 2.000 3.000 4.000; 4.000 3.000 2.000 1.000] y = [0.000 0.000 1.000 1.000; 4.000 3.000 2.000 1.000] Assertion failed: (le_shape_equal(h->shape, y->shape)), function le_logistic_loss, file ../le/leloss.c, line 17. Iteration 0. Abort trap: 6

Improve SMO Algorithm

Now SVM is very slow on datasets with many examples.
For MNIST, we need few minutes just to pass 100 of 60000 examples.

How to use the SVM on STM32F103C8T6

Is there a way to compile the frame work to ONLY use SVM algorithm on STM32F103C8T6 board?
Any instructions to install/compile this library will be encouraged.
Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.