It is an educational repository with a purpose to understand how base layers (such as linear, maxpool, conv2d) work.
- Full Connected Layer (Linear)
- Dropout Layer
- Convolutional 2d Layer
- Flatten Layer
- ReLU Layer
- MaxPool2d Layer
- SGD
- Cross Entropy Loss
- BCEWithLogitsLoss
To start working with code, please download all required dependencies:
pip install -r requirements.txt
For educational purpose I made a Simple Solution to regognize MNIST digits.
All layers are covered by tests. In all tests I compare results from my layers and torch implementation. And with the same input data, same parameters of a layers they should give the same results.
To run tests, call this command in a terminal:
python -m unittest discover -v -s ./tests/core -p "*_test.py"