CubeFlix / tom

c neural network

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

tom, a neural network library

tom is a CPU-based neural network library written in C. It supports dense and convolutional layers, along with a multitude of different activations, optimizers, and loss functions. Internally, tom uses shared matrices in memory to process large amounts of double-precision floating-point data, by sharing data between layers in models. Models can also be serialized and loaded from disk. tom has been tested with the Iris (Fisher, 1936) and MNIST (Deng, L., 2012) datasets. See tests/iris_test.c and tests/mnist_test.c for more information.

Currently, tom supports the following layer types:

tom also supports the following optimizers:

Finally, tom supports the following loss functions:

Usage

tom supports CMake, and can be built using:

cmake --build .

You can use tom in your code as follows:

#include "tom.h"

int main(void) {
    struct matrix m;
    QUIT_ON_ERROR(matrix_init(&m, 5, 10));
    matrix_free(&m);

    return 0;
}

Tom also includes a number of other miscellaneous functions for dataset preprocessing and error handling.

Documentation

About

c neural network


Languages

Language:C 99.7%Language:CMake 0.3%