Git Product home page Git Product logo

mcfly's Introduction

Build Status AppVeyor Build Status Code quality Coverage PyPI DOI Binder

The goal of mcfly is to ease the use of deep learning technology for time series classification. 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.

Installation

Prerequisites:

  • Python 2.7, 3.5 or 3.6
  • pip

Installing all dependencies in sparate conda environment:

conda env create -f environment.yml

# activate this new environment
source activate mcfly

To install the package, run in the project directory:

pip install .

Installing on Windows

When installing on Windows, there are a few things to take into consideration. The preferred (in other words: easiest) way to install Keras and mcfly is as follows:

  • Use Anaconda
  • Use Python 3.x, because tensorflow is not available on Windows for Python 2.7
  • Install numpy and scipy through the conda package manager (and not with pip)
  • To install mcfly, run pip install mcfly in the cmd prompt.
  • Loading and saving models can give problems on Windows, see NLeSC/mcfly-tutorial#17

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.

Necessary steps for making a new release

  • Check citation.cff using general DOI for all version (option: create file via 'cffinit')
  • Create .zenodo.json file from CITATION.cff (using cffconvert)
    cffconvert --validate
    cffconvert --ignore-suspect-keys --outputformat zenodo --outfile .zenodo.json
  • Set new version number in mcfly/_version.py
  • Check that documentation uses the correct version
  • Edit Changelog (based on commits in https://github.com/NLeSC/mcfly/compare/v1.0.1...master)
  • Test if package can be installed with pip (pip install .)
  • Create Github release
  • Upload to pypi:
    python setup.py sdist bdist_wheel
    python -m twine upload --repository-url https://upload.pypi.org/legacy/ dist/*
    (or python -m twine upload --repository-url https://test.pypi.org/legacy/ dist/* to test first)
  • Check doi on zenodo

Licensing

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.