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"
}