Google Summer of Code 2019 Projects
Students, we want you!
will be applying has been accepted as a mentoring organization for Google Summer of Code 2019.
This is our ideas page. Join the Shogun team for a summer full of code, learning, and fun. Be part of our diverse community and join efforts into keeping the project buzzing :)
We explicitly encourage female students to apply.
To get a feeling for what GSoC with Shogun is about, see our follow-up blog posts by developers and students. To get a feeling what the Shogun community is up to, check out the blog about our last year's hackathon!.
How to get started?
First step to get involved: read how to get involved. THE best way to start is to solve entrance tasks. We do not consider students who have not contributed any kind of code in the run up to GSoC. In addition to your "technical application", we have collected some tips for your written application.
The best tip for your application: rather than contacting us and asking what to do, send a patch! :)
Please do not contact Shogun developers directly, but always use the mailing list, GitHub, or StackOverflow.
See here for the list of participating mentors (and soon students).
Main focus of this year's GSoC
As in 2016, 2017, and 2018 this year's GSoC is about improving and showcasing Shogun, picking up the red lines from previous years (some exceptions allowed). One new theme will be the integration of Shogun with other open-source ML/AI/data tools.
OUR goal, apart from improving Shogun, is to recruit new long-term developers. If you can show us that you are likely to become a regular contributor for Shogun (by getting involved early, showing curiosity beyond your project, getting involved in work on releases, answering other users' questions), that will supercharge your chances getting selected and delivering a kick-ass project.
For this year's GSoC, we
- Focus on usability: We want to make Shogun easier to use for end-users, algorithm developers, and other open-source projects. This means working on user-API, documentation, error handling, default parameters, and examples. We want to make it easier for scientist developers to write new algorithms. This means working on modernizing the core framework and the internal API, but also includes adding new interfaces, and working on a plugin-based architecture. A new theme will be working on integrating Shogun with existing standards that rose during the last few years. This means working gluing APIs together. Finally, we want to continue on improving the quality of the code-base, in particular algorithms that either crash, are slow, or otherwise unreliable.
- Focus on students: We aim to have fewer students (aiming at 3-4 core projects + 1-2 application projects!) - intense mentoring, interaction between students, blogging and documenting for individual students.
- Focus on applications: Despite having had only limited success, we are still trying to push the idea of accepting projects that use Shogun to solve some real life ML problems in a self-contained project. If you have a cool idea, let us know. Due to problems in earlier years, we will however set the bars higher.
In addition to the individual projects, all students will be required to:
- adding to our example/testing system on a weekly basis, working towards the new Shogun API.
- peer-review a fellow student's work in the middle and at the end of GSoC
- work on cutting down our ever growing issue list on a weekly basis
- Write weekly blog posts
- have a good time web-socializing with the other students
What we expect
GSoC is a marathon, not a sprint, and we expect good performance over the whole project. This means that you are in daily contact with the community and that you work 40 hours per week (you are paid after all!) We have compiled a list of deliverables that every student will have to satisfy. Finally, we really would like you to stay around after GSoC.
NOTE Projects with "2018" in the link are from last year. We want to migrate all those to 2019 via creating a new page for them, copying the content over, and editing/updating the page.
- User experience project
- Efficient ML: Finding the bad guys
- Distribution: web assembly, amalgamation, packaging
- Inside the black box II
- Model selection v2.0
- Time series!
- Integrating Arrow
- Integration with frameworks for model deployments
- Shogun as a wrapper (Keras, XGBoost, Global optimization)
- Interfaces: Matlab & NodeJS
Note that projects extending Shogun have a lower priority than projects improving Shogun. If you are really keen and can show that you are the right person, we might consider (max) one project here.
Last year's projects
If you find something that excites you in last year's projects, feel free to contact us about that.