/deep_complex_networks

Implementation related to the Deep Complex Networks

Primary LanguagePythonMIT LicenseMIT

Deep Complex Networks

This repository contains code which reproduces experiments presented in the paper Deep Complex Networks.

Requirements

Install requirements for computer vision experiments with pip:

pip install numpy Theano keras kerosene

And for music experiments:

pip install scipy sklearn intervaltree resampy
pip install git+git://github.com/bartvm/mimir.git

Depending on your Python installation you might want to use anaconda or other tools.

Installation

pip install .

Experiments

Computer vision

  1. Get help:

    python scripts/run.py train --help
    
  2. Run models:

    python scripts/run.py train -w WORKDIR --model {real,complex} --sf STARTFILTER --nb NUMBEROFBLOCKSPERSTAGE
    

    Other arguments may be added as well; Refer to run.py train --help for

    • Optimizer settings
    • Dropout rate
    • Clipping
    • ...

MusicNet

  1. Download the dataset from the official page

    mkdir data/
    wget https://homes.cs.washington.edu/~thickstn/media/musicnet.npz -P data/
    
  2. Resample the dataset with

    resample.py data/musicnet.npz data/musicnet_11khz.npz 44100 11000
    
  3. Run shallow models

    train.py shallow_model --in-memory --model=shallow_convnet --local-data data/musicnet_11khz.npz
    train.py shallow_complex_model --in-memory --model=complex_shallow_convnet --complex --local-data data/musicnet_11khz.npz
    
  4. Run deep models

    train.py deep_model --in-memory --model=deep_convnet --fourier --local-data data/musicnet_11khz.npz
    train.py deep_complex_model --in-memory --model=complex_deep_convnet --fourier --complex --local-data data/musicnet_11khz.npz
    
  5. Visualize with jupyter notebook

    Run the notebook notebooks/visualize_musicnet.ipynb.

    precision-recall predicitons

Citation

Please cite our work as

@ARTICLE {,
    author  = "Chiheb Trabelsi, Olexa Bilaniuk, Ying Zhang, Dmitriy Serdyuk, Sandeep Subramanian, João Felipe Santos, Soroush Mehri, Negar Rostamzadeh, Yoshua Bengio, Christopher J Pal",
    title   = "Deep Complex Networks",
    journal = "arXiv preprint arXiv:1705.09792",
    year    = "2017"
}