Skip to main content

Deep learning for time series data

Project description

GitHub Workflow Status Coverage PyPI DOI Binder

The goal of mcfly is to ease the use of deep learning technology for time series classification and regression. The advantage of deep learning is that it can handle raw data directly, without the need to compute signal features. Deep learning does not require expert domain knowledge about the data, and has been shown to be competitive with conventional machine learning techniques. As an example, you can apply mcfly on accelerometer data for activity classification, as shown in the tutorial.

If you use mcfly in your research, please cite the following software paper:

D. van Kuppevelt, C. Meijer, F. Huber, A. van der Ploeg, S. Georgievska, V.T. van Hees. Mcfly: Automated deep learning on time series. SoftwareX, Volume 12, 2020. doi: 10.1016/j.softx.2020.100548

Installation

Prerequisites:

  • Python 3.10, 3.11
  • pip
  • Tensorflow 2, PyTorch or JAX

Installing all dependencies in separate conda environment:

conda env create -f environment.yml

# activate this new environment
source activate mcfly

To install the package, run one of the following commands in the project directory:

  • pip install mcfly[tensorflow]
  • pip install mcfly[torch]
  • pip install mcfly[jax]

Please note: If you are not using tensorflow, you have to set the environment variable KERAS_BACKEND accordingly to your chosen backend.

For GPU support take a look at the latest version of the requirements section "most stable GPU environment" inside the Keras documentation or directly in their GitHub repository.

Visualization

We build a tool to visualize the configuration and performance of the models. The tool can be found on http://nlesc.github.io/mcfly/. To run the model visualization on your own computer, cd to the html directory and start up a python web server:

python -m http.server 8888 &

Navigate to http://localhost:8888/ in your browser to open the visualization. For a more elaborate description of the visualization see user manual.

User documentation

User and code documentation.

Contributing

You are welcome to contribute to the code via pull requests. Please have a look at the NLeSC guide for guidelines about software development.

We use numpy-style docstrings for code documentation.

Licensing

Source code and data of mcfly are licensed under the Apache License, version 2.0.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcfly-4.1.0.tar.gz (4.1 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcfly-4.1.0-py3-none-any.whl (30.0 kB view details)

Uploaded Python 3

File details

Details for the file mcfly-4.1.0.tar.gz.

File metadata

  • Download URL: mcfly-4.1.0.tar.gz
  • Upload date:
  • Size: 4.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for mcfly-4.1.0.tar.gz
Algorithm Hash digest
SHA256 a2b53dc2d7768021f4dae2f09cdbdde926d9004f787ad7eb574f0c0969f704a0
MD5 c1a69942e23319266229fea5380a9b45
BLAKE2b-256 046f95317cb014ce75db929a6a68e19e02fbe3e6cc9636109cb3f652a2bdb91e

See more details on using hashes here.

File details

Details for the file mcfly-4.1.0-py3-none-any.whl.

File metadata

  • Download URL: mcfly-4.1.0-py3-none-any.whl
  • Upload date:
  • Size: 30.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for mcfly-4.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 23eb24d8ba35605d56669e6e06872111923b31cba077f277ce283a7f0a670b15
MD5 41ee7bcfa3641fd3b407cc64542cc8bf
BLAKE2b-256 6d9db5827ec63fc221328d76bde060ecb4e6959f0a3c08e4f4edfcc1eaa6b54a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page