Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP][HEP3] Implement convolution for DNA sequence #16

Closed
wants to merge 95 commits into from

Commits on Jun 5, 2013

  1. basic convolution routines for sequences

    Hannes Bretschneider committed Jun 5, 2013
    Configuration menu
    Copy the full SHA
    a2fe24f View commit details
    Browse the repository at this point in the history
  2. use dynamic memory in convolve_sequence_gradient

    Hannes Bretschneider committed Jun 5, 2013
    Configuration menu
    Copy the full SHA
    a8a9d01 View commit details
    Browse the repository at this point in the history

Commits on Jun 6, 2013

  1. convolution gradient now working for all filter sizes that are multip…

    …les of 4
    Hannes Bretschneider committed Jun 6, 2013
    Configuration menu
    Copy the full SHA
    50b96ed View commit details
    Browse the repository at this point in the history

Commits on Jun 7, 2013

  1. reorder output of max pooling layer

    Hannes Bretschneider committed Jun 7, 2013
    Configuration menu
    Copy the full SHA
    4438f6e View commit details
    Browse the repository at this point in the history
  2. implemented SequenceConvolutionNet

    Hannes Bretschneider committed Jun 7, 2013
    Configuration menu
    Copy the full SHA
    43c8321 View commit details
    Browse the repository at this point in the history

Commits on Jun 8, 2013

  1. factor choice of activation function into method subclassed from Hidd…

    …enLayer
    Hannes Bretschneider committed Jun 8, 2013
    Configuration menu
    Copy the full SHA
    d3e0cfb View commit details
    Browse the repository at this point in the history
  2. implemented bias for filters, changed max pooling to use argmax

    Hannes Bretschneider committed Jun 8, 2013
    Configuration menu
    Copy the full SHA
    ec6666f View commit details
    Browse the repository at this point in the history
  3. remove compile-time constants from kernels, make more compatible with…

    … HiddenLayer
    Hannes Bretschneider committed Jun 8, 2013
    Configuration menu
    Copy the full SHA
    c5c247a View commit details
    Browse the repository at this point in the history

Commits on Jun 9, 2013

  1. adapted new interface for updating parameters

    Hannes Bretschneider committed Jun 9, 2013
    Configuration menu
    Copy the full SHA
    e9ac90e View commit details
    Browse the repository at this point in the history
  2. fixed idiotic parameter updating scheme from last night

    Hannes Bretschneider committed Jun 9, 2013
    Configuration menu
    Copy the full SHA
    5b5ac34 View commit details
    Browse the repository at this point in the history

Commits on Jun 10, 2013

  1. compatibility for double and float, gradient check

    Hannes Bretschneider committed Jun 10, 2013
    Configuration menu
    Copy the full SHA
    757899d View commit details
    Browse the repository at this point in the history

Commits on Jul 25, 2013

  1. fixed convolution gradients (debug code remains)

    Hannes Bretschneider committed Jul 25, 2013
    Configuration menu
    Copy the full SHA
    4d1aac7 View commit details
    Browse the repository at this point in the history
  2. removed debug code

    Hannes Bretschneider committed Jul 25, 2013
    Configuration menu
    Copy the full SHA
    278bf28 View commit details
    Browse the repository at this point in the history
  3. fixed tests, removed loop over filters

    Hannes Bretschneider committed Jul 25, 2013
    Configuration menu
    Copy the full SHA
    1fd1879 View commit details
    Browse the repository at this point in the history
  4. removed unnecessary conditional

    Hannes Bretschneider committed Jul 25, 2013
    Configuration menu
    Copy the full SHA
    42f6732 View commit details
    Browse the repository at this point in the history
  5. fix gradient check

    Hannes Bretschneider committed Jul 25, 2013
    Configuration menu
    Copy the full SHA
    b147bd0 View commit details
    Browse the repository at this point in the history
  6. fixed memory layout in max-pooling functions

    Hannes Bretschneider committed Jul 25, 2013
    Configuration menu
    Copy the full SHA
    4e6ab06 View commit details
    Browse the repository at this point in the history
  7. all tests pass!!!

    Hannes Bretschneider committed Jul 25, 2013
    Configuration menu
    Copy the full SHA
    da1e184 View commit details
    Browse the repository at this point in the history

Commits on Jul 26, 2013

  1. L1 and L2 weight decay

    Hannes Bretschneider committed Jul 26, 2013
    Configuration menu
    Copy the full SHA
    5915b6b View commit details
    Browse the repository at this point in the history

Commits on Jul 28, 2013

  1. add dropout

    Hannes Bretschneider committed Jul 28, 2013
    Configuration menu
    Copy the full SHA
    737dd63 View commit details
    Browse the repository at this point in the history

Commits on Jul 29, 2013

  1. Switched input encoding to using just a single byte per nucleotide

    Hannes Bretschneider committed Jul 29, 2013
    Configuration menu
    Copy the full SHA
    27c667e View commit details
    Browse the repository at this point in the history
  2. Gradients work on new bit-encoding; all tests pass

    Hannes Bretschneider committed Jul 29, 2013
    Configuration menu
    Copy the full SHA
    12596f1 View commit details
    Browse the repository at this point in the history

Commits on Jul 31, 2013

  1. convert sequences to upper case before encoding

    Hannes Bretschneider committed Jul 31, 2013
    Configuration menu
    Copy the full SHA
    94a583e View commit details
    Browse the repository at this point in the history

Commits on Aug 1, 2013

  1. modified all kernel functions to work on a subarray

    Hannes Bretschneider committed Aug 1, 2013
    Configuration menu
    Copy the full SHA
    452ebbd View commit details
    Browse the repository at this point in the history
  2. changed data layout

    Hannes Bretschneider committed Aug 1, 2013
    Configuration menu
    Copy the full SHA
    b4c6308 View commit details
    Browse the repository at this point in the history
  3. removed unused variables

    Hannes Bretschneider committed Aug 1, 2013
    Configuration menu
    Copy the full SHA
    1641a9f View commit details
    Browse the repository at this point in the history

Commits on Aug 5, 2013

  1. Implemented convolutions on separate subregions

    Hannes Bretschneider committed Aug 5, 2013
    Configuration menu
    Copy the full SHA
    8c904da View commit details
    Browse the repository at this point in the history

Commits on Aug 6, 2013

  1. got MultiSequenceConvolutionLayer working

    Hannes Bretschneider committed Aug 6, 2013
    Configuration menu
    Copy the full SHA
    1943af0 View commit details
    Browse the repository at this point in the history

Commits on Aug 13, 2013

  1. fixed some bugs in MultiSequenceConvolutionLayer

    Hannes Bretschneider committed Aug 13, 2013
    Configuration menu
    Copy the full SHA
    01fb042 View commit details
    Browse the repository at this point in the history

Commits on Aug 14, 2013

  1. Configuration menu
    Copy the full SHA
    134d24a View commit details
    Browse the repository at this point in the history

Commits on Aug 18, 2013

  1. refactored models.py into module

    Hannes Bretschneider committed Aug 18, 2013
    Configuration menu
    Copy the full SHA
    f9ab3f1 View commit details
    Browse the repository at this point in the history
  2. restrict dropout to subregion layers in MultiSequenceConvolutionLayer

    Hannes Bretschneider committed Aug 18, 2013
    Configuration menu
    Copy the full SHA
    b467463 View commit details
    Browse the repository at this point in the history

Commits on Aug 19, 2013

  1. pep8, added license, fixed tests

    Hannes Bretschneider committed Aug 19, 2013
    Configuration menu
    Copy the full SHA
    25b1612 View commit details
    Browse the repository at this point in the history
  2. more pep8

    Hannes Bretschneider committed Aug 19, 2013
    Configuration menu
    Copy the full SHA
    075838d View commit details
    Browse the repository at this point in the history

Commits on Aug 21, 2013

  1. changed nucleotide representation to ASCII codes; implemented SeqArra…

    …yDataProvider
    Hannes Bretschneider committed Aug 21, 2013
    Configuration menu
    Copy the full SHA
    ac3f0ca View commit details
    Browse the repository at this point in the history

Commits on Aug 23, 2013

  1. implemented receptive fields (still untested)

    Hannes Bretschneider committed Aug 23, 2013
    Configuration menu
    Copy the full SHA
    fe5003b View commit details
    Browse the repository at this point in the history

Commits on Aug 25, 2013

  1. debugged fully_connected_layer

    Hannes Bretschneider committed Aug 25, 2013
    Configuration menu
    Copy the full SHA
    df93898 View commit details
    Browse the repository at this point in the history

Commits on Aug 30, 2013

  1. Fully connected layer working

    Hannes Bretschneider committed Aug 30, 2013
    Configuration menu
    Copy the full SHA
    014068a View commit details
    Browse the repository at this point in the history

Commits on Sep 11, 2013

  1. enable SeqArrayDataProvider to copy data to and from GPU

    Hannes Bretschneider committed Sep 11, 2013
    Configuration menu
    Copy the full SHA
    128c533 View commit details
    Browse the repository at this point in the history

Commits on Jan 10, 2014

  1. Made compatible with recent changes in Hebel

    Hannes Bretschneider committed Jan 10, 2014
    Configuration menu
    Copy the full SHA
    5c63427 View commit details
    Browse the repository at this point in the history

Commits on Jan 22, 2014

  1. Refactored MultiSequenceConvolutionLayer

    Hannes Bretschneider committed Jan 22, 2014
    Configuration menu
    Copy the full SHA
    c0e794b View commit details
    Browse the repository at this point in the history

Commits on Jan 24, 2014

  1. Refactored convolve_sequence_gradient and gradient_reduce. Memory-ali…

    …gned first-stage reduce operation
    Hannes Bretschneider committed Jan 24, 2014
    Configuration menu
    Copy the full SHA
    eb5338c View commit details
    Browse the repository at this point in the history
  2. Slightly improve computation of convolution gradient

    Hannes Bretschneider committed Jan 24, 2014
    Configuration menu
    Copy the full SHA
    391b721 View commit details
    Browse the repository at this point in the history

Commits on Feb 4, 2014

  1. Re-enabled dropout for MultiSequenceConvolutionLayer

    Hannes Bretschneider committed Feb 4, 2014
    Configuration menu
    Copy the full SHA
    4a9b1df View commit details
    Browse the repository at this point in the history

Commits on May 12, 2014

  1. Configuration menu
    Copy the full SHA
    310ad24 View commit details
    Browse the repository at this point in the history

Commits on May 13, 2014

  1. Force pool_size to be a divisor of sequence length. Allow pool_size=N…

    …one for no pooling
    Hannes Bretschneider committed May 13, 2014
    Configuration menu
    Copy the full SHA
    2f45508 View commit details
    Browse the repository at this point in the history

Commits on May 23, 2014

  1. Refactored max-pooling; switched to unsigned long for indices

    Hannes Bretschneider committed May 23, 2014
    Configuration menu
    Copy the full SHA
    0637810 View commit details
    Browse the repository at this point in the history
  2. Modify models to use new max-pooling kernels

    Hannes Bretschneider committed May 23, 2014
    Configuration menu
    Copy the full SHA
    d535e04 View commit details
    Browse the repository at this point in the history
  3. Reverted indices to unsigned int, because unsigned long is crazy slow…

    …. Results in crashes with double input.
    Hannes Bretschneider committed May 23, 2014
    Configuration menu
    Copy the full SHA
    033f853 View commit details
    Browse the repository at this point in the history

Commits on May 27, 2014

  1. Enable trim on HDF5SeqArrayDataProvider

    Hannes Bretschneider committed May 27, 2014
    Configuration menu
    Copy the full SHA
    825f7fd View commit details
    Browse the repository at this point in the history
  2. Fix gradients with L1/L2 regularization

    Hannes Bretschneider committed May 27, 2014
    Configuration menu
    Copy the full SHA
    e992278 View commit details
    Browse the repository at this point in the history

Commits on Jun 5, 2014

  1. Started big kernel rewrite. convolve_dna_sequence_done.

    Hannes Bretschneider committed Jun 5, 2014
    Configuration menu
    Copy the full SHA
    cd8b580 View commit details
    Browse the repository at this point in the history

Commits on Jun 12, 2014

  1. Implemented new convolve_dna_sequence_gradient and gradient_reduce ke…

    …rnels.
    Hannes Bretschneider committed Jun 12, 2014
    Configuration menu
    Copy the full SHA
    b908df1 View commit details
    Browse the repository at this point in the history
  2. Use float4 type for filter_shared in convolve_dna_sequence

    Hannes Bretschneider committed Jun 12, 2014
    Configuration menu
    Copy the full SHA
    e512f3c View commit details
    Browse the repository at this point in the history
  3. Remove unnecessary typecast

    Hannes Bretschneider committed Jun 12, 2014
    Configuration menu
    Copy the full SHA
    eea48ce View commit details
    Browse the repository at this point in the history

Commits on Jun 13, 2014

  1. Configuration menu
    Copy the full SHA
    2d2edca View commit details
    Browse the repository at this point in the history
  2. Wrappers and tests for convolve_dna_sequence_gradient

    Hannes Bretschneider committed Jun 13, 2014
    Configuration menu
    Copy the full SHA
    a5cf5c9 View commit details
    Browse the repository at this point in the history

Commits on Jun 14, 2014

  1. Implemented max-pooling kernel

    Hannes Bretschneider committed Jun 14, 2014
    Configuration menu
    Copy the full SHA
    c08ed52 View commit details
    Browse the repository at this point in the history

Commits on Jun 16, 2014

  1. Docstring for max_pool kernel.

    Hannes Bretschneider committed Jun 16, 2014
    Configuration menu
    Copy the full SHA
    f2b7715 View commit details
    Browse the repository at this point in the history
  2. Typo

    Hannes Bretschneider committed Jun 16, 2014
    Configuration menu
    Copy the full SHA
    cc383e6 View commit details
    Browse the repository at this point in the history

Commits on Jun 17, 2014

  1. Implemented max_pool_gradient; use macros for basic CUDA variables.

    Hannes Bretschneider committed Jun 17, 2014
    Configuration menu
    Copy the full SHA
    c1c2d2f View commit details
    Browse the repository at this point in the history
  2. Some fixes to max_pool_gradient

    Hannes Bretschneider committed Jun 17, 2014
    Configuration menu
    Copy the full SHA
    619ba9a View commit details
    Browse the repository at this point in the history
  3. Extra assert in max_pool_gradient.

    Hannes Bretschneider committed Jun 17, 2014
    Configuration menu
    Copy the full SHA
    fedbcba View commit details
    Browse the repository at this point in the history
  4. sum_pool kernel and tests.

    Hannes Bretschneider committed Jun 17, 2014
    Configuration menu
    Copy the full SHA
    6a00053 View commit details
    Browse the repository at this point in the history
  5. Docstring for sum_pool kernel.

    Hannes Bretschneider committed Jun 17, 2014
    Configuration menu
    Copy the full SHA
    15dd279 View commit details
    Browse the repository at this point in the history
  6. Implemented sum_pool_gradient kernel and tests.

    Hannes Bretschneider committed Jun 17, 2014
    Configuration menu
    Copy the full SHA
    0581625 View commit details
    Browse the repository at this point in the history

Commits on Jun 19, 2014

  1. Implemented 1D convolution on floating point inputs.

    Hannes Bretschneider committed Jun 19, 2014
    Configuration menu
    Copy the full SHA
    e848b41 View commit details
    Browse the repository at this point in the history

Commits on Jun 20, 2014

  1. Implement option to use process only some of the input channels at on…

    …ce. This reduces shared memory requirements.
    Hannes Bretschneider committed Jun 20, 2014
    Configuration menu
    Copy the full SHA
    0727ad8 View commit details
    Browse the repository at this point in the history

Commits on Jul 17, 2014

  1. Implemented gradients of 1D convolution with respect to filters.

    Hannes Bretschneider committed Jul 17, 2014
    Configuration menu
    Copy the full SHA
    ab06d6a View commit details
    Browse the repository at this point in the history

Commits on Jul 18, 2014

  1. Don't read more input than necessary; allow block sizes that don't di…

    …vide number of filters and width.
    Hannes Bretschneider committed Jul 18, 2014
    Configuration menu
    Copy the full SHA
    19baeb7 View commit details
    Browse the repository at this point in the history
  2. Docstring for convolve_1d_grad_kernel

    Hannes Bretschneider committed Jul 18, 2014
    Configuration menu
    Copy the full SHA
    a9ac9ba View commit details
    Browse the repository at this point in the history

Commits on Jul 22, 2014

  1. Refactored some calculations into macros

    Hannes Bretschneider committed Jul 22, 2014
    Configuration menu
    Copy the full SHA
    aa70f78 View commit details
    Browse the repository at this point in the history

Commits on Jul 23, 2014

  1. Implemented 1D convolution gradient wrt to the input.

    Hannes Bretschneider committed Jul 23, 2014
    Configuration menu
    Copy the full SHA
    3c48228 View commit details
    Browse the repository at this point in the history

Commits on Jul 30, 2014

  1. Replace temp objects with device memory pool

    Hannes Bretschneider committed Jul 30, 2014
    Configuration menu
    Copy the full SHA
    71fd41c View commit details
    Browse the repository at this point in the history

Commits on Aug 13, 2014

  1. Use memory pools; implement deep multi-sequence layers

    Hannes Bretschneider committed Aug 13, 2014
    Configuration menu
    Copy the full SHA
    b6c71b9 View commit details
    Browse the repository at this point in the history

Commits on Aug 14, 2014

  1. Some optimizations, replace C arguments with constants

    Hannes Bretschneider committed Aug 14, 2014
    Configuration menu
    Copy the full SHA
    de184c7 View commit details
    Browse the repository at this point in the history

Commits on Aug 27, 2014

  1. Finally made it work

    Hannes Bretschneider committed Aug 27, 2014
    Configuration menu
    Copy the full SHA
    8e87ce1 View commit details
    Browse the repository at this point in the history

Commits on Sep 15, 2014

  1. Add global pooling option

    Hannes Bretschneider committed Sep 15, 2014
    Configuration menu
    Copy the full SHA
    fe37761 View commit details
    Browse the repository at this point in the history
  2. Some changes to slaved layers

    Hannes Bretschneider committed Sep 15, 2014
    Configuration menu
    Copy the full SHA
    bd2c874 View commit details
    Browse the repository at this point in the history

Commits on Oct 2, 2014

  1. Fix a bug in HDF5SeqArrayDataProvider that caused the same same data …

    …to be repeatedly returned
    Hannes Bretschneider committed Oct 2, 2014
    Configuration menu
    Copy the full SHA
    fbda499 View commit details
    Browse the repository at this point in the history

Commits on Nov 14, 2014

  1. Replaced backend with cuDNN.

    Hannes Bretschneider committed Nov 14, 2014
    Configuration menu
    Copy the full SHA
    78f66a9 View commit details
    Browse the repository at this point in the history

Commits on Nov 26, 2014

  1. Change HDF5SeqArrayDataProvider interface

    Hannes Bretschneider committed Nov 26, 2014
    Configuration menu
    Copy the full SHA
    167ab3b View commit details
    Browse the repository at this point in the history

Commits on Nov 28, 2014

  1. Add ConvolutionDummyLayer and fix bug inSeqArrayDataProvider

    Hannes Bretschneider committed Nov 28, 2014
    Configuration menu
    Copy the full SHA
    f61b43e View commit details
    Browse the repository at this point in the history
  2. Bug in SlavedConvolution1DLayer

    Hannes Bretschneider committed Nov 28, 2014
    Configuration menu
    Copy the full SHA
    0c5c7f7 View commit details
    Browse the repository at this point in the history
  3. Bug in MultiSequenceConvolutionLayer

    Hannes Bretschneider committed Nov 28, 2014
    Configuration menu
    Copy the full SHA
    92f45e5 View commit details
    Browse the repository at this point in the history

Commits on Jan 22, 2015

  1. Include cuDNN wrapper.

    Hannes Bretschneider committed Jan 22, 2015
    Configuration menu
    Copy the full SHA
    192681c View commit details
    Browse the repository at this point in the history
  2. Make FlatteningLayer 4D

    Hannes Bretschneider committed Jan 22, 2015
    Configuration menu
    Copy the full SHA
    a4ac47b View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    ee63d8e View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    edeabec View commit details
    Browse the repository at this point in the history
  5. Remove unneccesary assert statement in DummyLayer.

    Hannes Bretschneider committed Jan 22, 2015
    Configuration menu
    Copy the full SHA
    318aed3 View commit details
    Browse the repository at this point in the history
  6. Add 'hebel/sequence_convolution/' from commit '92f45e53c58f76e0763058…

    …9603cd30016efb3c78'
    
    git-subtree-dir: hebel/sequence_convolution
    git-subtree-mainline: 318aed3
    git-subtree-split: 92f45e5
    Hannes Bretschneider committed Jan 22, 2015
    Configuration menu
    Copy the full SHA
    9ca0636 View commit details
    Browse the repository at this point in the history
  7. Move src directory to root

    Hannes Bretschneider committed Jan 22, 2015
    Configuration menu
    Copy the full SHA
    66e0d93 View commit details
    Browse the repository at this point in the history
  8. Moved sequence convolution layers to hebel/layers

    Hannes Bretschneider committed Jan 22, 2015
    Configuration menu
    Copy the full SHA
    13a0553 View commit details
    Browse the repository at this point in the history

Commits on Jan 23, 2015

  1. Merge pycuda_ops into hebel

    Hannes Bretschneider committed Jan 23, 2015
    Configuration menu
    Copy the full SHA
    49ee924 View commit details
    Browse the repository at this point in the history
  2. Make data_providers a package; move seq_array

    Hannes Bretschneider committed Jan 23, 2015
    Configuration menu
    Copy the full SHA
    0b9e2d5 View commit details
    Browse the repository at this point in the history