numpy-einsum

    0

    1答えて

    いくつかの繰り返しインデックスが合算され、それ以外のインデックスが合算されていない場合、配列演算を行う最良の方法は何ですか?これらの操作にはeinsumを使用する必要があるようですが、整列されているが合計されていないディメンションのフラグを持つtensordotの代替があった方が良いでしょう。 誰かが、テンポルドのように動作する高速の数値ルーチン(lapackでおそらく?)を知っていますか? ==

    1

    1答えて

    私の最後の問題(Python tensor product)に関連する別の質問があります。そこで私は計算に間違いを見つけました。 np.tensordotを使って、私は以下の式を計算しています: < ..>平均を表示する必要があります。今、私は無視両方のpythonコードで、あらゆる可能性を掛けていることを q1 = numpy.tensordot(re, ewp, axes=(1, 0)) q

    0

    1答えて

    私はテンソル3の形状(3,4,5)とテンソル4の形状(3,4,5,7)を持っています。それを行うにはどのようにnumpyのは 、 result = np.einsum("ijk, ijmk->ijm", tensor3, tensor4) print result.shape (3, 4, 7) しかしtheanoで、。

    1

    1答えて

    3つのスパンテンソルのA = P * N、B = Q * N、C = R * Nがあります。積行列A * B * Cを計算する効率的な方法は何ですか。その結果、積行列の次元はテンソルフローでP * Q * Rになります。 私はtf.matmulを試して、tf.reshapeを続けましたが、上記で指定された次元の製品行列を与えません。 ありがとうございました。

    1

    1答えて

    私はテンソル(ndarrayオブジェクト)のリストLをいくつか持っています。私は接続のグラフに従ってこれらのインデックスを契約する必要があります。 接続は「テンソルL[n]のJ番目のインデックスを持つテンソルL[m]のI番目のインデックスを委託意味フォーム((m,i),(n,j))でタプルのリストでエンコードされている。 どのようにすることができます私は非自明な接続グラフを扱いますか?最初の問題は

    2

    1答えて

    私はnumpy einsumを使用して、shape(3、N)の列ベクトルptsの配列のドット積を計算します。 N、N)をすべてのドット積と置き換えます。これは私が使用するコードです: dotps = np.einsum('ij,ik->jk', pts, pts) これは動作しますが、私は主対角線の上の値が必要です。すなわち、結果の上三角部分は対角線なし。 einsumでこれらの値だけを計算す

    4

    2答えて

    この計算をできるだけ迅速に行うために探します。私はn×m numpyの配列としてXを持っています。だから、基本的に、Yはまた、ここで、i n×m個され、j個の要素が「1/sum_jある 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,:]))

    0

    2答えて

    [OK]を、私は、例えばと、行列を転置する方法を知っている:一次元配列の場合には A = np.arange(25).reshape(5, 5) print A array([[ 0, 1, 2, 3, 4], [ 5, 6, 7, 8, 9], [10, 11, 12, 13, 14], [15, 16, 17, 18, 19], [20, 21, 2