On Tue, Mar 10, 2020 at 03:06:03PM -0300, Emanuel Lima wrote: > Hello! My name is Emanuel Lima and I am an undergraduate student from the > University of São Paulo (USP), in Brazil. I am very interested in the GSoC > project "mlpack on RPi and other resource-constrained devices". Apart from > deploying models to Raspberry Pis and old computers (as the description > states), I would very much like to work on top of Labrador. That is an open > hardware Single Board Computer totally developed at my university, with the > help of people like John Maddog Hall: > https://caninosloucos.org/en/labrador-en/ > I have one of these boards available because I am the cofounder of the > Physics Institute Hackerspace at USP, and we received two of them to study. > We also have some old Raspberries and Arduinos. > I think this would be an amazing opportunity for the brazilian ML and IoT > communities. > I have some experience on C++, Python, Linux and compilers (LLVM in > particular). > > I hope this makes sense and that I would be a good fit for the project. If > so, what would be the next steps?
Hey Emanuel, Thanks for getting in touch and sorry for the slightly slow response. Labrador seems very cool; it seems like making mlpack work on the Labrador might not be very difficult since the Labrador seems to be basically a fully functional ARM system with 2GB of RAM. Honestly that might even compile mlpack successfully as-is on the device. :) However, I don't mean that making Labrador work with mlpack is a bad idea for a GSoC project. I think that it could be a really compelling part of a project, and it would be a nice advertisement for both Labrador and mlpack. I think that it could be used as a launching point for smaller devices like the Raspberry Pis and Arduinos that you mentioned. I think that for a student to be effective on this project they'd need to have a good background with Linux systems and using compilers, and C++ knowledge would also be necessary. Especially knowledge about linking and how compiled programs work would be useful, since getting mlpack programs to run on really small devices will probably mean stripping every unnecessary function out of a compiled program or library. If you do put together a proposal, note that my project description is pretty ambiguous and leaves a lot of room. So you are welcome to drive it in a different direction. Some additional thoughts: * I really would like to get mlpack running on that 386, and we could make a pretty cool Youtube video out of it. So hopefully a proposal might touch on making this work too, or at least setting up the groundwork for it. :) * "Edge computing" is a really hot topic for machine learning right now. A lot of papers at the SysML conference this year and various ICML and NeurIPS workshops are concerned with machine learning on 'edge' devices. There are even efforts like EdgeML: https://github.com/microsoft/EdgeML and Arm NN: https://github.com/ARM-software/armnn If you were interested, it might be worth thinking about how we could bring something new to the table with mlpack, and we might be able to then turn that into a conference or workshop publication. In your case it may even be possible to collaborate with the Labrador team to find some cool thing that could be done. Anyway, I hope that this helps. Please let me know if I can clarify anything. If you're looking to get involved in contributing to mlpack (probably a good idea to get familiar with it), take a look at https://mlpack.org/involved.html and https://mlpack.org/gsoc.html . Thanks! Ryan -- Ryan Curtin | "Long live the new flesh." [email protected] | - Max _______________________________________________ mlpack mailing list [email protected] http://knife.lugatgt.org/cgi-bin/mailman/listinfo/mlpack
