A convolution is a basic block for any architecture, hence, implementing it without any for loops is essential for saving a significant amount of computational time.
This repository contains an implementation of the 1D, 2D, 3D convolutions using simple NumPy operations.
The functions can be found in the conv_operations.ipynb. The explanatory prints added to the functions will help to easier interpret the steps.