distance_matrix_fast dtaidistance 的功能很慢
distance_matrix_fast function of dtaidistance is slow
我正在使用 Python 包 dtaidistance 进行快速 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"(参见 source code)设置为 true。
我在这里做错了什么?非常感谢您的帮助。
事实证明,我根本没有从源代码构建包,因此无法访问更快的基于 C 的实现。
提到的步骤 here 解决了我的问题:
The library can also be compiled and/or installed directly from
source.
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
我正在使用 Python 包 dtaidistance 进行快速 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"(参见 source code)设置为 true。
我在这里做错了什么?非常感谢您的帮助。
事实证明,我根本没有从源代码构建包,因此无法访问更快的基于 C 的实现。
提到的步骤 here 解决了我的问题:
The library can also be compiled and/or installed directly from source.
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