Skip to content
Recurrent kernel networks for sequences
Python Cuda C++
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
experiments
rkn
.gitignore
README.md

README.md

Recurrent Kernel Networks for sequence data

This is a Pytorch implementation for reproducing the results of the paper

Dexiong Chen, Laurent Jacob, Julien Mairal. Recurrent Kernel Networks. In NeurIPS, 2019.

Installation

We recommend users to use anaconda to install the following packages (link to pytorch)

numpy
scipy
scikit-learn
pytorch=1.2.0
biopython
pandas

The code uses Pytorch just-in-time (JIT) to compile cpp and cuda extension code. Thus, you need to download CUDA Toolkit 9.0 to some $cuda_dir and then run

export CUDA_HOME="$cuda_dir"
export TORCH_EXTENSIONS_DIR="$PWD/tmp"

export PYTHONPATH=$PWD:$PYTHONPATH

where the compiled extension files will be saved to TORCH_EXTENSIONS_DIR.

Training models on SCOP 1.67 datasets

Download SCOP 1.67 fold recognition datasets and then do mkdir data and put the datasets to ./data/SCOP167-fold/.

To train a model on a.102.1, with BLOSUM62 embedding, k=14, sigma=0.4 and max pooling, run

cd experiments
python train_scop.py --pooling max --embedding blosum62 --kmer-size 14 --alternating --sigma 0.4 --tfid 0

Train multiclass model on SCOP 1.75 and test on SCOP 2.06

First download SCOP 1.75 and SCOP 2.06 which were downloaded from DeepSF and preprocessed. Then unzip them respectively to ./data/SCOP175 and ./data/SCOP206.

Then run

cd experiments
python train_scop175.py --alternating
You can’t perform that action at this time.