[mlpack] MLPack bindings

Kevin Avignon kevin.o.avignon at gmail.com
Tue Feb 27 17:14:50 EST 2018


Awesome, thanks for the info!

As far from the documentation, I took a quick peek at it and I think I
should managed on my own otherwise I'll send you emails to clarify stuff
that aren't clear on my end.

Concerning invoking C++ from C#, there's a straightforward approach to it I
haven't used in the past. This project will let me get more knowledge about
C# and ML and I'm loving it already.

Link 1:  https://msdn.microsoft.com/en-us/library/ms235282.aspx

Link 2:
https://www.codeproject.com/tips/695387/calling-csharp-net-methods-from-unmanaged-c-cplusp

>From what you said and what I found in C#, I think what I'll be building
will somehow look closer to what you did as a binding for the command line!
Basically, what you'd like in the end would be a library, right? A dll that
will compile the C++ project and provide the necessary wrappers so C# devs
are available to use mlpack as if it was native C#?

What should we agree on to define to determine if the project is complete?

Thanks,

Kevin

On Tue, Feb 27, 2018 at 2:21 PM Ryan Curtin <ryan at ratml.org> wrote:

> On Tue, Feb 27, 2018 at 06:17:54PM +0000, Kevin Avignon wrote:
> > Hi,
> >
> > I'm a GSOC alumni and I've been looking into the available organizations
> > this year. I've been more interested by AI & ML lately.
> >
> > In order to know more about this, I got into the AI Nanodegree (short 6
> > months program) given by Udacity. Here's a link:
> > https://www.udacity.com/course/artificial-intelligence-nanodegree--nd889
> >
> > I took a look at one of the projects your organization is proposing for
> the
> > students. What I'd like to propose is a binding to C#. At my workplace,
> I'm
> > considered as the C# Gunslinger. I love working with .NET and I've been
> > loving working with it for the past 3 years. What I'm proposing is to be
> > given the chance to work on it. And to have potentially someone to help
> me
> > out from time to time if I have questions about using bindings for
> MLpack.
> >
> > I won't be a GSOC student, I'm a full-time developer who's willing to
> work
> > on it so we can make the project available to new developers and I'd love
> > to get a crack at this thing.
>
> Hey Kevin,
>
> Thanks for getting in touch.  I think it would be really exciting to
> provide mlpack bindings to C#, but, I don't know much of anything about
> how C++ code can be called from C#.  If you are a gunslinger, maybe you
> can provide some good insight on that. :)
>
> Currently we have an automatic bindings system that basically aims to
> provide the same interface to any language that we bind to.  Right now
> the only bindings we produce are for the command-line and for Python.
> For the command line bindings, we simply compile directly to an
> executable, but for Python it's a little bit weirder.  We have to
> compile a program which, when run, produces a Cython binding .pyx file,
> and then there is some CMake magic which in turns takes all the
> generated .pyx files and compiles them into a usable Python package.
>
> When I built the system I wrote some (hopefully) comprehensive
> documentation here:
>
> http://mlpack.org/docs/mlpack-git/doxygen/bindings.html
>
> The primary advantage is that this means we don't have individually
> maintained bindings for every language, so when we update a machine
> learning algorithm it stays in sync across all languages.  This reduces
> the maintenance burden significantly.
>
> So I would imagine, for C#, we could do something roughly similar.  I
> think what we could provide through this system are a number of
> standalone functions (or similar) that the user can call that have the
> same functionality as the command-line programs or the Python bindings.
>
> Let me know what you have in mind as far as how you want to proceed and
> contribute.  I am sure we can figure something out. :)
>
> Thanks,
>
> Ryan
>
> --
> Ryan Curtin    | "Moo."
> ryan at ratml.org |   - Eugene Belford
>
-- 
Kevin Avignon (B.eng)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://knife.lugatgt.org/pipermail/mlpack/attachments/20180227/c7694cf8/attachment.html>


More information about the mlpack mailing list