Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
stumpy — مكتبة بايثون قابلة للتوسع لتحليل السلاسل الزمنية عبر ملفات تعريف المصفوفات (matrix profiles)، مما يتيح اكتشاف الأنماط المتكررة، وكشف الشذوذ، والتجزئة الدلالية، والتنقيب عن الأنماط المتدفقة. | Kitploit
أدوات/GitHubGitHub/stumpy-dev/stumpy
أدوات عامةتعلم الآلةكشف الشذوذ
GitHubstumpy-dev/stumpy

stumpy

مكتبة بايثون قابلة للتوسع لتحليل السلاسل الزمنية عبر ملفات تعريف المصفوفات (matrix profiles)، مما يتيح اكتشاف الأنماط المتكررة، وكشف الشذوذ، والتجزئة الدلالية، والتنقيب عن الأنماط المتدفقة.

عرض المستودعالموقع الإلكتروني
4.1k367منذ يوم واحدتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

|PyPI Version| |Conda Forge Version| |PyPI Downloads| |License| |Test Status| |Code Coverage|

|RTD Status| |Binder| |JOSS| |NumFOCUS|

.. |PyPI Version| image:: https://img.shields.io/pypi/v/stumpy.svg :target: https://pypi.org/project/stumpy/ :alt: إصدار PyPI .. |Conda Forge Version| image:: https://anaconda.org/conda-forge/stumpy/badges/version.svg :target: https://anaconda.org/conda-forge/stumpy :alt: إصدار Conda-Forge .. |PyPI Downloads| image:: https://static.pepy.tech/badge/stumpy/month :target: https://pepy.tech/project/stumpy :alt: تنزيلات PyPI .. |License| image:: https://img.shields.io/pypi/l/stumpy.svg :target: https://github.com/stumpy-dev/stumpy/blob/main/LICENSE.txt :alt: الرخصة .. |Test Status| image:: https://github.com/stumpy-dev/stumpy/workflows/Tests/badge.svg :target: https://github.com/stumpy-dev/stumpy/actions?query=workflow%3ATests+branch%3Amain :alt: حالة الاختبارات .. |Code Coverage| image:: https://img.shields.io/badge/Coverage-100%25-green :alt: تغطية الكود .. |RTD Status| image:: https://readthedocs.org/projects/stumpy/badge/?version=latest :target: https://stumpy.readthedocs.io/ :alt: حالة ReadTheDocs .. |Binder| image:: https://mybinder.org/badge_logo.svg :target: https://mybinder.org/v2/gh/stumpy-dev/stumpy/main?filepath=notebooks :alt: Binder .. |JOSS| image:: http://joss.theoj.org/papers/10.21105/joss.01504/status.svg :target: https://doi.org/10.21105/joss.01504 :alt: JOSS .. |DOI| image:: https://zenodo.org/badge/184809315.svg :target: https://zenodo.org/badge/latestdoi/184809315 :alt: DOI .. |NumFOCUS| image:: https://img.shields.io/badge/NumFOCUS-Affiliated%20Project-orange.svg?style=flat&colorA=E1523D&colorB=007D8A :target: https://numfocus.org/sponsored-projects/affiliated-projects :alt: مشروع منتسب إلى NumFOCUS .. |Twitter| image:: https://img.shields.io/twitter/follow/stumpy_dev.svg?style=social :target: https://twitter.com/stumpy_dev :alt: Twitter

|

.. image:: https://raw.githubusercontent.com/stumpy-dev/stumpy/main/docs/images/stumpy_logo_small.png :target: https://github.com/stumpy-dev/stumpy :alt: شعار STUMPY

====== STUMPY

STUMPY هي مكتبة بايثون قوية وقابلة للتوسع تحسب بكفاءة ما يُسمى matrix profile <https://stumpy.readthedocs.io/en/latest/Tutorial_The_Matrix_Profile.html>__، وهو مجرد تعبير أكاديمي يعني "لكل تسلسل فرعي (أخضر) داخل سلسلتك الزمنية، حدد تلقائيًا الجار الأقرب (الرمادي) المقابل له":

.. image:: https://github.com/stumpy-dev/stumpy/blob/main/docs/images/stumpy_demo.gif?raw=true :alt: GIF متحركة لـ STUMPY

المهم أنه بمجرد حساب matrix profile الخاص بك (اللوحة الوسطى أعلاه)، يمكن استخدامه بعد ذلك في مجموعة متنوعة من مهام التنقيب في بيانات السلاسل الزمنية، مثل:

  • اكتشاف الأنماط/الزخارف (تسلسلات فرعية متكررة تقريبًا ضمن سلسلة زمنية أطول)
  • اكتشاف الشذوذ/الحداثة (discord)
  • اكتشاف الـ shapelets
  • التقسيم الدلالي
  • البيانات المتدفقة (عبر الإنترنت)
  • ملفات matrix profiles تقريبية سريعة
  • السلاسل الزمنية المترابطة (مجموعة مرتبة زمنيًا من أنماط التسلسلات الفرعية)
  • مقتطفات (snippets) لتلخيص السلاسل الزمنية الطويلة
  • ملفات pan matrix profiles لاختيار أفضل حجم (أحجام) نافذة للتسلسل الفرعي
  • والمزيد ... <https://www.cs.ucr.edu/~eamonn/100_Time_Series_Data_Mining_Questions__with_Answers.pdf>__

سواء كنت أكاديميًا أو عالم بيانات أو مطوّر برمجيات أو متحمسًا للسلاسل الزمنية، فإن تثبيت STUMPY سهل ومباشر، وهدفنا هو تمكينك من الوصول إلى رؤى سلاسلك الزمنية بشكل أسرع. راجع التوثيق <https://stumpy.readthedocs.io/en/latest/>__ لمزيد من المعلومات.


كيفية استخدام STUMPY

يرجى الاطلاع على توثيق API <https://stumpy.readthedocs.io/en/latest/api.html>__ للحصول على قائمة كاملة بالدوال المتاحة، وراجع الدروس التعليمية <https://stumpy.readthedocs.io/en/latest/tutorials.html>__ المفيدة للحصول على أمثلة استخدام أكثر شمولاً. ستجد أدناه مقاطع برمجية توضح بسرعة كيفية استخدام STUMPY.

الاستخدام النموذجي (بيانات سلسلة زمنية أحادية البعد) مع STUMP <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.stump>__:

.. code:: python

root@kitploit:~
import stumpy
import numpy as np

if __name__ == "__main__":
    your_time_series = np.random.rand(10000)
    window_size = 50  # Approximately, how many data points might be found in a pattern 

    matrix_profile = stumpy.stump(your_time_series, m=window_size)

الاستخدام الموزّع لبيانات السلاسل الزمنية أحادية البعد مع Dask Distributed عبر STUMPED <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.stumped>__:

.. code:: python

root@kitploit:~
import stumpy
import numpy as np
from dask.distributed import Client

if __name__ == "__main__":
    with Client() as dask_client:
        your_time_series = np.random.rand(10000)
        window_size = 50  # Approximately, how many data points might be found in a pattern 

        matrix_profile = stumpy.stumped(dask_client, your_time_series, m=window_size)

استخدام GPU لبيانات السلاسل الزمنية أحادية البعد مع GPU-STUMP <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.gpu_stump>__:

.. code:: python

root@kitploit:~
import stumpy
import numpy as np
from numba import cuda

if __name__ == "__main__":
    your_time_series = np.random.rand(10000)
    window_size = 50  # Approximately, how many data points might be found in a pattern
    all_gpu_devices = [device.id for device in cuda.list_devices()]  # Get a list of all available GPU devices

    matrix_profile = stumpy.gpu_stump(your_time_series, m=window_size, device_id=all_gpu_devices)

بيانات السلاسل الزمنية متعددة الأبعاد مع MSTUMP <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.mstump>__:

.. code:: python

root@kitploit:~
import stumpy
import numpy as np

if __name__ == "__main__":
    your_time_series = np.random.rand(3, 1000)  # Each row represents data from a different dimension while each column represents data from the same dimension
    window_size = 50  # Approximately, how many data points might be found in a pattern

    matrix_profile, matrix_profile_indices = stumpy.mstump(your_time_series, m=window_size)

تحليل بيانات السلاسل الزمنية متعددة الأبعاد الموزّعة مع Dask Distributed MSTUMPED <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.mstumped>__:

.. code:: python

root@kitploit:~
import stumpy
import numpy as np
from dask.distributed import Client

if __name__ == "__main__":
    with Client() as dask_client:
        your_time_series = np.random.rand(3, 1000)   # Each row represents data from a different dimension while each column represents data from the same dimension
        window_size = 50  # Approximately, how many data points might be found in a pattern

        matrix_profile, matrix_profile_indices = stumpy.mstumped(dask_client, your_time_series, m=window_size)

السلاسل الزمنية المترابطة مع السلاسل الزمنية المترابطة المرساة (ATSC) <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.atsc>__:

.. code:: python

root@kitploit:~
import stumpy
import numpy as np

if __name__ == "__main__":
    your_time_series = np.random.rand(10000)
    window_size = 50  # Approximately, how many data points might be found in a pattern 
    
    matrix_profile = stumpy.stump(your_time_series, m=window_size)

    left_matrix_profile_index = matrix_profile[:, 2]
    right_matrix_profile_index = matrix_profile[:, 3]
    idx = 10  # Subsequence index for which to retrieve the anchored time series chain for

    anchored_chain = stumpy.atsc(left_matrix_profile_index, right_matrix_profile_index, idx)

    all_chain_set, longest_unanchored_chain = stumpy.allc(left_matrix_profile_index, right_matrix_profile_index)

التقسيم الدلالي مع التقسيم الدلالي أحادي الاتجاه السريع منخفض التكلفة (FLUSS) <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.fluss>__:

.. code:: python

root@kitploit:~
import stumpy
import numpy as np

if __name__ == "__main__":
    your_time_series = np.random.rand(10000)
    window_size = 50  # Approximately, how many data points might be found in a pattern

    matrix_profile = stumpy.stump(your_time_series, m=window_size)

    subseq_len = 50
    correct_arc_curve, regime_locations = stumpy.fluss(matrix_profile[:, 1], 
                                                    L=subseq_len, 
                                                    n_regimes=2, 
                                                    excl_factor=1
                                                    )

التبعيات

يتم تحديد إصدارات Python و NumPy المدعومة وفقًا لـ سياسة الإهمال NEP 29 <https://numpy.org/neps/nep-0029-deprecation_policy.html>__.

  • NumPy <http://www.numpy.org/>__
  • Numba <http://numba.pydata.org/>__
  • SciPy <https://www.scipy.org/>__

أين يمكن الحصول عليه

conda:

.. code:: bash

root@kitploit:~
conda install -c conda-forge stumpy

pip:

.. code:: bash

root@kitploit:~
python -m pip install stumpy

pixi:

.. code:: bash

root@kitploit:~
pixi add stumpy

uv:

.. code:: bash

root@kitploit:~
uv add stumpy

لتثبيت stumpy من المصدر، راجع التعليمات الواردة في التوثيق <https://stumpy.readthedocs.io/en/latest/install.html>__.


التوثيق

لكي تفهم وتقدّر الخوارزميات والتطبيقات الأساسية بشكل كامل، من الضروري أن تقرأ المنشورات الأصلية publications_. للحصول على مثال أكثر تفصيلاً حول كيفية استخدام STUMPY، يرجى الرجوع إلى أحدث توثيق <https://stumpy.readthedocs.io/en/latest/>__ أو استكشاف الدروس التعليمية العملية <https://stumpy.readthedocs.io/en/latest/tutorials.html>__.


الأداء

اختبرنا أداء حساب matrix profile الدقيق باستخدام النسخة المترجمة عبر Numba JIT من الكود على بيانات سلاسل زمنية مولّدة عشوائيًا بأطوال مختلفة (أي np.random.rand(n)) إلى جانب موارد أجهزة CPU و GPU مختلفة <hardware_>_.

.. image:: https://raw.githubusercontent.com/stumpy-dev/stumpy/main/docs/images/performance.png :alt: مخطط أداء STUMPY

تُعرض النتائج الأولية في الجدول أدناه بتنسيق Hours:Minutes:Seconds.Milliseconds وبحجم نافذة ثابت قدره m = 50. لاحظ أن أوقات التشغيل المُبلّغ عنها تشمل الوقت المستغرق لنقل البيانات من المضيف إلى جميع أجهزة GPU. قد تحتاج إلى التمرير إلى الجانب الأيمن من الجدول لرؤية جميع أوقات التشغيل.

+----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+ | i | n = 2\ :sup:i | GPU-STOMP | STUMP.2 | STUMP.16 | STUMPED.128 | STUMPED.256 | GPU-STUMP.1 | GPU-STUMP.2 | GPU-STUMP.DGX1 | GPU-STUMP.DGX2 | +==========+===================+==============+=============+=============+=============+=============+=============+=============+================+================+ | 6 | 64 | 00:00:10.00 | 00:00:00.00 | 00:00:00.00 | 00:00:05.77 | 00:00:06.08 | 00:00:00.03 | 00:00:01.63 | NaN | NaN | +----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+ | 7 | 128 | 00:00:10.00 | 00:00:00.00 | 00:00:00.00 | 00:00:05.93 | 00:00:07.29 | 00:00:00.04 | 00:00:01.66 | NaN | NaN | +----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+ | 8 | 256 | 00:00:10.00 | 00:00:00.00 | 00:00:00.01 | 00:00:05.95 | 00:00:07.59 | 00:00:00.08 | 00:00:01.69 | 00:00:06.68 | 00:00:25.68 | +----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+ | 9 | 512 | 00:00:10.00 | 00:00:00.00 | 00:00:00.02 | 00:00:05.97 | 00:00:07.47 | 00:00:00.13 | 00:00:01.66 | 00:00:06.59 | 00:00:27.66 | +----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+ | 10 | 1024 | 00:00:10.00 | 00:00:00.02 | 00:00:00.04 | 00:00:05.69 | 00:00:07.64 | 00:00:00.24 | 00:00:01.72 | 00:00:06.70 | 00:00:30.49 | +----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+ | 11 | 2048 | NaN | 00:00:00.05 | 00:00:00.09 | 00:00:05.60 | 00:00:07.83 | 00:00:00.53 | 00:00:01.88 | 00:00:06.87 | 00:00:31.09 | +----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+ | 12 | 4096 | NaN | 00:00:00.22 | 00:00:00.19 | 00:00:06.26 | 00:00:07.90 | 00:00:01.04 | 00:00:02.19 | 00:00:06.91 | 00:00:33.93 | +----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+ | 13 | 8192 | NaN | 00:00:00.50 | 00:00:00.41 | 00:00:06.29 | 00:00:07.73 | 00:00:01.97 | 00:00:02.49 | 00:00:06.61 | 00:00:33.81 | +----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+ | 14 | 16384 | NaN | 00:00:01.79 | 00:00:00.99 | 00:00:06.24 | 00:00:08.18 | 00:00:03.69 | 00:00:03.29 | 00:00:07.36 | 00:00:35.23 | +----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+ | 15 | 32768 | NaN | 00:00:06.17 | 00:00:02.39 | 00:00:06.48 | 00:00:08.29 | 00:00:07.45 | 00:00:04.93 | 00:00:07.02 | 00:00:36.09 | +----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+ | 16 | 65536 | NaN | 00:00:22.94 | 00:00:06.42 | 00:00:07.33 | 00:00:09.01 | 00:00:14.89 | 00:00:08.12 | 00:00:08.10 | 00:00:36.54 | +----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+ | 17 | 131072 | 00:00:10.00 | 00:01:29.27 | 00:00:19.52 | 00:00:09.75 | 00:00:10.53 | 00:00:29.97 | 00:00:15.42 | 00:00:09.45 | 00:00:37.33 | +----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+ | 18 | 262144 | 00:00:18.00 | 00:05:56.50 | 00:01:08.44 | 00:00:33.38 | 00:00:24.07 | 00:00:59.62 | 00:00:27.41 | 00:00:13.18 | 00:00:39.30 | +----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+ | 19 | 524288 | 00:00:46.00 | 00:25:34.58 | 00:03:56.82 | 00:01:35.27 | 00:03:43.66 | 00:01:56.67 | 00:00:54.05 | 00:00:19.65 | 00:00:41.45 | +----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+ | 20 | 1048576 | 00:02:30.00 | 01:51:13.43 | 00:19:54.75 | 00:04:37.15 | 00:03:01.16 | 00:05:06.48 | 00:02:24.73 | 00:00:32.95 | 00:00:46.14 | +----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+ | 21 | 2097152 | 00:09:15.00 | 09:25:47.64 | 03:05:07.64 | 00:13:36.51 | 00:08:47.47 | 00:20:27.94 | 00:09:41.43 | 00:01:06.51 | 00:01:02.67 | +----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+ | 22 | 4194304 | NaN | 36:12:23.74 | 10:37:51.21 | 00:55:44.43 | 00:32:06.70 | 01:21:12.33 | 00:38:30.86 | 00:04:03.26 | 00:02:23.47 | +----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+ | 23 | 8388608 | NaN | 143:16:09.94| 38:42:51.42 | 03:33:30.53 | 02:00:49.37 | 05:11:44.45 | 02:33:14.60 | 00:15:46.26 | 00:08:03.76 | +----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+ | 24 | 16777216 | NaN | NaN | NaN | 14:39:11.99 | 07:13:47.12 | 20:43:03.80 | 09:48:43.42 | 01:00:24.06 | 00:29:07.84 | +----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+ | NaN | 17729800 | 09:16:12.00 | NaN | NaN | 15:31:31.75 | 07:18:42.54 | 23:09:22.43 | 10:54:08.64 | 01:07:35.39 | 00:32:51.55 | +----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+ | 25 | 33554432 | NaN | NaN | NaN | 56:03:46.81 | 26:27:41.29 | 83:29:21.06 | 39:17:43.82 | 03:59:32.79 | 01:54:56.52 | +----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+ | 26 | 67108864 | NaN | NaN | NaN | 211:17:37.60| 106:40:17.17| 328:58:04.68| 157:18:30.50| 15:42:15.94 | 07:18:52.91 | +----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+ | NaN | 100000000 | 291:07:12.00 | NaN | NaN | NaN | 234:51:35.39| NaN | NaN | 35:03:44.61 | 16:22:40.81 | +----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+ | 27 | 134217728 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 64:41:55.09 | 29:13:48.12 | +----------+-------------------+--------------+-------------+-------------+-------------+-------------+-------------+-------------+----------------+----------------+

^^^^^^^^^^^^^^^^^^ موارد الأجهزة ^^^^^^^^^^^^^^^^^^

.. _hardware:

GPU-STOMP: هذه النتائج مستنسخة من ورقة Matrix Profile II <https://ieeexplore.ieee.org/abstract/document/7837898>__ الأصلية - NVIDIA Tesla K80 (تحتوي على وحدتي GPU) وتعمل كمعيار أداء للمقارنة.

STUMP.2: تم تنفيذ stumpy.stump <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.stump>__ بإجمالي وحدتي CPU - معالجان Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz بموازاة عبر Numba على خادم واحد بدون Dask.

STUMP.16: تم تنفيذ stumpy.stump <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.stump>__ بإجمالي 16 وحدة CPU - 16 معالجًا من نوع Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz بموازاة عبر Numba على خادم واحد بدون Dask.STUMPED.128: stumpy.stumped <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.stumped>__ تم تنفيذه باستخدام 128 وحدة معالجة مركزية في المجموع - 8x Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz معالجات x 16 خادمًا، مع موازاة باستخدام Numba، وتوزيع باستخدام Dask Distributed.

STUMPED.256: stumpy.stumped <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.stumped>__ تم تنفيذه باستخدام 256 وحدة معالجة مركزية في المجموع - 8x Intel(R) Xeon(R) CPU E5-2650 v4 @ 2.20GHz معالجات x 32 خادمًا، مع موازاة باستخدام Numba، وتوزيع باستخدام Dask Distributed.

GPU-STUMP.1: stumpy.gpu_stump <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.gpu_stump>__ تم تنفيذه باستخدام 1x NVIDIA GeForce GTX 1080 Ti GPU، و512 خيطًا لكل كتلة، وحد أقصى للطاقة 200W، وتجميع إلى CUDA باستخدام Numba، وموازاة باستخدام Python multiprocessing

GPU-STUMP.2: stumpy.gpu_stump <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.gpu_stump>__ تم تنفيذه باستخدام 2x NVIDIA GeForce GTX 1080 Ti GPU، و512 خيطًا لكل كتلة، وحد أقصى للطاقة 200W، وتجميع إلى CUDA باستخدام Numba، وموازاة باستخدام Python multiprocessing

GPU-STUMP.DGX1: stumpy.gpu_stump <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.gpu_stump>__ تم تنفيذه باستخدام 8x NVIDIA Tesla V100، و512 خيطًا لكل كتلة، وتجميع إلى CUDA باستخدام Numba، وموازاة باستخدام Python multiprocessing

GPU-STUMP.DGX2: stumpy.gpu_stump <https://stumpy.readthedocs.io/en/latest/api.html#stumpy.gpu_stump>__ تم تنفيذه باستخدام 16x NVIDIA Tesla V100، و512 خيطًا لكل كتلة، وتجميع إلى CUDA باستخدام Numba، وموازاة باستخدام Python multiprocessing


تشغيل الاختبارات

توجد الاختبارات في دليل tests وتُعالَج باستخدام PyTest <https://docs.pytest.org/en/latest/>__ وتتطلب coverage.py لتحليل تغطية الكود. يمكن تنفيذ الاختبارات باستخدام:

.. code:: bash

root@kitploit:~
./test.sh

إصدار Python

يدعم STUMPY Python 3.10+ <https://python3statement.org/>__، وبسبب استخدام أسماء/مُعرِّفات متغيرات Unicode، فهو غير متوافق مع Python 2.x. ونظرًا للاعتماديات الصغيرة، قد يعمل STUMPY على إصدارات أقدم من Python، لكن هذا خارج نطاق دعمنا، ونوصي بشدة بترقية Python إلى أحدث إصدار.


الحصول على المساعدة

أولاً، يرجى مراجعة المناقشات <https://github.com/stumpy-dev/stumpy/discussions>__ والقضايا <https://github.com/stumpy-dev/stumpy/issues?utf8=%E2%9C%93&q=>__ على Github لمعرفة ما إذا كان سؤالك قد تمت الإجابة عنه بالفعل هناك. إذا لم يتوفر حل هناك، فلا تتردد في فتح مناقشة أو قضية جديدة، وسيحاول المؤلفون الرد في وقت مناسب.


المساهمة

نرحب بالمساهمات <https://github.com/stumpy-dev/stumpy/blob/main/CONTRIBUTING.md>__ بأي شكل! المساعدة في التوثيق، ولا سيما توسيع الدروس التعليمية، مرحب بها دائمًا. للمساهمة، يرجى عمل fork للمشروع <https://github.com/stumpy-dev/stumpy/fork>__، وإجراء تغييراتك، وتقديم طلب سحب. سنبذل قصارى جهدنا لحل أي مشكلات معك ودمج كودك في الفرع الرئيسي.


الاستشهاد

إذا كنت قد استخدمت قاعدة التعليمات البرمجية هذه في منشور علمي وتود الاستشهاد بها، فيرجى استخدام مقالة Journal of Open Source Software <http://joss.theoj.org/papers/10.21105/joss.01504>__.

root@kitploit:~
S.M. Law, (2019). *STUMPY: A Powerful and Scalable Python Library for Time Series Data Mining*. Journal of Open Source Software, 4(39), 1504.

.. code:: bibtex

root@kitploit:~
@article{law2019stumpy,
  author  = {Law, Sean M.},
  title   = {{STUMPY: A Powerful and Scalable Python Library for Time Series Data Mining}},
  journal = {{The Journal of Open Source Software}},
  volume  = {4},
  number  = {39},
  pages   = {1504},
  year    = {2019}
}

المراجع

.. _publications:

Yeh, Chin-Chia Michael, et al. (2016) Matrix Profile I: All Pairs Similarity Joins for Time Series: A Unifying View that Includes Motifs, Discords, and Shapelets. ICDM:1317-1322. الرابط <https://ieeexplore.ieee.org/abstract/document/7837992>__

Zhu, Yan, et al. (2016) Matrix Profile II: Exploiting a Novel Algorithm and GPUs to Break the One Hundred Million Barrier for Time Series Motifs and Joins. ICDM:739-748. الرابط <https://ieeexplore.ieee.org/abstract/document/7837898>__

Yeh, Chin-Chia Michael, et al. (2017) Matrix Profile VI: Meaningful Multidimensional Motif Discovery. ICDM:565-574. الرابط <https://ieeexplore.ieee.org/abstract/document/8215529>__

Zhu, Yan, et al. (2017) Matrix Profile VII: Time Series Chains: A New Primitive for Time Series Data Mining. ICDM:695-704. الرابط <https://ieeexplore.ieee.org/abstract/document/8215542>__

Gharghabi, Shaghayegh, et al. (2017) Matrix Profile VIII: Domain Agnostic Online Semantic Segmentation at Superhuman Performance Levels. ICDM:117-126. الرابط <https://ieeexplore.ieee.org/abstract/document/8215484>__

Zhu, Yan, et al. (2017) Exploiting a Novel Algorithm and GPUs to Break the Ten Quadrillion Pairwise Comparisons Barrier for Time Series Motifs and Joins. KAIS:203-236. الرابط <https://link.springer.com/article/10.1007%2Fs10115-017-1138-x>__

Zhu, Yan, et al. (2018) Matrix Profile XI: SCRIMP++: Time Series Motif Discovery at Interactive Speeds. ICDM:837-846. الرابط <https://ieeexplore.ieee.org/abstract/document/8594908>__

Yeh, Chin-Chia Michael, et al. (2018) Time Series Joins, Motifs, Discords and Shapelets: a Unifying View that Exploits the Matrix Profile. Data Min Knowl Disc:83-123. الرابط <https://link.springer.com/article/10.1007/s10618-017-0519-9>__

Gharghabi, Shaghayegh, et al. (2018) "Matrix Profile XII: MPdist: A Novel Time Series Distance Measure to Allow Data Mining in More Challenging Scenarios." ICDM:965-970. الرابط <https://ieeexplore.ieee.org/abstract/document/8594928>__

Zimmerman, Zachary, et al. (2019) Matrix Profile XIV: Scaling Time Series Motif Discovery with GPUs to Break a Quintillion Pairwise Comparisons a Day and Beyond. SoCC '19:74-86. الرابط <https://dl.acm.org/doi/10.1145/3357223.3362721>__

Akbarinia, Reza, and Betrand Cloez. (2019) Efficient Matrix Profile Computation Using Different Distance Functions. arXiv:1901.05708. الرابط <https://arxiv.org/abs/1901.05708>__

Kamgar, Kaveh, et al. (2019) Matrix Profile XV: Exploiting Time Series Consensus Motifs to Find Structure in Time Series Sets. ICDM:1156-1161. الرابط <https://ieeexplore.ieee.org/abstract/document/8970797>__


الترخيص والعلامة التجارية

| STUMPY | حقوق الطبع والنشر 2019 TD Ameritrade. تم الإصدار بموجب شروط رخصة BSD ذات البنود الثلاثة. | STUMPY علامة تجارية لشركة TD Ameritrade IP Company, Inc. جميع الحقوق محفوظة.

تنزيل الأداة