This repository contains a collection of assignments and projects I completed as part of my ECE176 course at UC San Diego(UCSD). Each project explores different aspects of computer vision, including image processing, photometric stereo, object detection, and deep learning.
Project Description
This project focuses on implementing and enhancing the Vision Transformer (ViT) model for image classification, with specific improvements in patch size optimization, transformer architecture, and regularization techniques. We evaluated the enhanced model on CIFAR-10 and STL-10 datasets, achieving significant accuracy gains while addressing overfitting challenges.
This project involved implementing KNN, then training and evaluating the model as well as visualizing the result.
I implemented linear regression and logistic regression, then training and evaluating the model as well as visualizing the result.
This assignment involves implementing key neural network layers—linear, ReLU, softmax, and cross-entropy loss—then running and completing the neural_network.ipynb notebook, while also reviewing and understanding the provided sequential.py, trainer.py, and optimizer.py utilities to gain a deeper understanding of the model structure and prepare for transitioning to deep learning frameworks like PyTorch.
This assignment required to train and test a neural network model on the CIFAR-10 dataset, review and understand the provided implementations of key components including linear layers, ReLU activation, softmax function, and cross-entropy loss, as well as the sequential.py, trainer.py, and optimizer.py utilities, to gain insight into how these elements interact within the model.
This assignment covers learning PyTorch through three levels of abstraction—working with raw Tensors, using the nn.Module and nn.Sequential APIs, implementing ResNet10, and tackling an open-ended challenge to achieve high accuracy on the CIFAR-100 dataset.
In this assignment, I worked on implementing and training FCN-32s and FCN-8s models for semantic segmentation, both from scratch and using pretrained parameters,