Skip to content

Commit 0b464d8

Browse files
Semyon1104allnes
andauthored
Update Readme and GoogleDocument (#175)
Co-authored-by: Nesterov Alexander <[email protected]>
1 parent 1c8cf2e commit 0b464d8

File tree

2 files changed

+34
-19
lines changed

2 files changed

+34
-19
lines changed

README.md

Lines changed: 34 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,29 @@
11
[![CI](https://github.com/embedded-dev-research/itlab_2023/actions/workflows/ci.yml/badge.svg)](https://github.com/embedded-dev-research/itlab_2023/actions/workflows/ci.yml)
22
[![codecov](https://codecov.io/gh/embedded-dev-research/itlab_2023/graph/badge.svg?token=L3OS8C4BI6)](https://codecov.io/gh/embedded-dev-research/itlab_2023)
33

4-
# itlab_2023
5-
# Name
6-
## Short description ##
7-
# **Building a Project**
4+
# AlexNet-MNIST-Inference
5+
## Short description
6+
A lightweight C++ library for performing high-performance inference on MNIST handwritten digits using a modified AlexNet architecture. Designed for efficiency and educational purposes, this project demonstrates how classic CNNs can be optimized for small-scale tasks in native environments.
7+
### Key Features:
8+
9+
* C++17 implementation for bare-metal performance
10+
11+
* Simplified AlexNet for 28×28 grayscale images
12+
13+
* Parallel computing via Intel OneTBB (Threading Building Blocks)
14+
15+
* Pre-trained model: AlexNet-model.h5 included
16+
## **Some files used to create the library**
17+
### Neural network models
18+
You need to download [Alexnet-model.h5](https://github.com/moizahmed97/Convolutional-Neural-Net-Designer/blob/master/AlexNet-model.h5) to the folder *docs*
19+
20+
## **How do I launch the inference?**
21+
* Make sure you install the project dependencies by running: *pip install -r requirements.txt*
22+
* You need to run the script *parser.py* that is located in app/AlexNet to read weights from a model *Alexnet-model.h5* and the json file with the weights will be stored in the *docs* folder.
23+
* Then put the test images in png format in the folder *docs/input*
24+
* After building the project, which is described below, run Graph_build in folder *build/bin*
25+
26+
## **Building a Project**
827
### *Windows*
928
To build and run this project locally on Windows, follow these steps:
1029

@@ -35,11 +54,11 @@ To build and run this project locally on Windows, follow these steps:
3554
6. **Run the project**
3655
After building the project, you can find the executable file in the following path from the *build* folder
3756
```bash
38-
cd app\Release
57+
cd build/bin
3958
```
4059
and run the file
4160
```bash
42-
Reader.exe
61+
Graph_Build.exe
4362
```
4463
### *Linux/macOS*
4564
To build and run this project locally on Linux or macOS, follow these steps:
@@ -86,9 +105,10 @@ To build and run this project locally on Windows, follow these steps:
86105
```
87106
and run the file
88107
```bash
89-
./Reader
108+
./Graph_Build
90109
```
91-
# Test Process
110+
111+
## Test Process
92112
This project contains tests to verify functionality.
93113
To test the project, the Google Test Framework is used as a submodule of the project.
94114
### Google Test Framework
@@ -99,7 +119,7 @@ To build and run this project locally on Windows, follow these steps:
99119

100120
To start the testing process locally, you need to go to the directory
101121
```bash
102-
cd test\Release
122+
cd build/bin
103123
```
104124
and run the following files:
105125
```bash
@@ -115,18 +135,13 @@ To start the testing process locally, you need to go to the directory
115135
chmod +x run_test
116136
./run_test
117137
```
118-
# **Some files used to create the library**
119-
### *neural network models*
120-
You need to download [Alexnet-model.h5](https://github.com/moizahmed97/Convolutional-Neural-Net-Designer/blob/master/AlexNet-model.h5) to the folder *docs*
121-
122-
# **How do I launch the inference?**
123-
* Make sure you install the project dependencies by running: *pip install -r requirements.txt*
124-
* You need to run the script *parser.py* that is located in app/AlexNet to read weights from a model *Alexnet-model.h5* and the json file with the weights will be stored in the *docs* folder.
125-
* Then put the test images in png format in the folder *docs/input*
126138

127-
# **Accuracy validation**
139+
## **Accuracy validation**
128140
To run accuracy validation you need to use the MNIST dataset, which you can download [here](https://github.com/DeepTrackAI/MNIST_dataset/tree/main/mnist/test) and put it in a folder *docs/mnist/mnist/test*
129141
Now you can run accuracy check - *build\bin\ACC_MNIST.exe*
142+
* **The accuracy should be 98.02%**
130143

131-
# **Structure of our library**
144+
## **Documentation of project**
145+
https://github.com/embedded-dev-research/itlab_2023/blob/Semyon1104/Final_documentation/docs/IT_Lab_2023.pdf
146+
## **Structure of our library**
132147
![Class diagram](./docs/class_diagram.svg)

docs/IT_Lab_2023.pdf

1.55 MB
Binary file not shown.

0 commit comments

Comments
 (0)