Skip to content

AQA A-level Computer Science NEA - An investigation into how Artificial Neural Networks work and their applications in Image Recognition.

License

Notifications You must be signed in to change notification settings

mcttn22/school-project

Repository files navigation

tests python

A-level Computer Science NEA Programming Project

This project is an investigation into how Artificial Neural Networks (ANNs) work and their applications in Image Recognition, by documenting all theory behind the project and developing applications of the theory, that allow for experimentation via a GUI. The ANNs are created without the use of any 3rd party Machine Learning Libraries and I currently have been able to achieve a prediction accuracy of 99.6% on the MNIST dataset. The report for this project is also included in this repository.

Installation

  1. Download the Repository with:

    • git clone https://github.com/mcttn22/school-project.git
      
    • Or by downloading as a ZIP file

  1. Create a virtual environment (venv) with:

    • Windows:
      python -m venv {venv name}
      
    • Linux:
      python3 -m venv {venv name}
      
  2. Enter the venv with:

    • Windows:
      .\{venv name}\Scripts\activate
      
    • Linux:
      source ./{venv name}/bin/activate
      
  3. Enter the project directory with:

    cd school-project/
    
  4. For normal use, install the dependencies and the project to the venv with:

    • Windows:
      python setup.py install
      
    • Linux:
      python3 setup.py install
      

Note: In order to use an Nvidia GPU for training the networks, the latest Nvdia drivers must be installed and the CUDA Toolkit must be installed from here.

Usage

Run with:

  • Windows:
    python school_project
    
  • Linux:
    python3 school_project
    

Development

Install the dependencies and the project to the venv in developing mode with:

  • Windows:
    python setup.py develop
    
  • Linux:
    python3 setup.py develop
    

Run Tests with:

  • Windows:
    python -m unittest discover .\school_project\test\
    
  • Linux:
    python3 -m unittest discover ./school_project/test/
    

Use Docker with:

  • Build the Docker Image with:
    sudo docker build -t mcttn22/school-project ./
    
  • Run the Docker Image with:
    sudo apt-get install x11-xserver-utils
    xhost +
    sudo docker run -v /tmp/.X11-unix:/tmp/.X11-unix -e DISPLAY=unix$DISPLAY mcttn22/school-project
    

Compile Project Report PDF with:

make all

Note: This requires the Latexmk, pdflatek and Pygments libraries

About

AQA A-level Computer Science NEA - An investigation into how Artificial Neural Networks work and their applications in Image Recognition.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published