Pythonで、音声波形のDPマッチングを実装しようとしているのですが、処理時間が長すぎるので、助けてください。
処理時間が長い原因が二重for文です。以下は例ですが、
python
1for i in range(8000): 2 for j in range(3000): 3 DPマッチングの累積コストなどを計算
のようなfor文を使っています。
上の二重for文は、サンプリング周波数1000で、8秒の音源と3秒の音源とした時のものですが、実際にはサンプリング周波数も大きくして、音源も長くしたいです。
自分のノートPCでは全然ダメだと思い、Google Colab のGPUを使って(pytorchを使用して)、実行してみたのですが、30分以上もかかりました(途中で止めた)。
調べてみたところpythonのfor文は遅いということなのですが、累積コストを計算するために、順番に実装することが必須です。
何か良い案、方法はありますか?
ちなみに、プログラム自体は、とても短い配列でDPマッチングを実行することができたので、プログラムに欠陥(永遠にfor文が回っているなど)は無いと思います。
回答2件
あなたの回答
tips
プレビュー