問題タブ [numpy-einsum]

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.

0 投票する
3 に答える
1702 参照

python - `numpy.einsum` で 26 文字を超える文字を使用できますか?

np.einsum次のような確率テーブルを乗算するために使用しています。

問題は、全体で 26 を超える確率変数 (軸) を扱っているため、各確率変数に文字を割り当てると、文字が不足することです。上記の操作を指定して、この問題を回避する別の方法はありますnp.sumnp.dot?

0 投票する
1 に答える
365 参照

python - numpy einsum: ネストされたドット積

私は2つの-by-by-n配列と、例えば、k3ab

そして、「トリプレット」のすべてのペアの内積を計算するのが好きです。つまり、

それを行うためのより良い方法はおそらくeinsumですが、インデックスをまっすぐに取得できないようです。

ここにヒントはありますか?

0 投票する
1 に答える
109 参照

python - 2D 配列で NumPy 三重積をベクトル化

N x N以下と呼ばれる配列で、次の三重積演算をベクトル化しようとしていpます。

numpy.einsum繰り返されるインデックスを実際に合計しているわけではありませんが、ここで役立つはずだと思いましたが、特定できませんでした。考え?

0 投票する
2 に答える
162 参照

python - numpy 配列の計算/操作

この計算をできるだけ早く行うことを検討しています。X を nxm numpy 配列として持っています。Yを次のように定義したい:

Y_11 = 1 / (exp(X_11-X_11) + exp(X_11-X_12) + ... exp(X_11 - X_1N) ).

または Y_00 の場合

1/np.sum(np.exp(X[0,0]-X[0,:]))

したがって、基本的に、Y も nxm であり、i,j 要素は 1 / sum_j' exp(X_ij - X_ij') です。

どんなヒントも素晴らしいでしょう!ありがとう。

リクエストされたサンプルコード:

0 投票する
2 に答える
1379 参照

python - einsum との外積

多くの 3x1 ベクトル ペアの外積をできるだけ速く計算しようとしています。これ

は正しい答えを与えますが、同様の質問に対するこの答えに動機付けられて、私はそれeinsumが私をどこかに連れて行くと思いました. 両方あることが分かった

外積を計算しますが、そのパフォーマンスは期待外れです: どちらの方法も よりもはるかに悪いパフォーマンスを発揮しますnp.cross:

sを改善する方法についてのアイデアはありますeinsumか?

0 投票する
1 に答える
172 参照

numpy - 多次元配列製品で、総和あり/なしで軸を揃えるにはどうすればよいですか?

合計されたインデックスとそうでないインデックスが繰り返される場合、配列操作を行う最良の方法は何ですか? これらの操作に使用する必要があるようですが、整列されているが合計されていないディメンションのフラグを使用 einsumする代替手段があればより良いでしょう。tensordot

一部の軸を合計せずに整列できることを除いて、テンソルドットのように動作する高速数値ルーチン(おそらくlapackで?)を知っている人はいますか?

==

必要な配列操作のタイプを示すコード例を次に示します。私が必要とする操作はmethod_sum、 、method_einsum、およびによって行われmethod_matmulます。同様の演算は、一致する j 軸で合計され、 および によって実行されmethod2_einsumますmethod2_tensordot

時間を比較すると、最初の問題tensordotを打ち負かすことができるはずです。einsumただし、軸を合計せずに軸を揃える機能はありません。

ここに、私のコンピューターでのさまざまなルーチンのいくつかの時間があります。method2Tensordot は、複数のコアを使用するため、einsum を上回ることができます。tensordotJ 軸と L 軸の両方が揃っているが、L 軸のみが合計される計算のようなパフォーマンスを実現したいと考えています。

0 投票する
1 に答える
249 参照

python - numpy.einsum のような theano で batch_tensordot を使用する方法

形状 (3, 4, 5) の tensor3 と形状 (3, 4, 7, 5) の別の tensor4 があります。ナンパでは、

しかし、テアノでは、それを行う方法。