Programming Assignment-1

Task 1 : Data Management - Line Dataset Generation : Make a dataset of (28 × 28 × 3) images of straight lines on a black background with the given variations

Task 2 : Computational Graph Usage - Gravity Simulator : Given masses and initial positions & velocities of 100 particles, you are required to find the final positions and velocities of particles when the minimum distance between any pair of particles falls below a given threshold. The only working forces are Newtonian Gravitational Forces, in a two-dimensional rectangular coordinate system.

Task 3: Layer API - A Simple Neural Network : You are required to make a simple fully connected network to classify the MNIST dataset and the dataset you made in part 1. The caveat here is that you can not use layer APIs already provided in your library of choice. You will need to code a dense layer API as exhaustive as possible using in-built operations for matrix multiplication, etc. Refer to the Tensorflow Dense Layer API, for reference.

Link to the assignment


Programming Assignment-2

Task 1 : Making a CNN model from scratch to classify the images of the line dataset into the respective 96 classes and MNIST dataset into 10 classes.

Task 2: Design a non-sequential convolutional neural network for classifying the line dataset. This network will have 4 outputs based on the 4 kind of variations (length, width, color, angle). It is required to divide the network architecture into two parts a) Feature network and b) Classification heads. The feature network will be responsible for extracting the required features from the input and attached to it would be the four classification heads one for each variation. The first 3 classification heads are for 2 class problems namely length, width and color classification. In all these the final layer contains a single neuron with a sigmoid activation followed by binary crossentropy loss. The last classification head is a 12 class problem for each 12 angles of variation. In this the final layer contains 12 neurons with softmax activation and Categorical Cross entropy loss.

Link to the assignment


Programming Assignment-3

Task 1 : Bounding box regressor for 4-slap and Palm dataset

Task 2: Masking Pupil

Task 3: Fingerprint Corepoint detection

Link to the assignment


Programming Assignment-4

Task 1 : RNNs work on sequential data. Building and training them is quite different from CNNs. Problem aimed at getting self familiar with RNNs.

Task 2: Having learnt how to make RNNs, the motive was to understand and reason about their working.

Task 3: One major field of application of RNNs is Natural Language Processing. RNNs have been exploited in tasks like Neural Translation, Sentiment Analysis and Poetry generation to name a few. The problem asks to train a RNN model to generate words after getting a seed sequence of words.

Link to the assignment