[GSoC 2026] Intro: Refactoring r.learn.ml2 for O(1) Scalability - To Vu Phuc Dang (VNU-UET-Vietnam)

Hi everyone,

I am To Vu Phuc Dang, a Computer Engineering student at VNU-UET and a Research Intern at FIMO Lab about GeospatialAI. I have submitted my proposal for the GSoC 2026 project: “Developing an Efficient Machine Learning Pipeline for Satellite Imagery in GRASS GIS” (refactoring r.learn.ml2).

My primary goal is to address memory bottlenecks when handling 40GB+ imagery by implementing a memory-mapped data bridge using PyGRASS and Dask, aiming for O(1) space complexity.

I’ve already set up my local environment and started auditing the source code. Excited to be part of the OSGeo community!

GitHub: GitHub - fucdunko23-uet-vnu/GSoC-2026-GRASS-GIS-Refactoring: Implementation of O(1) memory scalability for r.learn.ml2 using PyGRASS and Dask pipelines. · GitHub

Best regards,

To Vu Phuc Dang

Hi,

thank you for your interest, but without any prior contributions we can’t evaluate the proposal. Note this year GRASS participates under NumFOCUS.
That said, if you plan to work on this as part of your studies/work, it would be great to see your progress and perhaps people may have some feedback on it.

1 Like

Hi Anna, thank you for the clarification and immediate feedback! I completely understand the importance of prior contributions. Because of that, I’ve already set up the build environment for GRASS 8.4 and started working with the r.learn.ml2 source code. I ‘m going to submit some initial PRs and share my technical progress on this forum soon. Looking forward to your feedback and hoping to be one of the member of your GSOC this summer.

If you’re setting up a build environment, try setting it for the development version, were at 8.6. The 8.5 version is already branched out and will be released soon, but all new work is for 8.6

1 Like

Hi Edouard (@echoix), thank you for the correction! I’ve updated my build environment to the 8.6 development version as you suggested. I’m now auditing the code on this branch to ensure my proposal for O(1) memory scalability aligns with the latest development state. Hope for your feedback as soon as I finish these ones! Regards!

Hi Edouard (@echoix) and Anna,

Thank you for your precious guidance! I have just successfully switched to the 8.6 development branch and compiled GRASS GIS from source on my WSL2 environment(the image for evidence below).

Because the environment is already set up, I am moving forward with the technical audit of the r.learn.ml2 source code to pinpoint the memory bottlenecks as proposed. I will share my findings and initial PRs with the community shortly. Hope for your feedback soon! Regards!!!

1 Like