COSC 522 Project 3: Back Propagation Neural Networks (BPNN) Owen Queen
The report for this project is in oqueen_proj3.pdf.
Please see the Jupyter Notebook run_project3.ipynb
in order to run the code. This file will contain any information about running code that is not in the Notebook file.
You should only follow these directions if you have cloned the directory to obtain this code.
You need to create several directories in the task2 directory. First, create a directory named pca_mnist
with child directories named knn_pca
, train
, test
, and validation
. Next, create a directory named knn_mnist
. Then you should be able to run the code.
The programs in this repository use the following Python third-party modules:
- matplotlib
- numpy
All other modules used are derived from standard libraries included with most Python installations.
- task2: contains code/files related to Task 2, mainly the bonus question
- README.md: information about the repo
- dim_reduce.py: contains functions for dimensionality reduction.
- load_XOR.py: loads in the XOR datasets
- mnist_loader.py: contains functions to load in MNIST
- mylearn.py: contains kNN and MPP code
- network_oq.py: contains all neural network code
- run_project3.ipynb: notebook to run code for the project
- util.py: Various utilities for use by a variety of files
The network_oq.py
file is a modification of a program in Michael Nielsen's "Neural Networks and Deep Learning" textbook. The code that I used was translated by Michal Daniel Dobrzanski into Python 3. The source repository can be found here.
util.py
and mylearn.py
contain code that was written by Dr. Hairong Qi at the University of Tennessee for use in this project.