/MayNeuralNetwork

A convolutional neural network for image recorgnition

Apache License 2.0Apache-2.0

MayNeuralNetwork

CUDA Convolutional Neural Network (CNN) in C++

Version Code Size License Commits

This is an implementation of a Convolutional Neural Network (CNN) in C++ using the CUDA programming model. The implementation is optimized for GPUs and can achieve high performance on large datasets.

Table of Contents

Installation

To build and run the project, you will need to have the following dependencies installed:

  • CUDA toolkit (version 11.1 or higher)
  • C++ compiler (supporting C++17 standard)

To build the project, simply run the following commands:

sh
$ mkdir build
$ cd build
$ cmake ..
$ make

This will generate the executable file cnn in the build directory. Usage

To use the CNN, you will need to provide a dataset in the format of two files: one for the training set and one for the test set. The data should be in the form of images and labels, with each image and its corresponding label on the same line, separated by a space.

To train the CNN, run the following command:

sh

$ ./cnn train <training_set_file> <test_set_file

This will generate the executable file cnn in the build directory.

Usage

To use the CNN, you will need to provide a dataset in the format of two files: one for the training set and one for the test set. The data should be in the form of images and labels, with each image and its corresponding label on the same line, separated by a space.

To train the CNN, run the following command:

$ ./cnn train <training_set_file> <test_set_file>

bash

To test the CNN, run the following command:

$ ./cnn test <test_set_file>

csharp

Model Architecture

The model architecture consists of multiple convolutional and pooling layers, as well as fully connected layers at the end. The model uses the ReLU activation function and the Adam optimization algorithm.

Architecture Diagram

The following diagram shows the architecture of the model:

Architecture Diagram

Results

The trained model achieves an accuracy of 99.2% on the test dataset. Some examples of model predictions are shown below:

Examples of Predictions

Metrics

Metric Value
Accuracy 99.2%
Loss Function 0.0234

Performance

The performance of the CNN can be measured using the following metrics:

  • Accuracy
  • Precision
  • Recall
  • F1 score

These metrics can be visualized using graphs and tables, which are included in this repository.

Contributing

Contributions to this project are welcome! If you find a bug or have an idea for a new feature, please open an issue or submit a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Und hier ist der Code für diese README.md-Datei:

markdown