問題タブ [numba]
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 - Python 用の numba のインストール
Python用のnumbaをインストールしようとしていますが、ホームページの指示に従った後、extension_typesページが見つからないというこのエラーが発生しました。
誰かが私が間違っていることを知っているか、インストールする必要があるものを見逃していたら、とても感謝しています。
事前にどうもありがとうございました。
編集:numbaを次の方法でインストールしました:
pip経由でインストールしようとすると、次のエラーが発生します。
python-3.3 - Python 3.3 で Numba がクラッシュする 64
このブログ投稿から例を複製しようとしています:
http://jakevdp.github.io/blog/2013/06/15/numba-vs-cython-take-2/
Numba を認識した後、次のトレースバックを取得します。
私はPythonにかなり慣れていないので、これを自分で処理できませんでした。最初の実行では、scipy パッケージ + numba を使用し、依存関係をここからダウンロードしました: http://www.lfd.uci.edu/~gohlke/pythonlibs/、winpython (python を完全に再インストール) で同じことを試しましたが、同じ結果が得られました. Python のバージョンは 3.3 64 です
python - コードのベクトル化または最適化に助けが必要
最初にデータを補間してサーフェスを作成することにより、二重積分を実行しようとしています。numba を使用してこのプロセスを高速化しようとしていますが、時間がかかりすぎます。
これが私のコードで、コードを実行するために必要な画像はhereとhereにあります。
makefile - Numba のインストールと「make check-all」
仮想環境にnumbaをインストールしようとしています。Numba には llvm と、llvmpy の Python ラッパーと思われるものが必要です。次の手順を使用して正常にインストールしました。
ただし、正しい手順を知りたいです。たとえば、 と の行REQUIRES_RTTI=1 make
でsudo REQUIRES_RTTI=1 make install
は、変数 REQUIRES_RTTI が繰り返されています。それは必要ですか?
numba のドキュメントによると、それは実行REQUIRES_RTTI=1 make install
を推奨し、llvmpy は を推奨しREQUIRES_RTTI=1 make
ているため、若干の違いがあります。各ステップが何をしているのかよくわからないので、何が起こっているのか、これらすべてのステップが厳密に必要かどうかについての一般的な説明をいただければ幸いです。
さらに、 とはmake check-all
?llvm に関連する質問に特に関連していることを見てきましたが、その目的が何であるかはわかりません。
llvmpy のドキュメントからの別の提案は、別のディレクトリ (--prefix) を使用してインストールすることです。なぜそれが推奨されるアプローチなのですか?
どうもありがとう
python - 配列に割り当てるとNumbaが遅くなりますか?
Numba は、数値コードの実行を高速化する優れたソリューションのようです。ただし、配列への割り当てがある場合、Numba は標準の Python コードよりも遅いようです。Numba の有無にかかわらず、配列/スカラーに書き込む 4 つの選択肢を比較するこの例を考えてみましょう。
(計算は、スカラーへの割り当てと配列セルへの割り当てという問題に焦点を当てるために、意図的に非常に単純に保たれています)
IPython の %timeit を使用して、取得した 4 つの選択肢を評価します。
Numba でコンパイルされていないsum_arr は、Numba でコンパイルされた fast_sum_arr よりも 2 倍以上高速です。一方、Numba でコンパイルされた fast_sum_sclr は、Numbaでコンパイルされていない sum_sclr よりも 2 桁以上高速です。
そのため、Numba は sum_sclr を高速化するタスクを非常にうまく実行しますが、実際には sum_arr の実行を遅くします。sum_sclr と sum_arr の唯一の違いは、前者はスカラーに割り当てられ、後者は配列セルに割り当てられることです。
関係があるかどうかはわかりませんが、最近ブログhttp://www.phi-node.com/で次のことを読みました。
「Numba が直接サポートしていない構造に直面すると、(非常に) 遅いコード パスに切り替えることが判明しました。」
ブログの著者は、Python の max() の代わりに if ステートメントを使用して、Numba のパフォーマンスを大幅に高速化しました。
これに関する洞察はありますか?
ありがとう、
FS