[mlpack] Student looking to contribute to mlpack

Ryan Curtin ryan at ratml.org
Sat Apr 11 11:32:06 EDT 2015


On Sat, Apr 11, 2015 at 08:53:22PM +0530, Rohit Shinde wrote:
> Yes, it does work.  I had tried this earlier, but i had put the std=c++11
> at the end. So it again gave me many errors. Why does changing the order of
> options in the command remove errors?

Are you sure that you specified '-std=c++11' and not 'std=c++11'?  I
have not seen the location of the -std=c++11 affect compilation results,
but the ordering of some of the other options (linking -- -L and -l, and
include directories -- -I) can make a difference.

> Now that I have got familiar with mlpack, I would like to contribute to
> some code. I was looking at some project ideas. And I am interested in
> these two:
> https://github.com/mlpack/mlpack/wiki/SummerOfCodeIdeas#essential-deep-learning-modules
> https://github.com/mlpack/mlpack/wiki/SummerOfCodeIdeas#implement-tree-types
> 
> How could I get started in these two projects?

I can't speak much towards the deep learning project, but I'm happy to
help with the tree types project.  A lot of algorithms in mlpack use
different types of trees (or spatial indexing structures) to solve
problems; some examples are the kd-tree, the ball tree, the cover tree,
and so forth.

In general, these algorithms are written in such a way that the type of
tree is a template parameter:

template<typename TreeType>
class MachineLearningAlgorithm
{
  ...
};

and as a result, you can implement new types of trees, and if they
satisfy the correct API, you can plug them in as 'TreeType'.

Probably a good place to start is to look through the existing code in
src/mlpack/core/tree/ and understand the trees that are already there
(don't worry too much about the details of the CoverTree class: it's
insanely complex; just the general structure and API of the trees is
what matters).  Then you can pick a new type of tree and start
implementing that.  When you have something written, we can test it by
writing some unit tests and plugging it into existing mlpack methods and
seeing if they still work.

Here are some links to previous mailing list postings that may be
helpful:

https://mailman.cc.gatech.edu/pipermail/mlpack/2015-January/000545.html
https://mailman.cc.gatech.edu/pipermail/mlpack/2014-March/000273.html
https://mailman.cc.gatech.edu/pipermail/mlpack/2014-March/000273.html

You can also look through the rest of the archives...

https://mailman.cc.gatech.edu/pipermail/mlpack/2014-March/000273.html

If I can clarify anything or help out, please let me know.

Thanks!

Ryan

-- 
Ryan Curtin    | "Weeee!"
ryan at ratml.org |   - Bobby



More information about the mlpack mailing list