問題タブ [pyfftw]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - numpy.fft ルーチンを pyfftw に置き換えると、期待どおりに動作しない
numpy.fft パッケージを使用するいくつかの動作する python コードがあります。ここにスニペットがあります。
pyfftw
パッケージを利用するために、このコードを書き直そうとしました。私が思いついたのは、次のコードです。これは機能するはずです。
numpy.fft
問題は、このコードではパッケージを使用した場合と同じ結果が得られないことです。添付の画像を参照してください。
python - ImportError: pyfftw という名前のモジュールがありません
Python 2.7でUbuntu 13.10を使用しています。コードを実行すると、このエラーが発生します。FFTW をインストールしましたが、なぜこのエラーが発生するのかわかりません。これが私のコードです:
ここでエラーが発生します。どんな助けでも素晴らしいでしょう。ありがとう
python-2.7 - pyFFTW インストール用の fftw ライブラリのリンク エラー
pyFFTW 0.9.2 を OSX mavericks にインストールしようとしましたが、次のエラーが発生しました。
pyFFTW installation -> cannot find -lfftw3_threadsで述べたように、fftw 3.3.4 を 3 回コンパイルしてインストールしようとしました。しかし、それは私にとってはうまくいきません。
私がした方法は次のとおりです。
次に、pyFFTW フォルダーで python (2.7) セットアップ ファイルを実行すると、上記のエラーが発生します。
私はあなたの助けに感謝します。
python-3.x - FFT を実行する最速の方法
さまざまなインターフェイスを使用して 2D FFT を実行する次の非常に基本的な例があります。
これにより、次の結果が生成されます。
明らかに、pyfftw.FFTW
インターフェイスは最速ですが、機能しません (何が間違っているのかわかりません)。
これpyfftw.interfaces.scipy_fftpack.fft2
にpyfftw.interfaces.numpy_fft.fft2
はかなりの時間がかかりますが、その時間は主に計画フェーズにあると判断しました。これは最初の 1 回だけです。私の場合、(プロセスごとに) 1 つの FFT2 と 1 つの IFFT2 だけが実行されるので、計画が私を殺しています。知恵を忘れずにどちらかをもう一度実行すると、約0.33秒で実行されます(ただし、これは私の場合は起こりません)。
したがって、問題は次のとおりです。1.pyfftw.FFTW
データが間違っている原因は何ですか? - または - 2. または の計画スキームと期限を変更するにはどうすればよいですpyfftw.interfaces.scipy_fftpack.fft2
かpyfftw.interfaces.numpy_fft.fft2
?
pip - python3xにpyfftをインストールするには?
pyfft
を使用してインストールしようとしましpython -m pip install pyfft
たが、
私はPython 3.4.1を使用しています
enthought - Enthought CanopyへのpyFFTWのインストール
PyFFTW を Enthought Canopy にインストールしようとしています 私は Mavericks を実行している Mac を使用しています 最初のコマンドと出力は問題の下にあります。ありがとう
Canopy 64bit) iz9mbpro:User iz9$ pip install pyfftw pyfftw のダウンロード/解凍 pyFFTW-0.9.2.tar.gz のダウンロード (336kB): 336kB のダウンロード setup.py の実行 (パス:/Users/iz9/Library/Enthought/Canopy_64bit/User /build/pyfftw/setup.py) パッケージ pyfftw の egg_info
致命的なエラー: 'fftw3.h' ファイルが見つかりません #include "fftw3.h" ^ 1 つの警告と 1 つのエラーが生成されました。エラー: コマンド 'gcc' が終了ステータス 1 で失敗しました コマンド /Users/iz9/Library/Enthought/Canopy_64bit/User/bin/python -c "import setuptools, tokenize; からの完全な出力file ='/Users/iz9/Library/Enthought/Canopy_64bit/User/build/pyfftw/setup.py';exec(compile(getattr(tokenize, 'open', open)( file ).read().replace(') \r\n', '\n'), file , 'exec'))" install --record /var/folders/sc/wm52xk5528b2m95ztnh15clj5lkhmb/T/pip-29rHyR-record/install-record.txt --single- version-externally-managed --compile --install-headers /Users/iz9/Library/Enthought/Canopy_64bit/User/include/site/python2.7: インストールの実行
実行中のビルド
build_py の実行
ビルドの作成
build/lib.macosx-10.6-x86_64-2.7 の作成
build/lib.macosx-10.6-x86_64-2.7/pyfftw の作成
pyfftw/ init .py をコピー -> build/lib.macosx-10.6-x86_64-2.7/pyfftw
pyfftw/_version.py をコピー -> build/lib.macosx-10.6-x86_64-2.7/pyfftw
pyfftw/np_fft.py をコピー -> build/lib.macosx-10.6-x86_64-2.7/pyfftw
build/lib.macosx-10.6-x86_64-2.7/pyfftw/builders の作成
pyfftw/builders/ init .py をコピー -> build/lib.macosx-10.6-x86_64-2.7/pyfftw/builders
pyfftw/builders/_utils.py をコピー -> build/lib.macosx-10.6-x86_64-2.7/pyfftw/builders
pyfftw/builders/builders.py をコピー -> build/lib.macosx-10.6-x86_64-2.7/pyfftw/builders
build/lib.macosx-10.6-x86_64-2.7/pyfftw/interfaces の作成
pyfftw/interfaces/ init .py をコピー -> build/lib.macosx-10.6-x86_64-2.7/pyfftw/interfaces
pyfftw/interfaces/_utils.py をコピー -> build/lib.macosx-10.6-x86_64-2.7/pyfftw/interfaces
pyfftw/interfaces/cache.py をコピー -> build/lib.macosx-10.6-x86_64-2.7/pyfftw/interfaces
pyfftw/interfaces/numpy_fft.py をコピー -> build/lib.macosx-10.6-x86_64-2.7/pyfftw/interfaces
pyfftw/interfaces/scipy_fftpack.py をコピー -> build/lib.macosx-10.6-x86_64-2.7/pyfftw/interfaces
build_ext の実行
「/Users/iz9/Library/Enthought/Canopy_64bit/User/build/pyfftw/pyfftw/pyfftw.c」をスキップ Cython 拡張 (最新)
「pyfftw.pyfftw」拡張機能の構築
build/temp.macosx-10.6-x86_64-2.7 の作成
build/temp.macosx-10.6-x86_64-2.7/Users の作成
build/temp.macosx-10.6-x86_64-2.7/Users/iz9 の作成
build/temp.macosx-10.6-x86_64-2.7/Users/iz9/Library の作成
build/temp.macosx-10.6-x86_64-2.7/Users/iz9/Library/Enthought の作成
build/temp.macosx-10.6-x86_64-2.7/Users/iz9/Library/Enthought/Canopy_64bit の作成
build/temp.macosx-10.6-x86_64-2.7/Users/iz9/Library/Enthought/Canopy_64bit/User の作成
build/temp.macosx-10.6-x86_64-2.7/Users/iz9/Library/Enthought/Canopy_64bit/User/build の作成
build/temp.macosx-10.6-x86_64-2.7/Users/iz9/Library/Enthought/Canopy_64bit/User/build/pyfftw の作成
build/temp.macosx-10.6-x86_64-2.7/Users/iz9/Library/Enthought/Canopy_64bit/User/build/pyfftw/pyfftw の作成
gcc -fno-strict-aliasing -fno-common -dynamic -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.6.sdk -DNDEBUG -g -O3 -arch x86_64 -isysroot /Developer/SDKs/MacOSX10.6.sdk - I/Users/iz9/Library/Enthought/Canopy_64bit/User/build/pyfftw/include -I/Users/iz9/Library/Enthought/Canopy_64bit/User/build/pyfftw/pyfftw -I/Applications/Canopy.app/appdata/ canopy-1.4.1.1975.macosx-x86_64/Canopy.app/Contents/lib/python2.7/site-packages/numpy/core/include -I/Applications/Canopy.app/appdata/canopy-1.4.1.1975.macosx- x86_64/Canopy.app/Contents/include/python2.7 -I/Users/iz9/Library/Enthought/Canopy_64bit/User/build/pyfftw/include -I/Users/iz9/Library/Enthought/Canopy_64bit/User/build/ pyfftw/pyfftw -I/Applications/Canopy.app/appdata/canopy-1.4.1.1975.macosx-x86_64/Canopy.app/Contents/lib/python2.7/site-packages/numpy/core/include -I/Applications/キャノピー。app/appdata/canopy-1.4.1.1975.macosx-x86_64/Canopy.app/Contents/include/python2.7 -c /Users/iz9/Library/Enthought/Canopy_64bit/User/build/pyfftw/pyfftw/pyfftw.c - o build/temp.macosx-10.6-x86_64-2.7/Users/iz9/Library/Enthought/Canopy_64bit/User/build/pyfftw/pyfftw/pyfftw.o
/Users/iz9/Library/Enthought/Canopy_64bit/User/build/pyfftw/pyfftw/pyfftw.c:256 から含まれるファイル:
/Applications/Canopy.app/appdata/canopy-1.4.1.1975.macosx-x86_64/Canopy.app/Contents/lib/python2.7/site-packages/numpy/core/include/numpy/arrayobject.h から含まれるファイル:4:
/Applications/Canopy.app/appdata/canopy-1.4.1.1975.macosx-x86_64/Canopy.app/Contents/lib/python2.7/site-packages/numpy/core/include/numpy/ndarrayobject.h から含まれるファイル:17:
/Applications/Canopy.app/appdata/canopy-1.4.1.1975.macosx-x86_64/Canopy.app/Contents/lib/python2.7/site-packages/numpy/core/include/numpy/ndarraytypes.h から含まれるファイル:1760:
/Applications/Canopy.app/appdata/canopy-1.4.1.1975.macosx-x86_64/Canopy.app/Contents/lib/python2.7/site-packages/numpy/core/include/numpy/npy_1_7_deprecated_api.h:15:2 : 警告: "非推奨の NumPy API を使用して、無効にしてください"
警告 "非推奨の NumPy API を使用して、無効にしてください" \
^
/Users/iz9/Library/Enthought/Canopy_64bit/User/build/pyfftw/pyfftw/pyfftw.c:260:10: 致命的なエラー: 'fftw3.h' ファイルが見つかりません
「fftw3.h」を含める
1 つの警告と 1 つのエラーが生成されました。
エラー: コマンド 'gcc' が終了ステータス 1 で失敗しました
クリーンアップ... Command /Users/iz9/Library/Enthought/Canopy_64bit/User/bin/python -c "import setuptools, tokenize; file ='/Users/iz9/Library/Enthought/Canopy_64bit/User/build/pyfftw/ setup.py';exec(compile(getattr(tokenize, 'open', open)( file ).read().replace('\r\n', '\n'), file , 'exec'))"インストール --record /var/folders/sc/wm52xk5528b2m95ztnh15clj5lkhmb/T/pip-29rHyR-record/install-record.txt --single-version-externally-managed --compile --install-headers /Users/iz9/Library/ Enthought/Canopy_64bit/User/include/site/python2.7 が /Users/iz9/Library/Enthought/Canopy_64bit/User/build/pyfftw にエラー コード 1 で失敗しました /Users/iz9/.pip/pip に失敗のデバッグ ログを保存しています。ログ
numpy - numpyよりも高速化するためにpyfftwを適切に使用する
私は Matlab から numpy への飛躍を試みている最中ですが、fft の速度がどうしても必要です。これでpyfftwのことはわかりましたが、きちんと使っているかはわかりません。私のアプローチは次のようになります
ビルダー関数と、pyfftw を介した scipy および numpy fft 呼び出しへの標準インターフェイスがあることを感謝します。ただし、これらはすべて非常にゆっくりと動作しています。最初に fft_object のインスタンスを作成し、それをグローバルに使用することで、numpy の fft 呼び出しと同じかわずかに速い速度を得ることができました。
とはいえ、暗黙のうちに叡智が蓄えられているという前提で取り組んでいます。本当?それを明示する必要がありますか?もしそうなら、それを行う最善の方法は何ですか?
また、timeit は完全に不透明だと思います。私はそれを正しく使用していますか?リピートと呼ぶほどの知恵の蓄えでしょうか。あなたが与えることができるかもしれないどんな助けにも前もって感謝します.