問題タブ [numpy-ufunc]
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 で 3D 配列の操作をブロードキャストする時間のスケーリング
2 つの 3D 配列で ">" の単純な操作をブロードキャストしようとしています。1 つは次元 (m, 1, n) を持ち、もう 1 つは (1, m, n) です。3 番目の次元 (n) の値を変更すると、計算速度が n に比例することを単純に期待できます。
ただし、これを明示的に測定しようとすると、n を 1 から 2 に増やすと計算時間が約 10 倍増加し、その後スケーリングは線形になります。
n=1 から n=2 にすると、計算時間が大幅に増加するのはなぜですか? numpy でのメモリ管理のアーティファクトであると想定していますが、詳細を探しています。
コードは、結果のプロットと共に以下に添付されています。
操作をブロードキャストする時間のプロット
python - Numpyのufunc対基本的な算術演算子
要素ごとの配列操作を実行するために Universal Function(ufunc) が使用されていることがわかります。
このコードは に似ていarr + arr2
ます。その場合、なぜ ufunc を使用する必要があるのでしょうか。