[mlpack] Ideas for Google Summer of Code 2015

Ryan Curtin ryan at ratml.org
Tue Feb 24 13:56:52 EST 2015


On Fri, Feb 13, 2015 at 10:22:51PM +0530, Rishabh Rawat wrote:
> Hi everyone,
> I am Rishabh Rawat, 3rd Year undergraduate, Electrical Engineering,
> studying at IIT Bombay. I have done a course in machine learning and have
> been following mlpack since some time.
> I have tested the sample programs and was now looking forward to implement
> these universal bindings as my GSOC project. It would be a great help if
> you could give me a few pointers on how to begin.
> 
> Another thing is, the tutorials on the website encompass a very few of the
> classes and utilities of mlpack, and I am not familiar with all of the
> algorithms incorporated. Do we have some database of expected inputs and
> outputs so i can test the working of them while trying these bindings.

Hi Rishabh,

I just realized I did not respond to this email.  Sorry about that.

One place to start is to look at the open issues on Github:

https://github.com/mlpack/mlpack/issues

The issues are labeled with difficulty, so you may be able to find some
which are suited to your level of experience with mlpack.

For the automatic bindings project, take a look at the mailing list
archives (you may have to search them) for more information about that
project.  It's been an open project for two years and as a result it's
been discussed a lot, but we have not yet had a student do it.

https://mailman.cc.gatech.edu/pipermail/mlpack/

It would also be useful to look through the code in
src/mlpack/methods/*/*_main.cpp; all of the executables tend to have the
same structure:

 1. Load input parameters.
 2. Run algorithm.
 3. Save output parameters.

The idea of the automatic bindings project is to create a system that,
given definitions of input and output parameters and a C++ function to
call for step (2), can generate a binding for different languages.  So
for instance, if some method ("some_method") takes an input dataset as a
parameter and provides a double as a result, the MATLAB function may
look like this:

[result] = some_method(input_dataset);

The Python function would look very similar:

result = some_method(input_dataset);

The trick will be in automating the generation of input parameter
loading and output parameter saving.

Thanks,

Ryan

-- 
Ryan Curtin    | "Reprogram him!"
ryan at ratml.org |   - Master Control Program



More information about the mlpack mailing list