Project for Mathematics of Neural Networks 2MMA80, CNN for the classification task Dataset_sign_language.
DUE DATE 18th of January. The project is graded /10 with points given for:
Item | Points |
---|---|
Correctly set up the training process with split dataset, batched SGD, etc. | 2.0 |
Define and train a neural network that can classify the given images | 2.0 |
Document every step you take, others should understand what is happening from the text/comments |
3.0 |
Describe and perform an experiment of your choice, report your results and draw conclusions |
3.0 |
Choose one of these:
- Vary the width/depth
- Compare different activation functions
- Try data augmentation
- Compare different SGD variants
- Try different loss functions
- Compare different initialization schemes (such as found in torch.nn.init)
- Use the full sized color images and compare the difference with the grayscale images
- Can the network recognized rotated images?
- Analyse the evolution of the parameters during training.
To run the code we need to install the python Virtual Environment with all the dependencies.
Install venv on your machine:
sudo apt update && sudo apt upgrade
sudo install python3-venv
Then clone the repo and run the installation script:
git clone https://github.com/kativenOG/mnn_project
cd mnn_project/deps
bash installer.sh
In a new terminal just run:
mnn
python3 main.py
Or run the code through the notebook using VSCode (or any other iPython environment):
mnn
code project.ipynb
To run the project with a specific set of params, just add the file (ex: params.json) to the directory and pas it as a inline argument to the CLI version:
mnn
python3 main.py params.json
- Add initialization scheme;
- Choose one or more Extras;
- Add more metrics to the Test;
- Write the project Notebook explaining every step.