問題タブ [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.
python - `numpy.einsum` で 26 文字を超える文字を使用できますか?
np.einsum
次のような確率テーブルを乗算するために使用しています。
問題は、全体で 26 を超える確率変数 (軸) を扱っているため、各確率変数に文字を割り当てると、文字が不足することです。上記の操作を指定して、この問題を回避する別の方法はありますnp.sum
かnp.dot
?
python - numpy einsum: ネストされたドット積
私は2つの-by-by-n
配列と、例えば、k
3
a
b
そして、「トリプレット」のすべてのペアの内積を計算するのが好きです。つまり、
それを行うためのより良い方法はおそらくeinsum
ですが、インデックスをまっすぐに取得できないようです。
ここにヒントはありますか?
python - 2D 配列で NumPy 三重積をベクトル化
N x N
以下と呼ばれる配列で、次の三重積演算をベクトル化しようとしていp
ます。
numpy.einsum
繰り返されるインデックスを実際に合計しているわけではありませんが、ここで役立つはずだと思いましたが、特定できませんでした。考え?
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') です。
どんなヒントも素晴らしいでしょう!ありがとう。
リクエストされたサンプルコード:
python - einsum との外積
多くの 3x1 ベクトル ペアの外積をできるだけ速く計算しようとしています。これ
は正しい答えを与えますが、同様の質問に対するこの答えに動機付けられて、私はそれeinsum
が私をどこかに連れて行くと思いました. 両方あることが分かった
外積を計算しますが、そのパフォーマンスは期待外れです: どちらの方法も よりもはるかに悪いパフォーマンスを発揮しますnp.cross
:
sを改善する方法についてのアイデアはありますeinsum
か?
numpy - 多次元配列製品で、総和あり/なしで軸を揃えるにはどうすればよいですか?
合計されたインデックスとそうでないインデックスが繰り返される場合、配列操作を行う最良の方法は何ですか? これらの操作に使用する必要があるようですが、整列されているが合計されていないディメンションのフラグを使用 einsum
する代替手段があればより良いでしょう。tensordot
一部の軸を合計せずに整列できることを除いて、テンソルドットのように動作する高速数値ルーチン(おそらくlapackで?)を知っている人はいますか?
==
必要な配列操作のタイプを示すコード例を次に示します。私が必要とする操作はmethod_sum
、 、method_einsum
、およびによって行われmethod_matmul
ます。同様の演算は、一致する j 軸で合計され、 および によって実行されmethod2_einsum
ますmethod2_tensordot
。
時間を比較すると、最初の問題tensordot
を打ち負かすことができるはずです。einsum
ただし、軸を合計せずに軸を揃える機能はありません。
ここに、私のコンピューターでのさまざまなルーチンのいくつかの時間があります。method2
Tensordot は、複数のコアを使用するため、einsum を上回ることができます。tensordot
J 軸と L 軸の両方が揃っているが、L 軸のみが合計される計算のようなパフォーマンスを実現したいと考えています。
python - numpy.einsum のような theano で batch_tensordot を使用する方法
形状 (3, 4, 5) の tensor3 と形状 (3, 4, 7, 5) の別の tensor4 があります。ナンパでは、
しかし、テアノでは、それを行う方法。