Project details for A Pattern Recognizer In Lua with ANNs

Logo A Pattern Recognizer In Lua with ANNs v0.4.1

by pakozm - December 3, 2015, 15:01:36 CET [ Project Homepage BibTeX Download ]

view (2 today), download ( 0 today ), 0 subscriptions

Description:

APRIL-ANN toolkit (A Pattern Recognizer In Lua with Artificial Neural Networks). This toolkit incorporates ANN algorithms (as dropout, stacked denoising auto-encoders, convolutional neural networks), with other pattern recognition methods as hidden markov models (HMMs) among others. Additionally, in experimental stage, it is possible to perform automatic differentiation, for advanced machine learning research.

Changes to previous version:
  • Updated home repository link to follow april-org github organization.
  • Improved serialize/deserialize functions, reimplemented all the serialization procedure.
  • Added exceptions support to LuaPkg and APRIL-ANN, allowing to capture C++ errors into Lua code.
  • Added set class.
  • Added series class.
  • Added data_frame class, similar to Python Pandas DataFrame.
  • Serialization and deserilization have been updated with more robust and reusable API, implemented in util.serialize() and util.deserialize() functions.
  • Added matrix.ext.broadcast utility (similar to broadcast in numpy).
  • Added ProbablisitcMatrixANNComponent, which allow to implement probabilistic mixtures of posteriors and/or likelihoods.
  • Added batch normalization ANN component.
  • Allowing matrix.join to add new axis.
  • Added methods prod(), cumsum() and cumprod() at matrix classes.
  • Added methods count_eq() and count_neq() at matrix classes.
  • Serializable objects API have been augmented with methods ctor_name() and
    ctor_params() in Lua, refered to luaCtorName() and luaCtorParams() in C++.
  • Added cast.to to dynamic cast C++ objects pushed into Lua, allowing to convert base class objects into any of its derived classes.
  • Added matrix.sparse as valid values for targets in ann.loss.mse and
    ann.loss.cross_entropy.
  • Changed matrix metamethods __index and __newindex, allowing to use
    matrix objects with standard Lua operator[].
  • Added matrix.masked_fill and matrix.masked_copy matrix.
  • Added matrix.indexed_fill and matrix.indexed_copy matrix.
  • Added ann.components.probabilistic_matrix, and its corresponding specializations ann.components.left_probabilistic_matrix and
    ann.components.right_probabilistic_matrix.
  • Added operator[] in the right side of matrix operations.
  • Added ann.components.transpose.
  • Added max_gradients_norm in traianble.supervised_trainer, to avoid gradients exploding.
  • Added ann.components.actf.sparse_logistic a logistic activation function with sparsity penalty.
  • Simplified math.add, math.sub, ... and other math extensions for reductions, their original behavior can be emulated by using bind function.
  • Added bind function to freeze any positional argument of any Lua function.
  • Function stats.boot uses multiple_unpack to allow a table of sizes and the generation of multiple index matrices.
  • Added multiple_unpack Lua function.
  • Added __tostring metamethod to numeric memory blocks in Lua.
  • Added dataset.token.sparse_matrix, a dataset which allow to traverse by rows a sparse matrix instance.
  • Added matrix.sparse.builders.dok, a builder which uses the Dictionary-of-Keys format to construct a sparse matrix from scratch.
  • Added method data to numeric matrix classes.
  • Added methods values, indices, first_index to sparse matrix class.
  • Fixed bugs when reading bad formed CSV files.
  • Fixed bugs at statistical distributions.
  • FloatRGB bug solved on equal (+=, -=, ...) operators. This bug affected ImageRGB operations such as resize.
  • Solved problems when chaining methods in Lua, some objects end to be garbage collected.
  • Improved support of strings in auto-completion (rlcompleter package).
  • Solved bug at SparseMatrix<T> when reading it from a file.
  • Solved bug in Image<T>::rotate90_cw methods.
  • Solved bug in SparseMatrix::toDense() method.

C/C++

  • Better LuaTable accessors, using [] operator.
  • Implementation of matrix __index, __newindex and __call metamethods in C++.
  • Implementation of matProd(), matCumSum() and matCumProd() functions.
  • Implementation of matCountEq() and matCountNeq() functions for
    Matrix<T>.
  • Updated matrix_ext_operations.h to change API of matrix operations. All functions have been overloaded to accept an in-place operation and another version which receives a destination matrix.
  • Adding iterators to language models.
  • Added MatrixScalarMap2 which receives as input2 a SparaseMatrix instance. This functions needs to be generalized to work with CPU and CUDA.
  • The method SparseMatrix<T>::fromDenseMatrix() uses a DOKBuilder object to build the sparse matrix.
  • The conversion of a Matrix<T> into a SparseMatrix<T> has been changed from a constructor overload to the static method
    SparseMatrix<T>::fromDenseMatrix().
  • Added support for IPyLua.
  • Optimized matrix access for confusion matrix.
  • Minor changes in class.lua.
  • Improved binding to avoid multiple object copies when pushing C++ objects.
  • Added Git commit hash and compilation time.
BibTeX Entry: Download
Supported Operating Systems: Linux, Mac Os X
Data Formats: Ascii, Binary, Matlab, Tab Separated, Png, Pnm
Tags: Deep Learning, Machine Learning, Ann, Hmms, Viterbi
Archive: download here

Other available revisons

Version Changelog Date
v0.4.1
  • Updated home repository link to follow april-org github organization.
  • Improved serialize/deserialize functions, reimplemented all the serialization procedure.
  • Added exceptions support to LuaPkg and APRIL-ANN, allowing to capture C++ errors into Lua code.
  • Added set class.
  • Added series class.
  • Added data_frame class, similar to Python Pandas DataFrame.
  • Serialization and deserilization have been updated with more robust and reusable API, implemented in util.serialize() and util.deserialize() functions.
  • Added matrix.ext.broadcast utility (similar to broadcast in numpy).
  • Added ProbablisitcMatrixANNComponent, which allow to implement probabilistic mixtures of posteriors and/or likelihoods.
  • Added batch normalization ANN component.
  • Allowing matrix.join to add new axis.
  • Added methods prod(), cumsum() and cumprod() at matrix classes.
  • Added methods count_eq() and count_neq() at matrix classes.
  • Serializable objects API have been augmented with methods ctor_name() and
    ctor_params() in Lua, refered to luaCtorName() and luaCtorParams() in C++.
  • Added cast.to to dynamic cast C++ objects pushed into Lua, allowing to convert base class objects into any of its derived classes.
  • Added matrix.sparse as valid values for targets in ann.loss.mse and
    ann.loss.cross_entropy.
  • Changed matrix metamethods __index and __newindex, allowing to use
    matrix objects with standard Lua operator[].
  • Added matrix.masked_fill and matrix.masked_copy matrix.
  • Added matrix.indexed_fill and matrix.indexed_copy matrix.
  • Added ann.components.probabilistic_matrix, and its corresponding specializations ann.components.left_probabilistic_matrix and
    ann.components.right_probabilistic_matrix.
  • Added operator[] in the right side of matrix operations.
  • Added ann.components.transpose.
  • Added max_gradients_norm in traianble.supervised_trainer, to avoid gradients exploding.
  • Added ann.components.actf.sparse_logistic a logistic activation function with sparsity penalty.
  • Simplified math.add, math.sub, ... and other math extensions for reductions, their original behavior can be emulated by using bind function.
  • Added bind function to freeze any positional argument of any Lua function.
  • Function stats.boot uses multiple_unpack to allow a table of sizes and the generation of multiple index matrices.
  • Added multiple_unpack Lua function.
  • Added __tostring metamethod to numeric memory blocks in Lua.
  • Added dataset.token.sparse_matrix, a dataset which allow to traverse by rows a sparse matrix instance.
  • Added matrix.sparse.builders.dok, a builder which uses the Dictionary-of-Keys format to construct a sparse matrix from scratch.
  • Added method data to numeric matrix classes.
  • Added methods values, indices, first_index to sparse matrix class.
  • Fixed bugs when reading bad formed CSV files.
  • Fixed bugs at statistical distributions.
  • FloatRGB bug solved on equal (+=, -=, ...) operators. This bug affected ImageRGB operations such as resize.
  • Solved problems when chaining methods in Lua, some objects end to be garbage collected.
  • Improved support of strings in auto-completion (rlcompleter package).
  • Solved bug at SparseMatrix<T> when reading it from a file.
  • Solved bug in Image<T>::rotate90_cw methods.
  • Solved bug in SparseMatrix::toDense() method.

C/C++

  • Better LuaTable accessors, using [] operator.
  • Implementation of matrix __index, __newindex and __call metamethods in C++.
  • Implementation of matProd(), matCumSum() and matCumProd() functions.
  • Implementation of matCountEq() and matCountNeq() functions for
    Matrix<T>.
  • Updated matrix_ext_operations.h to change API of matrix operations. All functions have been overloaded to accept an in-place operation and another version which receives a destination matrix.
  • Adding iterators to language models.
  • Added MatrixScalarMap2 which receives as input2 a SparaseMatrix instance. This functions needs to be generalized to work with CPU and CUDA.
  • The method SparseMatrix<T>::fromDenseMatrix() uses a DOKBuilder object to build the sparse matrix.
  • The conversion of a Matrix<T> into a SparseMatrix<T> has been changed from a constructor overload to the static method
    SparseMatrix<T>::fromDenseMatrix().
  • Added support for IPyLua.
  • Optimized matrix access for confusion matrix.
  • Minor changes in class.lua.
  • Improved binding to avoid multiple object copies when pushing C++ objects.
  • Added Git commit hash and compilation time.
December 3, 2015, 15:01:36
v0.3.1
  • Removed bugs.
  • Added Travis CI support.
  • KNN and clustering algorithms.
  • ZCA and PCA whitening.
  • Quickprop and ASGD optimization algorithms.
  • QLearning trainer.
  • Sparse float matrices are available in CSC an CSR formats.
  • Compilation with Homebrew and MacPorts available.
  • Compilation issues in Ubuntu 12.04 solved.
May 30, 2014, 10:49:10
v0.3.1-alpha

Added automatic differentiation package. Removed some bugs and memory leaks. Better decouplong between ANN modules, optimizer objects and loss functions. Addition of Conjugate Gradient, Rprop and Quickprop algorithms.

January 9, 2014, 22:09:03
v0.3.0-beta

Initial Announcement on mloss.org.

October 28, 2013, 22:20:13

Comments

No one has posted any comments yet. Perhaps you'd like to be the first?

Leave a comment

You must be logged in to post comments.