In this project, we perform monkey species classification using convolutional neural networks (CNNs). We use the 10 Monkey Species Dataset. I have used my digit recognition CNN as a base for the custom CNN. It has been updated to include 2 more 2D convolutional layers making it a 4 convolutional layer network. The base network for transfer learning is VGG16. The VGG model has been appended with 2 fully-connected layers and a dropout layer. Apart from that, the last 5 layers of the VGG model were made trainable to get better generalization.
- Python 3.8
- Pandas 1.0.4
- Keras 2.4.3
- Tensorflow 2.4.0
Stick to these versions of dependencies, especially Keras and Tensorflow, if you want to directly use the scripts.
- Switch to PyTorch
- Run the custom 4-layer network and transfer learning network using Python.
- Note if you do not have GPU properly setup with Tensorflow, the network would take hours to train. With GPU, training would take around 20 minutes.
- Open terminal, head to the project directory, and run the following python scripts:
cd <project directory/Code>
python my_cnn.py
python transfer_learning.py
- Note that you might have to use your alias for Python-3