cat-dog-asm-cnn

(β˜… 178)

A Convolutional Neural Network implemented entirely from scratch in x86-64 assembly using AVX-512, performing cat vs dog image classification without any ML frameworks or libraries.

  • .gitignore
  • _start.asm
  • activation_functions.asm
  • backward.asm
  • buffer.asm
  • build.sh
  • convolution.asm
  • debug_buffer.asm
  • debug_tools.asm
  • dense.asm
  • Dockerfile
  • dot_product.asm
  • forward.asm
  • LICENSE
  • loader.asm
  • loss.asm
  • macros.inc
  • matrix_ops.asm
  • maxpool.asm
  • padding.asm
  • parameters.asm
  • print.asm
  • README.md
  • update_weights.asm

# Installation Guide

1. Get the code
git clone https://github.com/mohammad-ghaderi/cat-dog-asm-cnn

Downloads the entire project code from GitHub to your computer.

cd cat-dog-asm-cnn

Moves into the project folder you just downloaded.

2. Docker

Easy Recommended
Prerequisites
  • Git Needed to download the project code from GitHub.
  • Docker Desktop Needed to build and run containers. Install it and keep it running in the background.
docker build -t nasm-assembly .

Builds a runnable image based on the Dockerfile.

docker run \

Runs the built image as an actual container.

docker exec -it <container_id_or_name> bash

Type this command into your terminal and run it.

β€’ Runtime: Docker

Type this command into your terminal and run it.

βœ… Run docker compose ps to check the containers are Up. If the README mentions a port, open http://localhost:PORT in your browser.

Pulled directly from this repo's README.

// repository documentation