[mlpack] Proposing a possible project for GSOC 2021

Ryan Curtin ryan at ratml.org
Fri Apr 2 22:22:40 EDT 2021


On Tue, Mar 30, 2021 at 07:29:54PM +0530, Nippun Sharma wrote:
> I had some doubts that I encountered while writing my proposal:
> 1) This is related to changing the markdown binding documentations. An easy
> way to tackle this problem can be to write the documentation of the
> "_fit_main.cpp", "_predict_main.cpp" individually (similar to what has been
> done for "gmm_generate", "gmm_train"). Here, we might have to change
> certain macros such as the PRINT_CALL macro to change the code snippet
> shown in the docs. We can also group all the "_main.cpp" files related to
> the same method, so that all related files are shown together inside the
> documentation (for example, we can group
> "linear_regression_train_main.cpp", "linear_regression_predict_main.cpp"
> and call that group as "linear_regression"). This grouping might also be
> helpful elsewhere. What do you think about this?

Absolutely, that would be great.  We should definitely do that in some
way, since that grouping would also be necessary to provide, e.g.,
`train()` and `predict()` as members of a `linear_regression` class.
(Of course, the naming/capitalization/style convention of each language
is different...)

> 2) This is a big refactoring, as it would also involve changing the tests
> (and adding more tests) in "tests/main_tests" along with changing all
> "mlpack/methods" available. So, it might not be possible to complete all
> the things in the limited GSoC period. One solution that I thought was to
> implement all the required functions and create the framework during GSoC
> and change some (depending on the time left) bindings. I can then change
> the rest of the bindings post-gsoc. Do you think that this can be possible?

Indeed, it is a big refactoring.  I think you may be right that it may
not be possible to finish the refactoring in the 10 weeks.  But, a
tricky thing here is, we need to keep the tests running for the
bindings, so we can't merge any changes until the tests are updated.
Perhaps a better way to do it is to adapt a few methods at a time,
including the tests?  That way, the worst-case situation is that there
are still some methods at the end of the summer that haven't been
adapted, but the way to do it is pretty clear.

Hopefully this helps!

-- 
Ryan Curtin    | "I know... but I really liked those ones."
ryan at ratml.org |   - Vincent


More information about the mlpack mailing list