neural-api  by joaopauloschuler

Pascal-based deep learning API for AVX/OpenCL-capable devices

created 5 years ago
398 stars

Top 73.7% on sourcepulse

GitHubView on GitHub
Project Summary

CAI NEURAL API is a Pascal-based deep learning framework designed for high performance on CPUs with AVX/AVX2/AVX512 instruction sets and OpenCL-compatible GPUs. It targets developers seeking a native, fast, and readable deep learning solution, offering a comprehensive set of layers and training utilities.

How It Works

The API utilizes Pascal for its implementation, emphasizing native code compilation for speed and maintainability. It features a flexible TNNet class for defining neural network architectures by adding various layer types, including convolutional, fully connected, pooling, and activation layers. Data is handled via TNNetVolume, a multi-dimensional array structure optimized for SIMD operations and OpenCL acceleration. Training is managed through TNeuralFit and TNeuralImageFit classes, supporting both in-memory and on-the-fly data loading.

Quick Start & Requirements

  • Installation: Clone the repository and add the neural folder to your Lazarus unit search path.
  • Prerequisites: Lazarus development environment, OpenCL drivers (if using GPU acceleration). Datasets like CIFAR-10, MNIST, etc., are used in examples.
  • Documentation: README

Highlighted Details

  • Optimized for AVX, AVX2, and AVX512 instruction sets for CPU performance.
  • Supports OpenCL for GPU acceleration across AMD, Intel, and NVIDIA devices.
  • Comprehensive layer support, including advanced options like grouped convolutions, separable convolutions, and various normalization techniques.
  • Includes utilities for data augmentation, parallel processing (TNeuralThreadList), and NLP tasks (tokenizers, transformers).
  • Can be compiled and used with Delphi from version 2.0.0.

Maintenance & Community

The project is primarily maintained by Joaopauloschuler. Community interaction channels are not explicitly listed in the README.

Licensing & Compatibility

The project does not explicitly state a license in the README. Compatibility for commercial use or closed-source linking is not specified.

Limitations & Caveats

The README mentions that some parts are "work in progress" and that accepting pull requests might be difficult. The lack of an explicit license could be a concern for commercial adoption.

Health Check
Last commit

2 months ago

Responsiveness

1 day

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

Explore Similar Projects

Feedback? Help us improve.