Currently Working on...

Re-implementing U-NET paper

Implementation of the 2015 paper U-Net: Convolutional Networks for Biomedical Image Segmentation using pytorch and other machine learning libraries. Currently performing a single class segmentation with plans to later adapt the model to a multi-class image segmentation task.

  • Preprocessed images and segmentation masks
  • Adapted model architecture for my specific segmentation task
  • Used dropout layers for regularization

Past Work

Convolution visualizer web app

Created a web app that allows you to apply convolutional filters to images through your web browser, works with kernels from size 2x2 to 7x7 (currently offline, can be self-hosted, refer to repo)

  • Used Flask to build a python web app that can process images
  • Implemented the image convolution algorithm from scratch
  • Enabled multiple filters to be applied to an image sequentially

Convolutional neural network from scratch (no tensorflow or pytorch, only numpy)

I implemented a convolutional neural network from scratch. I wanted to understand the process of calculating and propagating gradients of convolutional layers. Model was validated on the famous MNIST digits dataset

  • Implemented convolutional layer from first principles
  • Created an interface similar to PyTorch, layers were encapsulated as objects with some common methods for gradient calculation and forward propagation

An anonymous text messaging app. You share a link from which anyone can send you text messages using a server-generated username and password. Conversations persist but can be terminated at any point by the user. This build initially started as a joke, but was popular on buildspace's demo day!

  • Implemented serverside session management for authentication
  • Used websockets for handling chat events on client and server
  • Centralized all error handling on the backend
  • Wrote unit and integration tests to run before all deployments

First principles backpropagation implementation [video and code]

I couldn't find a resource on backpropagation that explained it to a deep enough level, so I created a video explaining backpropagation in neural networks as best I could, without any abstraction or skipping any mathematical steps. I wanted to reach such a level of depth that a viewer following along could perform each and every calculation by hand if they really wanted to.

  • Used powerpoint to animate LaTeX (this was interesting)
  • Wrote simple, readable code which followed directly from the math concepts I explained
  • Designed a model using functional programming paradigms, forgoing unnecessary complexity and abstraction

Real-time NLP text editor

Inspired from apps like grammarly, I created a web app that can interpret text and predict which sentiments are the most prominent.

  • Used a dataset of tweets to train a tensorflow model to detect sentiment in short text
  • Created a Flask webserver to process incoming requests
  • Created a web app that allows anyone to interact with the webserver and to send their own text through the model

K-Means Clustering algorithm implementation [VIDEO AND CODE]

The first machine learning model I ever made from scratch. I implemented the K-Means clustering algorithm using NumPy and validated it on some test data

  • Created a video explaining the intuition behind the algorithm
  • Implemented algorithm using a functional programming approach

Sorting algorithm visualizer

Used Pygame to visualize different sorting algorithms

  • Used an object-oriented approach to implement a pygame wrapper for bubble sort and insertion sort algorithms