An extension package for deep learning with Keras for sktime, a scikit-learn compatible Python toolbox for learning with time series and panel data.
The package is under active development. Currently, classification models based off the the networks in dl-4-tsc have been implemented, as well as an example of a tuned network for future development.
This package uses the base sktime as a dependency. Follow the original instructions to install this.
The sktime-dl package currently has API calls up to date with sktime version 0.3.0. Updates to sktime may precede sktime-dl updates by some lag time.
For the deep-learning part of sktime-dl, you need:
and a compatible backend for Keras, one of
- tensorflow (confirmed working, v1.8.0)
- theano (untested)
- CNTK (untested)
If you want to run the networks on a GPU, CUDNN is also required to be able to utilise your GPU.
For windows users, we recommend following this (unaffiliated) guide.
For linux users, all of these points should hopefully be relatively straight forward via simple pip-commands and conversions from the previous link.
For mac users, I am unfortunately unsure of the best processes for installing these. If you have links to a tested and up-to-date guide, let us know (@James-Large).
The aim is to define Keras networks able to be directly used within sktime and its pipelining and strategy tools, and by extension scikit-learn, for use in applications and research. Overtime, we wish to interface or reimplement networks from the literature in the context of time series analysis.
Currently, we interface with a number of networks for time series classification in particular.
This toolset currently serves as an interface to dl-4-tsc, and implements the following network archtiectures:
- Time convolutional neural network (CNN)
- Encoder (Encoder)
- Fully convolutional neural network (FCNN)
- Multi channel deep convolutional neural network (MCDCNN)
- Multi-scale convolutional neural network (MCNN)
- Multi layer perceptron (MLP)
- Residual network (resnet)
- Time Le-Net (tlenet)
- Time warping invariant echo state network (twiesn)
The full API documentation to the base sktime and an introduction can be found here. Tutorial notebooks for currently stable functionality are in the examples folder.
Documentation for sktime-dl shall be produced in due course.
Former and current active contributors are as follows.
James Large (@James-Large), Aaron Bostrom (@ABostrom), Hassan Ismail Fawaz (@hfawaz), Markus Löning (@mloning)
Project management: Jason Lines (@jasonlines), Franz Király (@fkiraly)
Design: Anthony Bagnall(@TonyBagnall), Sajaysurya Ganesh (@sajaysurya), Jason Lines (@jasonlines), Viktor Kazakov (@viktorkaz), Franz Király (@fkiraly), Markus Löning (@mloning)
Coding: Sajaysurya Ganesh (@sajaysurya), Bagnall(@TonyBagnall), Jason Lines (@jasonlines), George Oastler (@goastler), Viktor Kazakov (@viktorkaz), Markus Löning (@mloning)
We are actively looking for contributors. Please contact @fkiraly or @jasonlines for volunteering or information on paid opportunities, or simply raise an issue in the tracker.