An open-source library of algorithms to analyse time series in GPU and CPU.

Overview

Khiva

License: MPL 2.0 Gitter chat

Build Documentation Build Linux and Mac OS Build Windows Code Coverage
Documentation Status Build Status Build status Coverage Status

Khiva is an open-source library of efficient algorithms to analyse time series in GPU and CPU. It can be used to extract insights from one or a group of time series. The large number of available methods allow us to understand the nature of each time series. Based on the results of this analysis, users can reduce dimensionality, find out recurrent motifs or discords, understand the seasonality or trend from a given time series, forecasting and detect anomalies.

Khiva provides a mean for time series analytics at scale. These analytics can be exploited in a wide range of use cases across several industries, like energy, finance, e-health, IoT, music industry, etc.

Khiva is inspired by other time series libraries as tsfresh, tslearn and hctsa among others.

Other Matrix Profile implementations

License

This project is licensed under MPL-v2.

Installation

Currently, khiva is supported on Windows, Linux and MacOs, if you need to install the library follow the installation guide.

Contributing

The rules to contribute to this project are described here.

Builds

We have a first approach to generate a build and execute the set of tests on every pull request to the master branch. This process uses travis and appveyor. The status badges of the builds are contained at the beginning of this file.

Referencing Khiva

If you use Khiva in a scientific publication, we would appreciate citations:

@misc{khiva,
 title={Khiva: Accelerated time-series analytics on GPUs and CPU multicores},
 author={Ruiz-Ferrer, Justo and Vilches, Antonio and Torreno, Oscar and Cuesta, David},
 year={2018},
 note={\url{https://github.com/shapelets/khiva}}
}
Comments
  • Segfault and error on Mac with OpenCL and different array types

    Segfault and error on Mac with OpenCL and different array types

    Describe the bug

    Hi, I'm seeing a segfault and error on Mac with OpenCL and different array data types.

    • f32 - success
    • f64 - segfault
    • s32 - error (stack trace below)
      File "/usr/local/lib/python3.9/site-packages/khiva/matrix.py", line 231, in stomp_self_join
        raise Exception(str(error_message.value.decode()))
    Exception: stomp_self_join: ArrayFire Exception (Internal error:998):
    In function cl::Program opencl::buildProgram(const vector<std::__1::string> &, const vector<std::__1::string> &)
    In file src/backend/opencl/compile_module.cpp:128
    OpenCL Device: Intel(R) Iris(TM) 
    

    To Reproduce

    It's easiest to reproduce with the Python library (but think it's probably related to the C++ code).

    from khiva.array import Array, dtype
    from khiva.library import get_backend_info, set_backend, KHIVABackend
    from khiva.matrix import stomp_self_join
    
    # everything works with the CPU backend
    # set_backend(KHIVABackend.KHIVA_BACKEND_CPU)
    
    print(get_backend_info())
    
    # success
    a = Array.from_list([1, 2, 3, 4, 5], dtype.f32)
    stomp_self_join(a, 3)
    
    # segfault
    a = Array.from_list([1, 2, 3, 4, 5], dtype.f64)
    stomp_self_join(a, 3)
    
    # error
    a = Array.from_list([1, 2, 3, 4, 5], dtype.s32)
    stomp_self_join(a, 3)
    

    Expected behavior

    No segfault or error, like with the CPU backend.

    Environment information:

    • OS: Mac OS 11.1
    • Khiva Version: 0.5.0
    • Khiva dependencies versions: ArrayFire 3.7.3, Boost 1.74.0

    Here's the output of get_backend_info():

    ArrayFire v3.7.3 (OpenCL, 64-bit Mac OSX, build default)
    [0] APPLE: Intel(R) Iris(TM) Plus Graphics, 1536 MB
    

    Additional context

    Let me know if there's any I can do to help debug.

    bug 
    opened by ankane 7
  • Tests fail with invalid pointer on free during make

    Tests fail with invalid pointer on free during make

    Not sure if this is on my end or in one of my shared libraries causing the problem.

    Here's the error during the build. https://gist.github.com/zpzim/a7added1e63587e162f871383e33b1dc

    It might be related to Intel TBB. I get this error even when I comment out the entire test function

    opened by zpzim 5
  • Fixing PAA to work with non divisible number of points.

    Fixing PAA to work with non divisible number of points.

    Make sure you have checked all steps below.

    Description

    • [ ] Here are some details about my PR, including screenshots of any UI changes:

    Tests

    • [ ] My PR adds the following unit tests OR does not need testing for this extremely good reason:

    Benchmarks

    • [ ] My PR adds the following micro benchmarks OR does not need benchmarks for this extremely good reason:

    Commits

    • [ ] My commits have been squashed if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":
      1. Subject is separated from body by a blank line
      2. Subject is limited to 50 characters
      3. Subject does not end with a period
      4. Subject uses the imperative mood ("add", not "adding")
      5. Body wraps at 72 characters
      6. Body explains "what" and "why", not "how"

    License

    Documentation

    • [ ] In case of new functionality, my PR adds documentation that describes how to use it.
    opened by avilchess 3
  • Linking against gtest: conan builds vs regular cmake builds

    Linking against gtest: conan builds vs regular cmake builds

    Describe the bug Linking errors raise when building the project and linking against the libraries installed by conan. Errors sample:

    CMakeFiles/features.dir/featuresTest.cpp.o: In function `testing::AssertionResult testing::internal::CmpHelperEQFailure<long long, int>(char const*, char const*, long long const&, int const&)':
    /home/asem/.conan/data/gtest/1.8.1/bincrafters/stable/package/4a8c5b4cd3b4d45b83fff85d53160ea02ae5fa2d/include/gtest/gtest.h:1435: undefined reference to `testing::internal::EqFailure(char const*, char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, bool)'
    

    The linking issue is fixed when linking the khiva tests against the same gtest version 1.8.0 that is built from its main repository.

    Sample from CMakeCache.txt before fixing

    //Path to a file.
    GTEST_INCLUDE_DIRS:PATH=/home/asem/.conan/data/gtest/1.8.1/bincrafters/stable/package/4a8c5b4cd3b4d45b83fff85d53160ea02ae5fa2d/include
    
    //Path to a library.
    GTEST_LIBRARIES:FILEPATH=/home/asem/.conan/data/gtest/1.8.1/bincrafters/stable/package/4a8c5b4cd3b4d45b83fff85d53160ea02ae5fa2d/lib/libgtest.a
    
    //Path to a library.
    GTEST_MAIN_LIBRARIES:FILEPATH=/home/asem/.conan/data/gtest/1.8.1/bincrafters/stable/package/4a8c5b4cd3b4d45b83fff85d53160ea02ae5fa2d/lib/libgtest_main.a
    

    After fixing

    //Path to a file.
    GTEST_INCLUDE_DIRS:PATH=/opt/gtest/include
    
    //Path to a library.
    GTEST_LIBRARIES:FILEPATH=/opt/gtest/lib/libgtest.a
    
    //Path to a library.
    GTEST_MAIN_LIBRARIES:FILEPATH=/opt/gtest/lib/libgtest_main.a
    

    I am just reporting this case since it costed me a lot of time! Couldn't expect that conan might be the reason.

    opened by A-Alaa 3
  • Ruby bindings

    Ruby bindings

    Hi, also wanted to let you know there are now Ruby bindings for Khiva. It's modeled after the Python bindings (with some minor changes to make it more Ruby-like). The C API was really nice to use and easy to follow.

    If you have any feedback, feel free to let me know here or create an issue in the project. Thanks!

    opened by ankane 2
  • Make explicit Arrayfire use config files

    Make explicit Arrayfire use config files

    Make sure you have checked all steps below.

    Description

    • [x] Here are some details about my PR, including screenshots of any UI changes:

    Tests

    • [x] My PR adds the following unit tests OR does not need testing for this extremely good reason:

    Benchmarks

    • [x] My PR adds the following micro benchmarks OR does not need benchmarks for this extremely good reason:

    Commits

    • [ ] My commits have been squashed if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":
      1. Subject is separated from body by a blank line
      2. Subject is limited to 50 characters
      3. Subject does not end with a period
      4. Subject uses the imperative mood ("add", not "adding")
      5. Body wraps at 72 characters
      6. Body explains "what" and "why", not "how"

    License

    Documentation

    • [ ] In case of new functionality, my PR adds documentation that describes how to use it.
    opened by raulbocanegra 2
  • Improving visvalingam performance by 3x.

    Improving visvalingam performance by 3x.

    Make sure you have checked all steps below.

    Description

    • [ ] Here are some details about my PR, including screenshots of any UI changes:

    Tests

    • [ ] My PR adds the following unit tests OR does not need testing for this extremely good reason:

    Benchmarks

    • [ ] My PR adds the following micro benchmarks OR does not need benchmarks for this extremely good reason:

    Commits

    • [ ] My commits have been squashed if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":
      1. Subject is separated from body by a blank line
      2. Subject is limited to 50 characters
      3. Subject does not end with a period
      4. Subject uses the imperative mood ("add", not "adding")
      5. Body wraps at 72 characters
      6. Body explains "what" and "why", not "how"

    License

    Documentation

    • [ ] In case of new functionality, my PR adds documentation that describes how to use it.
    opened by avilchess 2
  • Feature/scamp chains

    Feature/scamp chains

    Make sure you have checked all steps below.

    Description

    • [ ] Here are some details about my PR, including screenshots of any UI changes:

    Tests

    • [ ] My PR adds the following unit tests OR does not need testing for this extremely good reason:

    Benchmarks

    • [ ] My PR adds the following micro benchmarks OR does not need benchmarks for this extremely good reason:

    Commits

    • [ ] My commits have been squashed if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":
      1. Subject is separated from body by a blank line
      2. Subject is limited to 50 characters
      3. Subject does not end with a period
      4. Subject uses the imperative mood ("add", not "adding")
      5. Body wraps at 72 characters
      6. Body explains "what" and "why", not "how"

    License

    Documentation

    • [ ] In case of new functionality, my PR adds documentation that describes how to use it.
    opened by jrecuerda 2
  • Change year

    Change year

    Make sure you have checked all steps below.

    Description

    • [ ] Here are some details about my PR, including screenshots of any UI changes:

    Tests

    • [ ] My PR adds the following unit tests OR does not need testing for this extremely good reason:

    Benchmarks

    • [ ] My PR adds the following micro benchmarks OR does not need benchmarks for this extremely good reason:

    Commits

    • [ ] My commits have been squashed if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":
      1. Subject is separated from body by a blank line
      2. Subject is limited to 50 characters
      3. Subject does not end with a period
      4. Subject uses the imperative mood ("add", not "adding")
      5. Body wraps at 72 characters
      6. Body explains "what" and "why", not "how"

    License

    Documentation

    • [ ] In case of new functionality, my PR adds documentation that describes how to use it.
    opened by avilchess 2
  • Feature/headers bindings

    Feature/headers bindings

    Description

    • Added headers guards for avoid double inclusions.

    Tests

    • My PR does not need testing because it does not add any functional feature

    Benchmarks

    • [ ] My PR does not need benchmarks because are only changes in include for avoid double inclusions.

    Commits

    • Add headers guards in bindings includes for C and Java.

    License

    opened by ghost 2
  • Fix/operation array

    Fix/operation array

    Make sure you have checked all steps below.

    Description

    • [ ] Here are some details about my PR, including screenshots of any UI changes:

    Tests

    • [ ] My PR adds the following unit tests OR does not need testing for this extremely good reason:

    Benchmarks

    • [ ] My PR adds the following micro benchmarks OR does not need benchmarks for this extremely good reason:

    Commits

    • [ ] My commits have been squashed if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":
      1. Subject is separated from body by a blank line
      2. Subject is limited to 50 characters
      3. Subject does not end with a period
      4. Subject uses the imperative mood ("add", not "adding")
      5. Body wraps at 72 characters
      6. Body explains "what" and "why", not "how"

    License

    Documentation

    • [ ] In case of new functionality, my PR adds documentation that describes how to use it.
    opened by avilchess 2
  • Visvalingam runs on both 64 and 32 floats.

    Visvalingam runs on both 64 and 32 floats.

    Description

    Visvalingam now runs transparently for float64 and float32 types.

    Tests

    Added DimensionalityTests.VisvalingamAF to test both scenarios.

    Benchmarks

    N/A

    opened by justoruiz 0
  • Update .appveyor.yml

    Update .appveyor.yml

    Make sure you have checked all steps below.

    Description

    • [ ] Here are some details about my PR, including screenshots of any UI changes:

    Tests

    • [ ] My PR adds the following unit tests OR does not need testing for this extremely good reason:

    Benchmarks

    • [ ] My PR adds the following micro benchmarks OR does not need benchmarks for this extremely good reason:

    Commits

    • [ ] My commits have been squashed if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":
      1. Subject is separated from body by a blank line
      2. Subject is limited to 50 characters
      3. Subject does not end with a period
      4. Subject uses the imperative mood ("add", not "adding")
      5. Body wraps at 72 characters
      6. Body explains "what" and "why", not "how"

    License

    Documentation

    • [ ] In case of new functionality, my PR adds documentation that describes how to use it.
    opened by avilchess 0
  • Fix broken test ClusteringTests.KShapeDouble

    Fix broken test ClusteringTests.KShapeDouble

    18/211 Test  #18: ClusteringTests.KShapeDouble .....................................***Failed   18.02 sec
    Running main() from C:\dev\vcpkg\buildtrees\gtest\src\ase-1.10.0-9cde347ce0.clean\googletest\src\gtest_main.cc
    Note: Google Test filter = ClusteringTests.KShapeDouble
    [==========] Running 1 test from 1 test suite.
    [----------] Global test environment set-up.
    [----------] 1 test from ClusteringTests
    [ RUN      ] ClusteringTests.KShapeDouble
    ←[32m[----------]←[0m CPU backend, device: Intel CPU
    [----------] CUDA backend, device: GeForce_RTX_2060
    ←[32m[----------]←[0m OPENCL backend, device: GeForce_RTX_2060
    ←[32m[----------]←[0m OPENCL backend, device: Intel(R)_UHD_Graphics
    unknown file: error: C++ exception with description "ArrayFire Exception (Internal error:998):
    OpenCL Error (-59): Invalid Operation when calling clEnqueueMapBuffer
    In function class af::array __cdecl af::matmul(const class af::array &,const class af::array &,const af_mat_prop,const af_mat_prop)
    In file src\api\cpp\blas.cpp:20" thrown in the test body.
    [  FAILED  ] ClusteringTests.KShapeDouble (17741 ms)
    [----------] 1 test from ClusteringTests (17741 ms total)
    
    [----------] Global test environment tear-down
    [==========] 1 test from 1 test suite ran. (17741 ms total)
    [  PASSED  ] 0 tests.
    [  FAILED  ] 1 test, listed below:
    [  FAILED  ] ClusteringTests.KShapeDouble
    
     1 FAILED TEST
    
    opened by marregui 0
  • Fix broken test ClusteringTests.KShapeFloat

    Fix broken test ClusteringTests.KShapeFloat

    17/211 Test  #17: ClusteringTests.KShapeFloat ......................................***Failed   18.88 sec
    Running main() from C:\dev\vcpkg\buildtrees\gtest\src\ase-1.10.0-9cde347ce0.clean\googletest\src\gtest_main.cc
    Note: Google Test filter = ClusteringTests.KShapeFloat
    [==========] Running 1 test from 1 test suite.
    [----------] Global test environment set-up.
    [----------] 1 test from ClusteringTests
    [ RUN      ] ClusteringTests.KShapeFloat
    ←[32m[----------]←[0m CPU backend, device: Intel CPU
    [----------] CUDA backend, device: GeForce_RTX_2060
    ←[32m[----------]←[0m OPENCL backend, device: GeForce_RTX_2060
    ←[32m[----------]←[0m OPENCL backend, device: Intel(R)_UHD_Graphics
    unknown file: error: C++ exception with description "ArrayFire Exception (Internal error:998):
    OpenCL Error (-59): Invalid Operation when calling clEnqueueMapBuffer
    In function class af::array __cdecl af::matmul(const class af::array &,const class af::array &,const af_mat_prop,const af_mat_prop)
    In file src\api\cpp\blas.cpp:20" thrown in the test body.
    [  FAILED  ] ClusteringTests.KShapeFloat (18594 ms)
    [----------] 1 test from ClusteringTests (18594 ms total)
    
    [----------] Global test environment tear-down
    [==========] 1 test from 1 test suite ran. (18594 ms total)
    [  PASSED  ] 0 tests.
    [  FAILED  ] 1 test, listed below:
    [  FAILED  ] ClusteringTests.KShapeFloat
    
     1 FAILED TEST
    
    opened by marregui 0
  • Fix broken test MatrixTests.FindBestDiscordsMultipleProfiles

    Fix broken test MatrixTests.FindBestDiscordsMultipleProfiles

    166/211 Test #166: MatrixTests.FindBestDiscordsMultipleProfiles .....................***Failed   19.85 sec
    Running main() from C:\dev\vcpkg\buildtrees\gtest\src\ase-1.10.0-9cde347ce0.clean\googletest\src\gtest_main.cc
    Note: Google Test filter = MatrixTests.FindBestDiscordsMultipleProfiles
    [==========] Running 1 test from 1 test suite.
    [----------] Global test environment set-up.
    [----------] 1 test from MatrixTests
    [ RUN      ] MatrixTests.FindBestDiscordsMultipleProfiles
    ←[32m[----------]←[0m CPU backend, device: Intel CPU
    [----------] CUDA backend, device: GeForce_RTX_2060
    C:\Users\MiguelArregui\workspace\khiva\test\matrixTest.cpp(1148): error: Expected equality of these values:
      subsequenceIndicesHost[0]
        Which is: 10
      0
    ←[32m[----------]←[0m OPENCL backend, device: GeForce_RTX_2060
    ←[32m[----------]←[0m OPENCL backend, device: Intel(R)_UHD_Graphics
    ←[32m[----------]←[0m OPENCL backend, device: Intel(R)_Core(TM)_i7-10875H_CPU @ 2.30GHz
    [  FAILED  ] MatrixTests.FindBestDiscordsMultipleProfiles (19597 ms)
    [----------] 1 test from MatrixTests (19597 ms total)
    
    [----------] Global test environment tear-down
    [==========] 1 test from 1 test suite ran. (19597 ms total)
    [  PASSED  ] 0 tests.
    [  FAILED  ] 1 test, listed below:
    [  FAILED  ] MatrixTests.FindBestDiscordsMultipleProfiles
    
     1 FAILED TEST
    
    opened by marregui 0
  • Fix broken test due to fltpt precission FeaturesTests.FftAggregated

    Fix broken test due to fltpt precission FeaturesTests.FftAggregated

    74/211 Test  #74: FeaturesTests.FftAggregated ......................................***Failed   11.05 sec
    Running main() from C:\dev\vcpkg\buildtrees\gtest\src\ase-1.10.0-9cde347ce0.clean\googletest\src\gtest_main.cc
    Note: Google Test filter = FeaturesTests.FftAggregated
    [==========] Running 1 test from 1 test suite.
    [----------] Global test environment set-up.
    [----------] 1 test from FeaturesTests
    [ RUN      ] FeaturesTests.FftAggregated
    ←[32m[----------]←[0m CPU backend, device: Intel CPU
    [----------] CUDA backend, device: GeForce_RTX_2060
    ←[32m[----------]←[0m OPENCL backend, device: GeForce_RTX_2060
    ←[32m[----------]←[0m OPENCL backend, device: Intel(R)_UHD_Graphics
    ←[32m[----------]←[0m OPENCL backend, device: Intel(R)_Core(TM)_i7-10875H_CPU @ 2.30GHz
    C:\Users\MiguelArregui\workspace\khiva\test\featuresTest.cpp(481): error: The difference between fft[3] and f4 is 1.1920928955078125e-06, which exceeds EPSILON, where
    fft[3] evaluates to 3.642664909362793,
    f4 evaluates to 3.6426661014556885, and
    EPSILON evaluates to 9.9999999999999995e-07.
    [  FAILED  ] FeaturesTests.FftAggregated (10790 ms)
    [----------] 1 test from FeaturesTests (10790 ms total)
    
    [----------] Global test environment tear-down
    [==========] 1 test from 1 test suite ran. (10790 ms total)
    [  PASSED  ] 0 tests.
    [  FAILED  ] 1 test, listed below:
    [  FAILED  ] FeaturesTests.FftAggregated
    
    1 FAILED TEST
    
    opened by marregui 0
Releases(v0.5.0)
Owner
Shapelets
Accelerated Time Series Analytics
Shapelets
Pytools is an open source library containing general machine learning and visualisation utilities for reuse

pytools is an open source library containing general machine learning and visualisation utilities for reuse, including: Basic tools for API developmen

BCG Gamma 26 Nov 06, 2022
Implementation of the Object Relation Transformer for Image Captioning

Object Relation Transformer This is a PyTorch implementation of the Object Relation Transformer published in NeurIPS 2019. You can find the paper here

Yahoo 158 Dec 24, 2022
Sequence learning toolkit for Python

seqlearn seqlearn is a sequence classification toolkit for Python. It is designed to extend scikit-learn and offer as similar as possible an API. Comp

Lars 653 Dec 27, 2022
Temporal Alignment Prediction for Supervised Representation Learning and Few-Shot Sequence Classification

Temporal Alignment Prediction for Supervised Representation Learning and Few-Shot Sequence Classification Introduction. This package includes the pyth

5 Dec 06, 2022
A Python implementation of GRAIL, a generic framework to learn compact time series representations.

GRAIL A Python implementation of GRAIL, a generic framework to learn compact time series representations. Requirements Python 3.6+ numpy scipy tslearn

3 Nov 24, 2021
Confidence intervals for scikit-learn forest algorithms

forest-confidence-interval: Confidence intervals for Forest algorithms Forest algorithms are powerful ensemble methods for classification and regressi

272 Dec 01, 2022
Uses WiFi signals :signal_strength: and machine learning to predict where you are

Uses WiFi signals and machine learning (sklearn's RandomForest) to predict where you are. Even works for small distances like 2-10 meters.

Pascal van Kooten 5k Jan 09, 2023
Predicting India’s COVID-19 Third Wave with LSTM

Predicting India’s COVID-19 Third Wave with LSTM Complete project of predicting new COVID-19 cases in the next 90 days with LSTM India is seeing a ste

Samrat Dutta 4 Jan 27, 2022
pandas, scikit-learn, xgboost and seaborn integration

pandas, scikit-learn and xgboost integration.

299 Dec 30, 2022
The Fuzzy Labs guide to the universe of open source MLOps

Open Source MLOps This is the Fuzzy Labs guide to the universe of free and open source MLOps tools. Contents What is MLOps, anyway? Data version contr

Fuzzy Labs 352 Dec 29, 2022
This project used bitcoin, S&P500, and gold to construct an investment portfolio that aimed to minimize risk by minimizing variance.

minvar_invest_portfolio This project used bitcoin, S&P500, and gold to construct an investment portfolio that aimed to minimize risk by minimizing var

1 Jan 06, 2022
Machine-care - A simple python script to take care of simple maintenance tasks

Machine care An simple python script to take care of simple maintenance tasks fo

2 Jul 10, 2022
A data preprocessing and feature engineering script for a machine learning pipeline is prepared.

FEATURE ENGINEERING Business Problem: A data preprocessing and feature engineering script for a machine learning pipeline needs to be prepared. It is

Pinar Oner 7 Dec 18, 2021
Dual Adaptive Sampling for Machine Learning Interatomic potential.

DAS Dual Adaptive Sampling for Machine Learning Interatomic potential. How to cite If you use this code in your research, please cite this using: Hong

6 Jul 06, 2022
LinearRegression2 Tvads and CarSales

LinearRegression2_Tvads_and_CarSales This project infers the insight that how the TV ads for cars and car Sales are being linked with each other. It i

Ashish Kumar Yadav 1 Dec 29, 2021
Simple Machine Learning Tool Kit

Getting started smltk (Simple Machine Learning Tool Kit) package is implemented for helping your work during data preparation testing your model The g

Alessandra Bilardi 1 Dec 30, 2021
ZenML 🙏: MLOps framework to create reproducible ML pipelines for production machine learning.

ZenML is an extensible, open-source MLOps framework to create production-ready machine learning pipelines. It has a simple, flexible syntax, is cloud and tool agnostic, and has interfaces/abstraction

ZenML 2.6k Jan 08, 2023
This repo implements a Topological SLAM: Deep Visual Odometry with Long Term Place Recognition (Loop Closure Detection)

This repo implements a topological SLAM system. Deep Visual Odometry (DF-VO) and Visual Place Recognition are combined to form the topological SLAM system.

Best of Australian Centre for Robotic Vision (ACRV) 32 Jun 23, 2022
Time-series momentum for momentum investing strategy

Time-series-momentum Time-series momentum strategy. You can use the data_analysis.py file to find out the best trigger and window for a given asset an

Victor Caldeira 3 Jun 18, 2022
customer churn prediction prevention in telecom industry using machine learning and survival analysis

Telco Customer Churn Prediction - Plotly Dash Application Description This dash application allows you to predict telco customer churn using machine l

Benaissa Mohamed Fayçal 3 Nov 20, 2021