Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DOC: Blogpost_KD_Week0 #37

Merged
merged 1 commit into from
May 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion posts/2023/2023_05_29_Shilpi_Week_0_1.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ About Myself
Hey there! I'm Shilpi, a Computer Science and Engineering undergrad at Dayananda Sagar College of Engineering, Bangalore. I'm on track to grab my degree in 2024.
My relationship with Python started just before I started college - got my hands dirty with this awesome Python Specialization course on Coursera.
When it comes to what makes me tick, it's all things tech. I mean, new technology always excites me. Ubuntu, with its fancy terminal and all, used to intimidate me at first, but now, I get a thrill out of using it to do even the simplest things.
Up until 2nd year I used to do competitive programming and a bit of ML. But from 3rd year I've been into ML very seriously, doing several courses on ML as well solving ML problems on kaggle. ML is very fun and I've done a few project on ML as well.
Up until 2nd year I used to do competitive programming and a bit of ML. But from 3rd year I've been into ML very seriously, doing several courses on ML as well solving ML problems on Kaggle. ML is very fun and I've done a few project on ML as well.
Coding? Absolutely love it. It's like, this is what I was meant to do, y'know? I got introduced to git and GitHub in my first year - was super curious about how the whole version control thing worked. And then, I stumbled upon the world of open source in my second year and made my first contribution to Tardis: (`<https://github.com/tardis-sn/tardis/pull/1825>`_)
Initially, I intended on doing GSoC during my second year but ended up stepping back for reasons. This time, though, I was fired up to send in a proposal to at least one organization in GSoC. And, well, here we are!

Expand Down
2 changes: 1 addition & 1 deletion posts/2023/2023_05_29_vara_week1.rst
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Learning models helped me quickly learn Tensorflow. As the next step, I read VQ-
understood the tensorflow open source implementation. VQ-VAE addresses 'posterior collapse'
seen in traditional VAEs and overcomes it by discretizing latent space. This in turn also
improved the generative capability by producing less blurrier images than before.
Familiarizing about VQ-VAE early on helps in understading the latents used in Diffusion models
Familiarizing about VQ-VAE early on helps in understanding the latents used in Diffusion models
in later steps. I also explored a potential dataset - `IXI (T1 images) <https://brain-development.org/ixi-dataset/>`_
- and performed some exploratory data analysis, such as age & sex distribution. The images contain
entire skull information, it may require brain extraction & registration. It maybe more useful
Expand Down
2 changes: 1 addition & 1 deletion posts/2023/2023_08_21_vara_week_12_13.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Using existing training parameters, carried out two experiments, one on CC359 al
:alt: Combined trainings plots for all experiments
:width: 800

Inference results on the best performing model, B12-both, is shown below, where every two rows correspond to reconstructions & original volumes respectively, with equally spaced slices in each row. These slices visualised are anterior-posterior topdown & ventral-dorsal LR.
Inference results on the best performing model, B12-both, is shown below, where every two rows correspond to reconstructions & original volumes respectively, with equally spaced slices in each row. These slices visualized are anterior-posterior topdown & ventral-dorsal LR.

.. image:: /_static/images/vqvae-monai-B12-both.png
:alt: VQVAE-Monai-B12-both reconstructions & originals showing equally spaced 5 slices for 2 different test samples
Expand Down
66 changes: 66 additions & 0 deletions posts/2024/2024_05_27_kaustav_week0.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
My Journey Begins: Community Bonding Period with DIPY
=====================================================

.. post:: May 27 2024
:author: Kaustav
:tags: google
:category: gsoc

Hello everyone,
I am thrilled to share that I have been selected as a Google Summer of Code (GSoC) student for 2024.
Over the summer, I will be working with DIPY, and I am incredibly excited about the journey ahead.

Community Bonding Period: Building the Foundation
--------------------------------------------------

The GSoC program is structured in a way that allows us to gradually ease into our projects. The first phase, known as the Community Bonding period, is crucial for laying a strong foundation for the work that lies ahead. During this time, I had the opportunity to:

1. **Get Acquainted with the Community**: I joined various communication channels like mailing lists, chat rooms, and forums. Interacting with the mentors and other community members helped me understand the culture and workflow of the organization.

2. **Understand the Project Scope**: I spent time understanding the broader goals of my project, the expected outcomes, and the milestones I need to achieve. This involved several discussions with my mentor, Serge, who provided invaluable guidance and insights.

3. **Set Up the Development Environment**: Getting the right tools and environment set up is critical for any development work. I followed the documentation to set up my development environment, ensuring I had all the necessary dependencies and tools installed.

Project-Task 1: Enhancing Keyword-Only Arguments with Decorators
----------------------------------------------------------------

The focus of my 1st task is to implement the keyword-only arguments in DIPY. Specifically, I am working on enhancing this feature with the help of decorators.

What are Keyword-Only Arguments?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

In many programming languages, keyword-only arguments are parameters that can only be supplied using their name, not as positional arguments. This helps in making the code more readable and reduces the chances of errors.

The Role of Decorators
~~~~~~~~~~~~~~~~~~~~~~

Decorators are a powerful feature in Python that allows us to modify the behavior of functions or classes. By leveraging decorators, we can enforce the use of keyword-only arguments in a clean and efficient manner.

Progress So Far
---------------

During the Community Bonding period, I have made significant strides in understanding the current implementation and identifying areas for improvement. Here’s a brief overview of what I have accomplished:

1. **Research and Analysis**: I reviewed the existing codebase to understand how keyword-only arguments are currently handled. This involved reading through the documentation and studying the source code.

2. **Week 0**: With the guidance of my mentor, I implemented a decorator that enforces keyword-only arguments. I have submitted a PR for review on this. The PR includes the decorator feature and relevant tests, it is also implemented for functions in stats module.

3. **Pull Request**: [https://github.com/dipy/dipy/pull/3239]

What’s Next?
------------

As we transition from the Community Bonding period to the Coding phase, I am eager to dive deeper into the project. My next steps for this task include:

- **Writing Tests**: To ensure the reliability of the new feature, I will write more tests and integrate them into the existing test suite.
- **Documentation**: Good documentation is key to the success of any project. I will update the documentation to reflect the new changes and provide examples of how to use the new feature.
- **Fixing style**: I will fix the code styling format with accordance to PEP8.

Final Thoughts
--------------

The Community Bonding period has been an enriching experience, allowing me to connect with my mentors and the community. I am grateful for the support and guidance I have received so far and am looking forward to contributing to DIPY over the summer.

Stay tuned for more updates as I continue this exciting journey!

Thank you for reading!
Loading