Posts

Damn couldn't believe I got in again.

I was glued to reddit and the website the whole time for 4 hours. The results came out later than UTC 18:00 and didn't get the mail until four hours beyond the scheduled time.  None of my friends got in, so was kinda anticipating a rejection too, but to my surprise I got in. I am really excited to go through this journey again. It would be amazing. 

Proposal Sent! The Waiting Game Begins...

 Drafted, revised, got feedback (mentally, from myself mostly haha), polished, and finally hit submit on the proposal! It feels pretty comprehensive, outlined the pipeline modules, the timeline, potential hurdles... Pouring all that learning from the courses and the tests into it felt good. Now... we wait. Fingers, toes, everything crossed! Whatever happens, learned a ton already.

Proposal Mode: Activated

 Okay, tests done, now the real writing begins. The proposal. Need to show I understand LSST, DeepLense, the project goals, AND have a solid plan. Drafting sections on objectives, methodology, the timeline... This is where the deep dive into the LSST pipeline docs and the project description really matters. 

Tests Submitted!

 Phew! That was a rush. Spent the last couple of days tuning the models, generating plots (ROC curves!), writing up the notebooks for Task 1 and Task 2. Calculating metrics, explaining the strategy... it's a mini-project in itself. Uploaded everything to GitHub, sent the email with the links, CV, weights. Fingers crossed the results look okay! Glad I got the ML/DL courses done beforehand.

Task 2: Lens Finding

 Finished up Test I (mostly). Now onto Specific Test II - Lens Finding. Downloaded the data... wow, way more non-lenses than lenses. This class imbalance is serious! Accuracy won't mean much here. Need to focus on ROC AUC and maybe precision/recall for the lens class. Sticking with ConvNeXt V2 but need to add class weighting to the loss function. This feels more like a real-world astro problem.

ConvNeXt V2 Seems to Work! (Task 1)

 After some experimentation, fine-tuning ConvNeXt V2 Tiny seems to be the way to go for Test I. Setting up the custom dataset loader, handling the 1-channel to 3-channel conversion, applying ImageNet normalization... It's training! Watching the validation AUC climb is oddly satisfying. Need to calculate the ROC/AUC properly for the report.

Test Time! Task 1

 Okay, time to tackle the GSoC tests. Downloaded the "Common Test I" dataset. Three classes: no substructure, sphere, vortex. Looks like a classic image classification problem. The Deep Learning courses are paying off! Decided to go with PyTorch and try fine-tuning a pre-trained model. Maybe a ResNet? Or something newer... ConvNeXt V2 looks promising. Let the coding commence!

The LSST Butler

 Finally making some progress interacting with a mock LSST repository using the Butler. butler.get('calexp', ...) It works! Retrieving calibrated exposures, checking metadata... It's complex, abstracting away the file system, but I can see how powerful it is for managing petabytes of data. Still feels a bit like black magic though.

CNNs - Seeing the Light (or Lens?)

Reached the Convolutional Neural Networks (CNNs) course in the Deep Learning Specialization. YES! This feels directly relevant. Processing images... detecting features... This is exactly what lens finding and classification models do. Suddenly the DeepLense project tasks make a lot more sense. Getting excited about actually applying this. 

Deep Dive into Deep Learning (Literally)

While wrestling with the LSST setup, also started Andrew Ng's Deep Learning Specialization. Course 1: Neural Networks and Deep Learning. Feels like a good refresher and goes deeper than the ML one. Vectorization, activation functions... Good stuff. Need this foundation solid if I'm going to build a pipeline for deep learning models. 

Environment Setup Shenanigans

 Alright, time to get the LSST stack running locally. Following the lsstinstall guide... dependencies... conda conflicts... Docker maybe? Spent a good chunk of the day just getting the basic LSST commands to run without throwing errors. Small victory, but a victory nonetheless! One step at a time.

Understanding LSST & DeepLense

 Trying to wrap my head around this project. LSST Science Pipelines, the Butler API... it's a whole ecosystem. And DeepLense – classifying dark matter substructure? Super-resolution? Feeling a mix of "this is awesome" and "where do I even start?". Time to hit the docs. Hard.

Projects are LIVE! DeepLense & LSST

Okay, GSoC orgs and projects announced! Scrolled through... ML4Sci... DeepLense... "Data Processing Pipeline for the LSST". Huh. Rubin Observatory, massive data, deep learning for lens finding... This sounds intense. And exactly the kind of astro+coding challenge I was looking for. Reading the description.. 

Neural Nets & TensorFlow – Entering the Matrix?

Moved onto the next part of the ML Specialization – Advanced Algorithms. Neural Networks! And TensorFlow! This feels like the real deep stuff. Multi-class classification...My laptop is getting a workout just running the examples.  

Supervised Learning... Supervised Me!

Making decent progress on the ML course. Linear Regression, Logistic Regression... check! It's clicking. Starting to imagine how this could apply to sorting astronomical data. Still feels very general, but useful nonetheless. 

Back to School!

Decided if I'm serious about GSoC '25, especially in the ML/Astro space, I need to brush up hard. Diving into Andrew Ng's Machine Learning Specialization on Coursera. Regression, classification... feels like building foundational bricks. Gotta get these concepts down pat before the projects even drop. 

GSoC again?

 I am thinking of applying to GSoC again, it was such an amazing learning experience last time that I feel there is still lot more to learn.