Skip to content

Kubilaypayci/comp411

Repository files navigation

Comp411 HW1

This assignment is adapted from Stanford Course CS231n. Starter code containing Colab notebooks is included in this directory.

Setup

Please familiarize yourself with the recommended workflow by watching the Colab walkthrough tutorial below: CS231N Google Colab Assignment Workflow Tutorial

Note: Ensure you are periodically saving your notebook (File -> Save) so that you don’t lose your progress if you step away from the assignment and the Colab VM disconnects.

Once you have completed all Colab notebooks except collect_submission.ipynb, proceed to the submission instructions.

Goals

In this assignment you will practice putting together a simple image classification pipeline, based on the k-Nearest Neighbor classifier, the Softmax classifier and a simple Neural Network classifier. The goals of this assignment are as follows:

  • understand the basic Image Classification pipeline and the data-driven approach (train/predict stages)
  • understand the train/val/test splits and the use of validation data for hyperparameter tuning.
  • develop proficiency in writing efficient vectorized code with numpy
  • implement and apply a k-Nearest Neighbor (kNN) classifier
  • implement and apply a Softmax classifier
  • implement and apply a Four layer neural network classifier
  • implement and apply a generic neural network classifier
  • understand the differences and tradeoffs between these classifiers
  • get a basic understanding of performance improvements from using higher-level representations than raw pixels (e.g. color histograms, Histogram of Gradient (HOG) features)

Grading

Q1: k-Nearest Neighbor classifier (25 points) -- Please follow the Jupyter Notebook, "knn.ipynb" to complete this part of the assignment

Q2: Implement a Softmax classifier (20 points) -- Please follow the Jupyter Notebook, "softmax.ipynb" to complete this part of the assignment

Q3: Four-Layer Neural Network (20 points) -- Please follow the Jupyter Notebook, "four_layer_net.ipynb" to complete this part of the assignment

Q4: Higher Level Representations: Image Features (10 points) -- Please follow the Jupyter Notebook, "features.ipynb" to complete this part of the assignment

Q5: Training a fully connected network (25) -- The notebook FullyConnectedNets.ipynb will walk you through implementing the fully connected network.

Submission

Important: Please make sure that the submitted notebooks have been run and the cell outputs are visible.

Once you have completed all notebooks and filled out the necessary code, you need to follow the below instructions to submit your work:

  1. Open collect_submission.ipynb in Colab and execute the notebook cells.

    This notebook/script will:

    -- Generate a zip file of your code (.py and .ipynb) called a1_code_submission.zip.

    -- Convert all notebooks into a single PDF file.

    If your submission for this step was successful, you should see the following display message:

    Done! Please submit a1_code_submission.zip and a1_inline_submission.pdf to LearnHub.

    --

  2. Submit the PDF and the zip file to LearnHub.

    Remember to download a1_code_submission.zip and a1_inline_submission.pdf locally before submitting to LearnHub.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors