3 releases

0.1.5-alpha.0 Mar 25, 2023
0.1.4-alpha.0 Mar 3, 2023
0.1.3-alpha.0 Mar 1, 2023

#539 in Machine learning

Download history 40/week @ 2023-06-13 76/week @ 2023-06-20 31/week @ 2023-06-27 51/week @ 2023-07-04 27/week @ 2023-07-11 53/week @ 2023-07-18 55/week @ 2023-07-25 20/week @ 2023-08-01 42/week @ 2023-08-08 39/week @ 2023-08-15 19/week @ 2023-08-22 21/week @ 2023-08-29 41/week @ 2023-09-05 32/week @ 2023-09-12 23/week @ 2023-09-19 27/week @ 2023-09-26

132 downloads per month
Used in 10 crates (8 directly)




Crate for implementing mathematical operators for Digital Signal Processing and Machine Learning computations. This crate defines a convolutional operator for image and signal processing that performs a 2D convolution on images or signals with 2D filters. The crate provides the mathematical analysis and implementation details to perform convolution operation with stride, padding, and dilation on tensors. The crate includes algorithms to calculate the output size and pre-compute the memory layout for tensor storage.

Note: This crate is currently being translated from C++ to Rust, and some function bodies may still be in the process of translation.

The crate includes implementations for the following operations:

  • Convolutional operator
  • Transposed convolutional operator
  • Convolutional transpose unpool operator
  • Convolutional transpose mobile operator

The crate provides a range of data structures to represent convolutional neural networks, including tensors, indices, and pairs. It also includes a cache for storing and retrieving algorithms for convolutional operations, and a range of functions for copying, shuffling, and manipulating tensors.

The crate provides support for a range of algorithms for convolutional operations, including correlation, convolutions, and tensor cores. It also provides support for tensor cores to speed up convolutions on Nvidia GPUs.

The crate includes a range of utility functions for memory management, debugging, and performance analysis, including logging performance statistics, calculating memory requirements, and checking compatibility with other libraries.

Overall, this crate provides a comprehensive set of tools for performing convolutional operations in DSP and ML applications, with a focus on performance, ease of use, and mathematical correctness.


~374K SLoC