All Projects â†’ MichaelJWelsh â†’ Yannl

MichaelJWelsh / Yannl

Licence: mit
Yet another neural network library

Projects that are alternatives of or similar to Yannl

Cranium
🤖 A portable, header-only, artificial neural network library written in C99
Stars: ✭ 501 (+1254.05%)
Mutual labels:  matrix, classification, artificial-neural-networks, blas, portable, regression
Neuroflow
Artificial Neural Networks for Scala
Stars: ✭ 105 (+183.78%)
Mutual labels:  classification, artificial-neural-networks, regression
100daysofmlcode
My journey to learn and grow in the domain of Machine Learning and Artificial Intelligence by performing the #100DaysofMLCode Challenge.
Stars: ✭ 146 (+294.59%)
Mutual labels:  classification, artificial-neural-networks, regression
Tensorflow Resources
Curated Tensorflow code resources to help you get started with Deep Learning.
Stars: ✭ 330 (+791.89%)
Mutual labels:  classification, artificial-neural-networks, regression
Java Deep Learning Cookbook
Code for Java Deep Learning Cookbook
Stars: ✭ 156 (+321.62%)
Mutual labels:  classification, artificial-neural-networks, regression
wymlp
tiny fast portable real-time deep neural network for regression and classification within 50 LOC.
Stars: ✭ 36 (-2.7%)
Mutual labels:  portable, regression, classification
The Deep Learning With Keras Workshop
An Interactive Approach to Understanding Deep Learning with Keras
Stars: ✭ 34 (-8.11%)
Mutual labels:  classification, artificial-neural-networks, regression
Mlr3
mlr3: Machine Learning in R - next generation
Stars: ✭ 463 (+1151.35%)
Mutual labels:  classification, regression
Tensorflow Book
Accompanying source code for Machine Learning with TensorFlow. Refer to the book for step-by-step explanations.
Stars: ✭ 4,448 (+11921.62%)
Mutual labels:  classification, regression
Libxsmm
Library for specialized dense and sparse matrix operations, and deep learning primitives.
Stars: ✭ 518 (+1300%)
Mutual labels:  matrix, blas
Smile
Statistical Machine Intelligence & Learning Engine
Stars: ✭ 5,412 (+14527.03%)
Mutual labels:  classification, regression
Tensorflow Tutorial
Tensorflow tutorial from basic to hard, 莫烦Python 中文AI教学
Stars: ✭ 4,122 (+11040.54%)
Mutual labels:  classification, regression
Lazypredict
Lazy Predict help build a lot of basic models without much code and helps understand which models works better without any parameter tuning
Stars: ✭ 401 (+983.78%)
Mutual labels:  classification, regression
Ejml
A fast and easy to use linear algebra library written in Java for dense, sparse, real, and complex matrices.
Stars: ✭ 378 (+921.62%)
Mutual labels:  matrix, blas
Php Ml Examples
Examples use case of PHP-ML library.
Stars: ✭ 526 (+1321.62%)
Mutual labels:  classification, regression
Vectorious
Linear algebra in TypeScript.
Stars: ✭ 616 (+1564.86%)
Mutual labels:  matrix, blas
Armadillo Code
Armadillo: fast C++ library for linear algebra & scientific computing - http://arma.sourceforge.net
Stars: ✭ 388 (+948.65%)
Mutual labels:  matrix, blas
Alphapy
Automated Machine Learning [AutoML] with Python, scikit-learn, Keras, XGBoost, LightGBM, and CatBoost
Stars: ✭ 564 (+1424.32%)
Mutual labels:  classification, regression
Bayesian Neural Networks
Pytorch implementations of Bayes By Backprop, MC Dropout, SGLD, the Local Reparametrization Trick, KF-Laplace, SG-HMC and more
Stars: ✭ 900 (+2332.43%)
Mutual labels:  classification, regression
Fmatvec
A fast vector/matrix library
Stars: ✭ 5 (-86.49%)
Mutual labels:  matrix, blas

Yannl

Yannl is a compact, portable, feed-forward artificial neural network library written in C++11. Yannl has no dependencies but can be easily optimized for matrix multiplication via callbacks (see integrating BLAS example for details).

Features

  • Gradient Descent Algorithms
    • batch
    • mini-batch
    • stochastic
  • Activation Functions
    • sigmoid
    • relu
    • tanh
    • softmax
    • linear
  • Learning Rate Annealing
  • L2 Regularization
  • Momentum
  • Fan-In Weight Initialization
  • Serializability

Installation & Usage

To install, run following command from terminal :

sudo make

Use LIB_PATH and INCLUDE_PATH to install Yannl in a specific directory. By default, Yannl is installed at /usr/local/lib and header files are stored at /usr/local/include.

Include Yannl in your source via:

#include <yannl.hpp>

At compilation, use -lyannl flag. i.e.

g++ foo.cpp -lyannl -std=c++11

Example

Use the Makefile in the examples folder to run each example. Below is the realistic_classification example.

The neural network in this example is trained with a very large artificially generated training set. The goal is for it to be able to tell whether the sum of two numbers is positive or negative. The input is two floating-point numbers, and the output is either {1, 0} (positive), or {0, 1} (negative). After training, it is given seven sets of numbers and outputs a matrix classifying the sum of each set of numbers. In this case, the accuracy is 100%. Finally, the user can input their own data and see whether or not the neural network correctly classifies the sum.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].