NN_Test  by fengbingchun

Deep learning toolkit with C++ and Python implementations

Created 9 years ago
359 stars

Top 77.9% on SourcePulse

GitHubView on GitHub
Project Summary

This repository offers a comprehensive collection of deep learning and machine learning implementations in C++ and Python. It targets engineers and researchers seeking foundational algorithms, advanced models like YOLOv8, and mathematical utilities for AI development, providing a practical resource for learning and application.

How It Works

The project provides dual implementations: core deep learning algorithms (Perceptron, BP, CNN, etc.) and mathematical primitives are implemented in C++. A separate Python module leverages popular libraries like PyTorch, OpenCV, and ONNX Runtime for higher-level tasks such as YOLOv8 object detection, segmentation, image classification, and model optimization techniques like pruning and quantization.

Quick Start & Requirements

Installation typically involves Anaconda for environment management (conda create -n <env_name> python=<version>, conda activate <env_name>), followed by git clone and pip install -r requirements.txt. Key dependencies include OpenCV, libtorch, and onnxruntime. For advanced GPU acceleration with Ultralytics, CUDA 11.8, cuDNN v8.7.0, and TensorRT 8.5.3.1 are specified, alongside PyTorch 2.2.2. Setup complexity varies based on the chosen module and hardware requirements.

Highlighted Details

  • Extensive C++ implementations cover fundamental ML algorithms, numerous optimization techniques (Adam, RMSProp, etc.), and core linear algebra/probability functions.
  • Robust YOLOv8 support in Python includes training, prediction, and post-processing for detection, segmentation, and classification tasks, with ONNX Runtime integration.
  • Includes practical Python scripts for model lifecycle management: pruning (Torch-Pruning), knowledge distillation, and post-training quantization (PTQ).
  • Facilitates dataset conversion (MNIST, CIFAR, ORL Faces) and integrates with libraries like MediaPipe and Ollama for specific AI applications.

Maintenance & Community

No specific details regarding maintainers, community channels (Discord, Slack), or project roadmaps are provided in the README.

Licensing & Compatibility

The README does not specify a software license. Compatibility for commercial use or closed-source linking is undetermined without a license.

Limitations & Caveats

The project appears to be a curated collection of implementations rather than a unified framework, potentially leading to varied integration efforts. Specific dependencies like libtorch and CUDA versions require careful management for optimal performance. No explicit mention of testing, benchmarks, or support guarantees is present.

Health Check
Last Commit

4 days ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
1 stars in the last 30 days

Explore Similar Projects

Starred by Aravind Srinivas Aravind Srinivas(Cofounder of Perplexity), Li Jiang Li Jiang(Coauthor of AutoGen; Engineer at Microsoft), and
6 more.

numpy-ml by ddbourgin

0.1%
16k
ML algorithms implemented in NumPy
Created 6 years ago
Updated 1 year ago
Feedback? Help us improve.