• Stars
    star
    370
  • Rank 115,405 (Top 3 %)
  • Language
    Python
  • License
    GNU General Publi...
  • Created about 6 years ago
  • Updated over 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Transfer learning for time series classification

Transfer learning for time series classification

This is the companion repository for our paper titled "Transfer learning for time series classification" accepted as a regular paper at IEEE International Conference on Big Data 2018 also available on ArXiv.

Architecture

architecture fcn

Source code

The software is developed using Python 3.5. We trained the models on a cluster of more than 60 GPUs. You will need the UCR archive to re-run the experiments of the paper.

If you encouter problems with cython, you can re-generate the "c" files using the build-cython.sh script.

To train the network from scratch launch: python3 main.py train_fcn_scratch

To apply the transfer learning between each pair of datasets launch: python3 main.py transfer_learning

To visualize the figures in the paper launch: python3 main.py visualize_transfer_learning

To generate the inter-datasets similariy matrix launch: python3 main.py compare_datasets

Pre-trained and fine-tuned models

You can download from the companion web page all pre-trained and fine-tuned models you would need to re-produce the experiments. Feel free to fine-tune on your own datasets !!!

Prerequisites

All python packages needed are listed in pip-requirements.txt file and can be installed simply using the pip command.

Results

You can download here the accuracy variation matrix which corresponds to the raw results of the transfer matrix in the paper.

You can download here the raw results for the accuracy matrix instead of the variation.

You can download here the result of the applying nearest neighbor algorithm on the inter-datasets similarity matrix. You will find for each dataset in the archive, the 84 most similar datasets. The steps for computing the similarity matrix are presented in Algorithm 1 in our paper.

Accuracy variation matrix

acc-matrix

Generalization with and without the transfer learning

50words - FISH FordA - wafer Adiac - ShapesAll
plot-50words-fish plot-forda-wafer plot-adiac-shapesall

Model's accuracy with respect to the source dataset's similarity

Herring BeetleFly WormsTwoClass
herring beetlefly wormstwoclass

Reference

If you re-use this work, please cite:

@InProceedings{IsmailFawaz2018transfer,
  Title                    = {Transfer learning for time series classification},
  Author                   = {Ismail Fawaz, Hassan and Forestier, Germain and Weber, Jonathan and Idoumghar, Lhassane and Muller, Pierre-Alain},
  booktitle                = {IEEE International Conference on Big Data},
  pages                    = {1367-1376}, 
  Year                     = {2018}
}

Acknowledgement

The authors would like to thank NVIDIA Corporation for the GPU Grant and the Mรฉsocentre of Strasbourg for providing access to the GPU cluster.