Skip to content

curto2/mckernel

master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
lg
 
 
 
 
 
 
 
 
 
 
 
 

McKernel

McKernel: A Library for Approximate Kernel Expansions in Log-linear Time.

In order to reproduce the code, please enter the folder lg, sdd+ or standard and follow the instructions on the README. For compilation it is only necessary to invoke make (and therefore run the makefile) on the given example folder and then run the executable. For an example on how to run the experiments, see the capsule on Code Ocean (doi.org/10.24433/CO.3851581.v1) where MNIST and FASHION-MNIST have already been loaded and a main script to compile and test all examples is given; output of the compilation can be seen on the folder results.


Abstract

The library explores the applicability of the Hadamard as an input modulator for problems of classification. It introduces a framework in C++ to use kernel approximates in the mini-batch setting with Stochastic Gradient Descent. The algorithm requires to compute the product of matrices Walsh Hadamard. A free-standing cache friendly Fast Walsh Hadamard that achieves compelling speed is provided, as well as a lightweight efficient CPU implementation of the method for research and practical purposes alike.


Dependencies

McKernel is written entirely in C++ with no additional prerequisites than a minimal setup on Ubuntu, which is ideal for developing applications on devices that require little memory footprint and minimal codebase such as embedded systems or unmanned aerial vehicles.


Citation

J. de Curtò, I. de Zarzà, Hong Yan and Carlos T. Calafate. On the applicability of the Hadamard as an input modulator for problems of classification. Software Impacts. 2022.


Change Log

Version 2.2, released on 06/06/2019.

Version 2.1, released on 04/06/2019.

Version 2.0, released on 26/03/2019.

Version 1.1, released on 24/01/2019.

Version 1.0, released on 12/05/2018.


File Information

  • Standard (mckernel/standard).
    • Library McKernel.
  • Standard+ (mckernel/sdd+).
    • Library McKernel. Pseudo-random numbers generated with functions of hashing. Suitable for distributed applications. Recommended.
  • Learning (mckernel/lg).
    • DL framework to reproduce experiments in the paper.

Documentation (automatically generated with Doxygen)

  • McKernel (documentation/mckernel/html/index.html).
  • lg (documentation/lg/html/index.html).

Acknowledgements

The authors are with the Research Group on Unmanned Aerial Vehicles at Universitat Politècnica de València, the Department of Electrical Engineering at City University of Hong Kong and with the Centre for Intelligent Multidimensional Data Analysis, a private research center at City University of Hong Kong.

This work is supported by HK Innovation and Technology Commission (InnoHK Project CIMDA) and HK Research Grants Council (Project CityU 11204821).


Contact

Code is mantained by J. de Curtò (decurto@doctor.upv.es) and I. de Zarzà (dezarza@doctor.upv.es); doctoral students in Computer Science at the aforementioned institution.

About

McKernel: A Library for Approximate Kernel Expansions in Log-linear Time.

Resources

License

Stars

Watchers

Forks

Packages

No packages published