は、tensordot http://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.tensordot.html は、2つの乗算のテンソルと合計与えられた指標です。これは正確にeinsumです。テンソルードとエインサンの違いは何ですか?私の理解のために
実際にこの2つの機能の違いは何ですか?それはパフォーマンスが異なるためですか?
は、tensordot http://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.tensordot.html は、2つの乗算のテンソルと合計与えられた指標です。これは正確にeinsumです。テンソルードとエインサンの違いは何ですか?私の理解のために
実際にこの2つの機能の違いは何ですか?それはパフォーマンスが異なるためですか?
これは、同様の問題に対する異なるアプローチです。 einsum
がより一般的です。速度も同様ですが、個々のケースを確認する必要があります。
tensordot
は、軸を再形成して置き換え、問題をnp.dot
で解決できるようにすることで機能します。コードdot
まではPythonですので、あなた自身で読むことができます。
einsum
は、物理学で使用されている「アインシュタイン表記」(彼のニーズと用途に合わせて書かれた科学者によって書かれたもの)で動作するように「地上から」構築されています。ドキュメンテーションはそれをカバーしています。それはCコードなので、少し勉強するのは難しいです。基本的には、インデックスの文字列を解析し、積和演算のいくつかの並べ替えを行い、入力配列を反復しますnditer
オブジェクトを構築します。あなただけのインデックス、対角線などする場所それは、これらの機能のいずれかについて尋ねた質問の数、または解答での使用を示唆があった場合には
を短いカットを取ることができます。新しいバージョンでは
異なる方法でdot
を一般np.matmul
もあります。これはPython3.5で新しい@
オペレータにリンクされています。