Skip to content

RArbore/rml

Repository files navigation

rml

rml is a simple C library for machine learning.

  • Tensors (initialization, destruction, basic operations)
    • DONE Initialization, management, building block operations
    • PERPETUAL IN-PROGRESS More complex operations on tensors
  • Nice file I/O
    • DONE CSV
    • DONE BIN
    • DONE HEX
    • TODO a .rml format (denser tensor serialization)
    • TODO serialize models
  • Computational graph generation of conducted operations
    • DONE Dynamic graph generation
    • DONE Graph management
  • OpenCL support
    • DONE Minimal working CL example
    • DONE Framework for constructing tensor operations using OpenCL kernels
    • DONE CL implementations of core operations
  • Backprop gradients over generated graph
    • DONE Core operation jacobian calculations
    • DONE Chain rule jacobians together for full gradients
  • Gradient descent optimization
    • DONE Single gradient step
    • DONE Batching

rml is free / libre software licensed under the LGPL v3.0. rml can be easily installed on most Linux distributions.

  1. Clone the repository,

    $ git clone https://github.com/RArbore/rml.git

  2. Navigate into the workspace,

    $ cd rml

  3. Install (requires root privileges to place librml.so inside /usr/lib and rml.h inside /usr/include),

    # make install

To use rml in your C program…

  1. Include rml.h, #include <rml.h>
  2. Compile with rml,

    $ gcc ... -lrml ...

About

A basic machine learning library in pure C.

Resources

License

LGPL-3.0, GPL-3.0 licenses found

Licenses found

LGPL-3.0
COPYING.LESSER
GPL-3.0
COPYING

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published