Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 距离矩阵快,距离的函数慢_Python_Dtw - Fatal编程技术网

Python 距离矩阵快,距离的函数慢

Python 距离矩阵快,距离的函数慢,python,dtw,Python,Dtw,我正在使用Python包进行快速DTW计算。如文档中所述,可以使用以下代码: from dtaidistance import dtw import numpy as np series = np.matrix([ [0.0, 0, 1, 2, 1, 0, 1, 0, 0], [0.0, 1, 2, 0, 0, 0, 0, 0, 0], [0.0, 0, 1, 2, 1, 0, 0, 0, 0]]) ds = dtw.distance_matrix_fast(series

我正在使用Python包进行快速DTW计算。如文档中所述,可以使用以下代码:

from dtaidistance import dtw
import numpy as np
series = np.matrix([
    [0.0, 0, 1, 2, 1, 0, 1, 0, 0],
    [0.0, 1, 2, 0, 0, 0, 0, 0, 0],
    [0.0, 0, 1, 2, 1, 0, 0, 0, 0]])
ds = dtw.distance_matrix_fast(series)
计算系列集合之间的DTW距离度量。我正在处理的时间序列长度为3000。总的来说,我的每个数据集大约有3500个这样的系列

不幸的是,我无法在相当长的时间内从这个函数中得到任何结果。在我的机器上(128 GB RAM,32个CPU内核,4个Nvidia GPU),我不得不在一天后中止计算。令人惊讶的是,我甚至没有看到这个函数的任何输出,即使我将参数“show_progress”(see)设置为true


我做错了什么?非常感谢您的帮助。

事实证明,我只是没有从源代码构建包,因此无法访问更快的基于C的实现

上述步骤为我解决了问题:

该库也可以直接从中编译和/或安装 来源

Download the source from https://github.com/wannesm/dtaidistance
Compile the C extensions: python3 setup.py build_ext --inplace
Install into your site-package directory: python3 setup.py install

基于C的实现快了多少?大约快了98%。可以找到对此的详细讨论。