Skip to content

DREI-8/Onion

Repository files navigation

Onion

A small Pytorch-like Python library for deep learning, written in C++, with CUDA support.

Features

Here are the library features that are implemented:

  • Creation of tensors from numpy arrays
  • Basic operations on tensors (addition, multiplication, etc.)
  • Basic neural network layers (Linear, ReLU)
  • Workable Adam optimizer
  • Autograd system for automatic differentiation (for most features)
  • Support for GPU acceleration (CUDA) (for most features)

Here are the other features of the project:

  • Compilation of the library using CMake, Make and Wheel
  • Complete testing of the library using Unittest
  • Automatic tests using Github Actions (only CPU features)

What's missing ?

  • No automatic differentiation for max, min, mean, transpose and reshape operations.
  • No GPU support for scalar operations (addition, multiplication, etc.), division between tensors, square root and reshape.

Future plans

  • Fill in the missing features
  • Add more neural networks layers (Convolution, Sigmoid, etc.)
  • Add more optimizers (SGD, etc.)
  • Add Loss functions (MSE, CrossEntropy, etc.)
  • Add more tests
  • Add examples to understand how the library works
  • Add documentation
  • Deploy the library on PyPI using cibuildwheel

❤️Special thanks

About

The Onion Project -- A small Pytorch-like library for deep learning

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •