scipy.fft
似乎運行這個簡單的腳本時掛起。例如,嘗試使用this文件。scipy.fft某些聲音文件掛
有幾件事情,我注意到:
- 從交互式解釋不掛運行的各個命令。
- 與其他聲音文件運行並不總是掛腳本(它不只是這個文件是不是雖然工作)
- 有時候我WavFileWarning:大塊不明白,但它似乎並沒有被相關到它何時發生
- 如果我用終止腳本Ctrl + C我得到的結果就好像它從未卡住。
- 用
wave
或audiolab
打開文件導致相同的結果。
這是一個錯誤還是我做錯了什麼?
scipy.fft
似乎運行這個簡單的腳本時掛起。例如,嘗試使用this文件。scipy.fft某些聲音文件掛
有幾件事情,我注意到:
wave
或audiolab
打開文件導致相同的結果。這是一個錯誤還是我做錯了什麼?
檢查掛起系統的文件的data.shape的值。如果你的數據長度碰巧是一個質數,或者是幾個大素數的乘積,那麼FFT算法可以做很多事來加速DFT的計算。如果你使用零填充,或者將數據修剪到最接近2的功率,那麼所有東西都應該運行得更快,速度更快。
這應該是一個評論,但只是沒有足夠的空間有...
你可以做更多的調試,這可能會有點幫助。 (假設你在某種類Unix操作系統)
通過查看堆棧跟蹤,應該可以看到程序是否卡住等待某些事情,卡在某處的循環中或者只是在做大量工作。 它也許能夠告訴你,如果問題是在python代碼,C擴展或其他地方。習慣於讀取堆棧跟蹤當然是一個優點。 :)
感謝您的輸入。這個過程確實需要很多CPU,但它沒有堆棧跟蹤 - 它不會引發任何錯誤。如果我按Ctrl + C分解它,它只輸出* correct *結果。通過pdb運行並沒有提供更好的見解 - 仍然停留在同一條線上。 Googleing當然是我所做的第一件事。 – gozzilli
檢查掛起系統的文件的'data.shape'的值。如果你的數據長度碰巧是一個質數,或者是幾個大素數的乘積,那麼FFT算法可以做很多事來加速DFT的計算。如果你使用零填充,或者將數據修剪到最接近2的功率,那麼所有東西都應該運行得更快,速度更快。 – Jaime
現貨,謝謝。我在Ctrl + Cing終端時得到的結果並不是正確的,但可能是在計算中通過這一點達到的任何結果。如果您想將您的評論轉換爲答案,我很樂意接受。 – gozzilli
如你所願! ;-) – Jaime