$30
Overview
• Image classification is a core and fundamental task in computer vision.
• In the assignment, you will implement a multi-class image classifier to recognize flowers.
• You will design and train a deep convolutional network from scratch to predict the class label of a flower image. This will help you gain experience with network design and get more familiar with PyTorch.
• Please note that you’re not allowed to use a pre-trained model.
Flower Dataset
• The dataset is collected by Alexander Mamaev.
• It contains 4,317 images in 5 classes, with about 800 images per class.
daisy dandelion rose sunflower tulip
• The train/val/test splits are provided.
• Your model will be evaluated on the test set using the accuracy metric.
Your task
• We have code skeleton for you guys.
• https://colab.research.google.com/drive/1HabXPDoXGGG1buql2gk3ye_9uKfw6zCv
• Design a convolutional neural network to recognize the flowers. You must train your model from scratch.
• The images provided are of different resolutions. You’ll need to resize the images into a fixed size of your own choice.
• To get a high accuracy, you’ll need to experiment with different filter sizes, different number of layers, and other design principles discussed in class to figure out a network architecture that works best.
• You’ll also need to try data augmentation, dropout, batch normalization as well as different optimizers and other tricks to boost performance.
• Again, you cannot use any pre-trained model in this part.
Things you cannot do
• You cannot submit results predicted by others.
• You cannot copy trained models from others.
• You cannot copy code from others, internet, GitHub …
• You cannot collect more images to train your model in order to boost performance.
• You cannot use the weights of pre-trained model.
Any violation will result in 0 scores!