Python 动态时间规整中避免堆栈溢出的技术

Python 动态时间规整中避免堆栈溢出的技术,python,optimization,nlp,speech-recognition,dynamic-programming,Python,Optimization,Nlp,Speech Recognition,Dynamic Programming,我写了一个动态时间扭曲单词识别系统,发现在没有达到最大递归深度的情况下,我能处理的最大音频文件是1秒样本。克服此问题的常用技术有哪些 这是我引用的代码 有一个例子可以解释为什么递归在Python中是个坏主意。在其他语言中更容易 幸运的是,您经常可以将递归转换为循环,如上所述 您可以在以下网站上找到无递归DTW示例: 请提供你写的代码。是的,很抱歉,我编辑了我的动态时间扭曲算法的要点 int DTWDistance(s: array [1..n], t: array [1..m]) { D

我写了一个动态时间扭曲单词识别系统,发现在没有达到最大递归深度的情况下,我能处理的最大音频文件是1秒样本。克服此问题的常用技术有哪些

这是我引用的代码

有一个例子可以解释为什么递归在Python中是个坏主意。在其他语言中更容易

幸运的是,您经常可以将递归转换为循环,如上所述

您可以在以下网站上找到无递归DTW示例:


请提供你写的代码。是的,很抱歉,我编辑了我的动态时间扭曲算法的要点
int DTWDistance(s: array [1..n], t: array [1..m]) {
    DTW := array [0..n, 0..m]

    for i := 1 to n
        DTW[i, 0] := infinity
    for i := 1 to m
        DTW[0, i] := infinity
    DTW[0, 0] := 0

    for i := 1 to n
        for j := 1 to m
            cost:= d(s[i], t[j])
            DTW[i, j] := cost + minimum(DTW[i-1, j  ],    // insertion
                                        DTW[i  , j-1],    // deletion
                                        DTW[i-1, j-1])    // match

    return DTW[n, m]
}