GithubHelp home page GithubHelp logo

agvaughan / cr-sparse Goto Github PK

View Code? Open in Web Editor NEW

This project forked from carnotresearch/cr-sparse

0.0 0.0 0.0 59.67 MB

Functional models and algorithms for sparse signal processing

Home Page: https://cr-sparse.readthedocs.io/en/latest

License: Apache License 2.0

Shell 0.01% Python 41.53% TeX 0.85% Jupyter Notebook 57.61%

cr-sparse's Introduction

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.

For theoretical background, please check online notes at Topics in Signal Processing and references therein (still under development).

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.

  • The latest code in the library has been tested against JAX 0.3.14.
  • The last released version of CR-Sparse (0.2.2) was tested against JAX 0.1.55 and later JAX 0.1.x versions.

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. Alternatively, you can check out the community supported Windows build for JAX available from https://github.com/cloudhan/jax-windows-builder. This seems to work well and all the unit tests in the library have passed on Windows also.

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 |

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.