This repo hosts our implementation of the classical SVD-based MNIST digit classifier but applied to AudioMNIST. This project has been conducted during the final project in the course Applied Mathematics at University of Applied Science Cologne.
For testing purposes we provide a small subset of AudioMNIST. It has been randomly created with dev_dataset.py
and
represents a minimal working example with 30 audio files in each digit class(300 total).
It is important to point out that the classification error on this data set is not representative.
Nonetheless, it is a useful way to test the main program without downloading the full data set.
In addition, the main program will only classify 5 test samples by default to limit computation time.
So testing will most likely stop before converging to the lowest possible error rate.
This program was created with Python 3.10.4.
- Clone this repo and
cd
into the directory. - Create a new python venv and activate it.
- Install required packages with
pip install -r requirements.txt
. - If you would like to perform a complete classification run, clone this repo and move the 'data' folder to your local repo.
- Consecutively, you can run the main program (
number_classifier.py
) for testing or grading purposes from the command line.cd
to the unzipped directory and run the commandpy -m number_classifier
. Of course, you can run the file in any Python IDE of your liking. - Additional plots can be generated by running the following prompt:
py -m util
They will be saved as pdf-files to a plots-subdirectory.