$25
You should complete the notebooks in order, i.e., CNN-Layers, followed by CNN-BatchNorm, followed by CNN. This is due to potential dependencies. Note however, that CNN can be completed without CNN-Layers, since we provide the fast implementation of the CNN layers to be used in question 3.
1. Implement convolutional neural network layers. Complete the CNNLayers.ipynb Jupyter notebook. Print out the entire workbook and relevant code and submit it as a pdf to gradescope. Download the CIFAR-10 dataset, as you did in earlier homework.
2. Implement spatial normalization for CNNs. Complete the CNN-BatchNorm.ipynb Jupyter notebook. Print out the entire workbook and relevant code and submit it as a pdf to gradescope.
3. Optimize your CNN for CIFAR-10. Complete the CNN.ipynb Jupyter notebook. Print out the entire workbook and relevant code and submit it as a pdf to gradescope.