All Projects → carnotresearch → cr-sparse

carnotresearch / cr-sparse

Licence: Apache-2.0 license
Functional models and algorithms for sparse signal processing

Programming Languages

Jupyter Notebook
11667 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to cr-sparse

pycsou
Pycsou is a Python 3 package for solving linear inverse problems with state-of-the-art proximal algorithms. The software implements in a highly modular way the main building blocks -cost functionals, penalty terms and linear operators- of generic penalised convex optimisation problems.
Stars: ✭ 37 (-2.63%)
Mutual labels:  convex-optimization, linear-operators
sparse
Sparse matrix formats for linear algebra supporting scientific and machine learning applications
Stars: ✭ 136 (+257.89%)
Mutual labels:  sparse-linear-systems, sparse-representations
dm pix
PIX is an image processing library in JAX, for JAX.
Stars: ✭ 271 (+613.16%)
Mutual labels:  jax
fedpa
Federated posterior averaging implemented in JAX
Stars: ✭ 38 (+0%)
Mutual labels:  jax
portfolio allocation js
A JavaScript library to allocate and optimize financial portfolios.
Stars: ✭ 145 (+281.58%)
Mutual labels:  convex-optimization
jaxfg
Factor graphs and nonlinear optimization for JAX
Stars: ✭ 124 (+226.32%)
Mutual labels:  jax
chef-transformer
Chef Transformer 🍲 .
Stars: ✭ 29 (-23.68%)
Mutual labels:  jax
arrhythmia-ecg-analysis-ai
Arrhythmia Classification through Characteristics Extraction with Discrete Wavelet Transform & WEKA/MATLAB Supervised Training
Stars: ✭ 25 (-34.21%)
Mutual labels:  wavelets
opfunu
A collection of Benchmark functions for numerical optimization problems (https://opfunu.readthedocs.io)
Stars: ✭ 31 (-18.42%)
Mutual labels:  convex-optimization
DeSCI
Rank Minimization for Snapshot Compressive Imaging (TPAMI'19)
Stars: ✭ 61 (+60.53%)
Mutual labels:  compressive-sensing
robustness-vit
Contains code for the paper "Vision Transformers are Robust Learners" (AAAI 2022).
Stars: ✭ 78 (+105.26%)
Mutual labels:  jax
seminars-fivt
Seminars on optimization methods for DIHT MIPT
Stars: ✭ 23 (-39.47%)
Mutual labels:  convex-optimization
flexBox
FlexBox is a fexible MATLAB toolbox for finite dimensional convex variational problems in image processing and beyond.
Stars: ✭ 14 (-63.16%)
Mutual labels:  convex-optimization
ProxSDP.jl
Semidefinite programming optimization solver
Stars: ✭ 69 (+81.58%)
Mutual labels:  convex-optimization
DeepVideoCS
PyTorch deep learning framework for video compressive sensing.
Stars: ✭ 63 (+65.79%)
Mutual labels:  compressive-sensing
madam
👩 Pytorch and Jax code for the Madam optimiser.
Stars: ✭ 46 (+21.05%)
Mutual labels:  jax
Optimization
A set of lightweight header-only template functions implementing commonly-used optimization methods on Riemannian manifolds and convex spaces.
Stars: ✭ 66 (+73.68%)
Mutual labels:  convex-optimization
cvxpnpl
A Perspective-n-Points-and-Lines method.
Stars: ✭ 56 (+47.37%)
Mutual labels:  convex-optimization
analisis-numerico-computo-cientifico
Análisis numérico y cómputo científico
Stars: ✭ 42 (+10.53%)
Mutual labels:  convex-optimization
koclip
KoCLIP: Korean port of OpenAI CLIP, in Flax
Stars: ✭ 80 (+110.53%)
Mutual labels:  jax

Functional Models and Algorithms for Sparse Signal Processing

PyPI cr-sparse License DOI Documentation Status Unit Tests Coverage JOSS

Introduction

CR-Sparse is a Python library that enables efficiently solving a wide variety of sparse representation based signal processing problems. It is a cohesive collection of sub-libraries working together. Individual sub-libraries provide functionalities for: wavelets, linear operators, greedy and convex optimization based sparse recovery algorithms, subspace clustering, standard signal processing transforms, and linear algebra subroutines for solving sparse linear systems. It has been built using Google JAX, which enables the same high level Python code to get efficiently compiled on CPU, GPU and TPU architectures using XLA.

docs/images/srr_cs.png

For detailed documentation and usage, please visit online docs.

Supported Platforms

CR-Sparse can run on any platform supported by JAX. We have tested CR-Sparse on Mac and Linux platforms and Google Colaboratory.

JAX is not officially supported on Windows platforms at the moment. Although, it is possible to build it from source using Windows Subsystems for Linux.

Installation

Installation from PyPI:

python -m pip install cr-sparse

Directly from our GITHUB repository:

python -m pip install git+https://github.com/carnotresearch/cr-sparse.git

Examples/Usage

See the examples gallery in the documentation. Here is a small selection of examples:

A more extensive collection of example notebooks is available in the companion repository. Some micro-benchmarks are reported here.

Contribution Guidelines/Code of Conduct

Citing CR-Sparse

To cite this library:

@article{Kumar2021,
  doi = {10.21105/joss.03917},
  url = {https://doi.org/10.21105/joss.03917},
  year = {2021},
  publisher = {The Open Journal},
  volume = {6},
  number = {68},
  pages = {3917},
  author = {Shailesh Kumar},
  title = {CR-Sparse: Hardware accelerated functional algorithms for sparse signal processing in Python using JAX},
  journal = {Journal of Open Source Software}
}

Documentation | Code | Issues | Discussions |

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].