All Projects → alphacsc → Alphacsc

alphacsc / Alphacsc

Licence: bsd-3-clause
Convolution dictionary learning for time-series

Programming Languages

python
139335 projects - #7 most used programming language

Labels

Projects that are alternatives of or similar to Alphacsc

Spherenet
Implementation for <Deep Hyperspherical Learning> in NIPS'17.
Stars: ✭ 111 (+68.18%)
Mutual labels:  nips-2017
NIPS-Global-Paper-Implementation-Challenge
Selective Classification For Deep Neural Networks.
Stars: ✭ 11 (-83.33%)
Mutual labels:  nips-2017
Wgan Lp Tensorflow
Reproduction code for WGAN-LP
Stars: ✭ 13 (-80.3%)
Mutual labels:  nips-2017
Deep Steganography
Hiding Images within other images using Deep Learning
Stars: ✭ 136 (+106.06%)
Mutual labels:  nips-2017
pred-rnn
PredRNN: Recurrent Neural Networks for Predictive Learning using Spatiotemporal LSTMs
Stars: ✭ 115 (+74.24%)
Mutual labels:  nips-2017
large-scale-OT-mapping-TF
Tensorflow Implementation of "Large-scale Optimal Transport and Mapping Estimation"(ICLR2018/NIPS 2017 OTML)
Stars: ✭ 18 (-72.73%)
Mutual labels:  nips-2017
Run Skeleton Run
Reason8.ai PyTorch solution for NIPS RL 2017 challenge
Stars: ✭ 83 (+25.76%)
Mutual labels:  nips-2017
Learning2run
Our NIPS 2017: Learning to Run source code
Stars: ✭ 57 (-13.64%)
Mutual labels:  nips-2017
pytorch-deep-sets
PyTorch re-implementation of parts of "Deep Sets" (NIPS 2017)
Stars: ✭ 60 (-9.09%)
Mutual labels:  nips-2017
Nips2017
A list of resources for all invited talks, tutorials, workshops and presentations at NIPS 2017
Stars: ✭ 907 (+1274.24%)
Mutual labels:  nips-2017
Dynamic routing between capsules
Implementation of Dynamic Routing Between Capsules, Sara Sabour, Nicholas Frosst, Geoffrey E Hinton, NIPS 2017
Stars: ✭ 202 (+206.06%)
Mutual labels:  nips-2017
nips rl
Code for NIPS 2017 learning to run challenge
Stars: ✭ 37 (-43.94%)
Mutual labels:  nips-2017
Hardnet
Hardnet descriptor model - "Working hard to know your neighbor's margins: Local descriptor learning loss"
Stars: ✭ 350 (+430.3%)
Mutual labels:  nips-2017
Prototypical Networks Tensorflow
Tensorflow implementation of NIPS 2017 Paper "Prototypical Networks for Few-shot Learning"
Stars: ✭ 122 (+84.85%)
Mutual labels:  nips-2017
Accurate Binary Convolution Network
Binary Convolution Network for faster real-time processing in ASICs
Stars: ✭ 49 (-25.76%)
Mutual labels:  nips-2017
Half Size
Code for "Effective Dimensionality Reduction for Word Embeddings".
Stars: ✭ 89 (+34.85%)
Mutual labels:  nips-2017
deep-steg
Global NIPS Paper Implementation Challenge of "Hiding Images in Plain Sight: Deep Steganography"
Stars: ✭ 43 (-34.85%)
Mutual labels:  nips-2017
Mean Teacher
A state-of-the-art semi-supervised method for image recognition
Stars: ✭ 1,130 (+1612.12%)
Mutual labels:  nips-2017
Img2imggan
Implementation of the paper : "Toward Multimodal Image-to-Image Translation"
Stars: ✭ 49 (-25.76%)
Mutual labels:  nips-2017
Prototypical Networks
Code for the NeurIPS 2017 Paper "Prototypical Networks for Few-shot Learning"
Stars: ✭ 705 (+968.18%)
Mutual labels:  nips-2017

=================================================== alphaCSC: Convolution sparse coding for time-series

.. image:: https://api.travis-ci.org/alphacsc/alphacsc.svg?branch=master :target: https://travis-ci.org/alphacsc/alphacsc :alt: Build Status

.. image:: https://codecov.io/github/alphacsc/alphacsc/coverage.svg?precision=0 :target: https://codecov.io/gh/alphacsc/alphacsc :alt: Test coverage

This is a library to perform shift-invariant sparse dictionary learning <https://en.wikipedia.org/wiki/Sparse_dictionary_learning>_, also known as convolutional sparse coding (CSC), on time-series data. It includes a number of different models:

  1. univariate CSC
  2. multivariate CSC
  3. multivariate CSC with a rank-1 constraint [1]_
  4. univariate CSC with an alpha-stable distribution [2]_

A mathematical descriptions of these models is available in the documentation <https://alphacsc.github.io/models.html>_.

Installation

To install this package, the easiest way is using pip. It will install this package and its dependencies. The setup.py depends on numpy and cython for the installation so it is advised to install them beforehand. To install this package, please run one of the two commands:

(Latest stable version)

.. code::

pip install numpy cython
pip install alphacsc

(Development version)

.. code::

pip install numpy cython
pip install git+https://github.com/alphacsc/alphacsc.git#egg=alphacsc

If you do not have admin privileges on the computer, use the --user flag with pip. To upgrade, use the --upgrade flag provided by pip.

To check if everything worked fine, you can run:

.. code::

python -c 'import alphacsc'

and it should not give any error messages.

Quickstart

Here is an example to present briefly the API:

.. code:: python

import numpy as np
import matplotlib.pyplot as plt
from alphacsc import BatchCDL

# Define the different dimensions of the problem
n_atoms = 10
n_times_atom = 50
n_channels = 5
n_trials = 10
n_times = 1000

# Generate a random set of signals
X = np.random.randn(n_trials, n_channels, n_times)

# Learn a dictionary with batch algorithm and rank1 constraints.
cdl = BatchCDL(n_atoms, n_times_atom, rank1=True)
cdl.fit(X)

# Display the learned atoms
fig, axes = plt.subplots(n_atoms, 2, num="Dictionary")
for k in range(n_atoms):
    axes[k, 0].plot(cdl.u_hat_[k])
    axes[k, 1].plot(cdl.v_hat_[k])

axes[0, 0].set_title("Spatial map")
axes[0, 1].set_title("Temporal map")
for ax in axes.ravel():
    ax.set_xticklabels([])
    ax.set_yticklabels([])

plt.show()

Bug reports

Use the github issue tracker <https://github.com/alphacsc/alphacsc/issues>_ to report bugs.

Cite our work

If you use this code in your project, please consider citing our work:

.. [1] Dupré La Tour, T., Moreau, T., Jas, M., & Gramfort, A. (2018). Multivariate Convolutional Sparse Coding for Electromagnetic Brain Signals <https://arxiv.org/abs/1805.09654v2>_. Advances in Neural Information Processing Systems (NIPS).

.. [2] Jas, M., Dupré La Tour, T., Şimşekli, U., & Gramfort, A. (2017). Learning the Morphology of Brain Signals Using Alpha-Stable Convolutional Sparse Coding <https://papers.nips.cc/paper/6710-learning-the-morphology-of-brain-signals-using-alpha-stable-convolutional-sparse-coding.pdf>_. Advances in Neural Information Processing Systems (NIPS), pages 1099--1108.

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].