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.
- Clone the repository,
$ git clone https://github.com/RArbore/rml.git
- Navigate into the workspace,
$ cd rml
- Install (requires root privileges to place
librml.so
inside/usr/lib
andrml.h
inside/usr/include
),# make install
To use rml in your C program…
- Include
rml.h
,#include <rml.h>
- Compile with rml,
$ gcc ... -lrml ...