Skip to content
View omidiu's full-sized avatar

Highlights

  • Pro

Block or report omidiu

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this userโ€™s behavior. Learn more about reporting abuse.

Report abuse
omidiu/README.md

Hi there ๐Ÿ‘‹, I'm Omid Saghatchian!

๐Ÿง‘โ€๐Ÿ”ฌ About Me

I am an ML Researcher and a passionate learner. Here are some highlights of my academic and professional journey:

  • ๐ŸŽ“ Current Pursuits:
    I am currently pursuing a masterโ€™s degree in Data Mining at Shahid Beheshti University with a GPA of 19.65, holding the first rank in my major.

  • ๐Ÿงฎ Educational Background:
    I hold a bachelorโ€™s degree in Mathematics and Applications from Amirkabir University of Technology.

  • ๐Ÿ’ป Professional Experience:
    I have 2.5 years of experience as a software engineer. In my last year, I worked at Yektanet, the largest and most advanced online advertising network in Iran.

  • ๐Ÿง‘โ€๐Ÿซ Teaching Experience:
    I have served as a lead teaching assistant at Amirkabir University of Technology for several courses, including:

  • ๐Ÿ”ฌ Research Involvement:
    I have been involved in various research projects, which are detailed below.

๐Ÿš€ Projects

  1. Adaptive Token Merging Strategies:
    Investigating methods to optimize token merging processes for faster and more efficient model inference. Our research builds upon the existing method described in the paper Token Merging for Fast Stable Diffusion.

  2. Driving Behavior Monitoring Framework:
    Creating a comprehensive framework for analyzing driving patterns using sensor time series data to improve driver safety and provide real-time insights. Our method is inspired by wav2vec 2.0.

  3. Mini Torch Library:
    A friend and I created a framework demonstrating how PyTorch operates behind the scenes. I plan to create a tutorial for this as well. Itโ€™s a generalized version of the existing implementation from Andrew Karpathyโ€™s project called Micrograd, but there are significant differences:

    3.1 Generalization Beyond Scalars:
    Our implementation is not limited to scalars; we have written it in a generalized form that supports scalars, vectors, matrices, and tensors. This is significant because it requires us to generalize the concept of derivatives. In this generalized context, the derivative is analogous to a linear transformation from an infinitesimal change in dx to an infinitesimal change in dy. For more detailed information, you can refer to this MIT tutorial.

    3.2 Module Class Implementation:
    We created a Module class similar to the torch.nn.Module class in PyTorch, which all neural networks should inherit. This class automatically provides capabilities such as the parameters() method, so each class does not need to implement it individually.

    3.3 Optimizer Abstraction:
    We introduced a separate Optimizer entity, similar to PyTorch, where each optimizer must implement two main methods: zero_grad() and step().

    3.4 Neural Network Components:
    We created a basic nn module to contain all the components a neural network could have. Currently, we have implemented only the Linear function.

โœ๏ธ Medium Articles

  1. Decision Tree Implementation from Scratch & Visualization
    In this article, I walk through a detailed implementation of the Decision Tree algorithm from scratch with visualization.

๐ŸŒ Connect with Me

LinkedInย  Emailย 

Pinned Loading

  1. Implement-Decision-Tree Implement-Decision-Tree Public

    This repository contains the code for the "Decision Tree Implementation From Scratch + Visualization" Medium article.

    Jupyter Notebook 1

  2. GPT-2-Fine-Tuning GPT-2-Fine-Tuning Public

    Fine-tune GPT-2 with SQuAD using distilgpt2 ๐Ÿค—. Evaluate results with perplexity. Share the trained model on Hugging Face Hub.

    Jupyter Notebook 2

  3. Minesweeper-Web Minesweeper-Web Public

    A classic Minesweeper game implemented using HTML, CSS, and JavaScript.

    JavaScript

  4. Simple-employment-application-API Simple-employment-application-API Public

    JavaScript