Mnist Hls

Lenet for MNIST handwritten digit recognition using Vivado hls tool

AI & Machine LearningObjective-CMIT

Abstract

Mnist Hls is an open-source AI & Machine Learning project. Lenet for MNIST handwritten digit recognition using Vivado hls tool. It is built using Objective-C. The complete source code is publicly available on GitHub under the MIT License, making it a useful reference for students building an AI & Machine Learning mini project or final-year project.

1. Introduction

Lenet for MNIST handwritten digit recognition using Vivado hls tool.

2. Objective

Lenet for MNIST handwritten digit recognition using Vivado hls tool

This project demonstrates how Objective-C can be applied to a real-world AI & Machine Learning problem.

4. Technology Stack

Objective-C

5. System Requirements

General requirements for this technology stack — check the README for exact versions.

  • See the project README for exact requirements
  • Git (to clone the repository)

6. Installation & Setup

git clone https://github.com/FloyedShen/mnist_hls.git
cd mnist_hls
  1. Download MNIST dataset from MNIST and cpoy the dataset to '~/Vivado_hls/MNIST_DATA/'
  2. build hls project
  3. Generate 'tanh' table (default: ap_fixed)
  4. build vivado project
  5. Generate output product && export hardware.
  6. Open Vitis && create platform from .xsa generated by vivado.
  7. Create an application project based on the 'hello world' template.
  8. Use this file './Vitis/helloworld.c' replace the original file and add file './Vitis/mnist_data.h'.
# When you are in the project root directory
cd Vivado_hls
vivado_hls -f script.tcl
# When you are in the project root directory
cd Vivado_hls/tools
python ./tanh_table.py
# When you are in the project root directory
cd Vivado
vivado -source source/tcl

Full setup instructions are in the project README.

7. Future Enhancements

Suggested extensions you can add to make this your own project.

  • Deploy the model as a web app with Streamlit, Flask or FastAPI
  • Compare against an additional model and report the metric difference
  • Add explainability (SHAP / Grad-CAM)

8. Viva / Review Questions

Common questions examiners ask for projects in this domain.

  1. What dataset does the project use and how was it pre-processed?
  2. Which algorithm / model architecture is used and why was it chosen over alternatives?
  3. How are training and testing data split, and how is overfitting avoided?
  4. Which evaluation metrics (accuracy, precision, recall, F1) are reported and what do they mean here?
  5. How would you deploy this model for real users?

9. Source Code & License

This project is developed by FloyedShen and published on GitHub under the MIT License. Please follow the license terms and credit the original author when you use or modify this code.

Want to build this as your internship project?

Work on an AI & Machine Learning project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.

Apply for AI & Machine Learning Internship