मैं चार tensorsVectorising numpy.einsum
निम्नलिखित है- एच (ज, आर)
- ए (एक, आर)
- डी (घ, आर)
- टी (एक, टी , आर)
a
में प्रत्येक i
के लिए, वहाँ आकार (t, r)
की इसी T[i]
है। पाश के लिए एक का उपयोग किए बिना
pred = np.einsum('hr, ar, dr, tr ->hadt', H, A, D, T[0])
for i in range(a):
pred[:, i:i+1, :, :] = np.einsum('hr, ar, dr, tr ->HADT', H, A[i:i+1], D, T[i])
हालांकि, मैं इस गणना करना चाहते हैं:
मैं एक np.einsum
करने के लिए निम्न परिणाम (pred
) का उत्पादन करने की जरूरत है। कारण यह है कि मैं autograd
का उपयोग कर रहा हूं जो वर्तमान में आइटम असाइनमेंट के साथ काम नहीं करता है!
धन्यवाद! मैं किसी भी तरह (गलत तरीके से) सोचा था कि यह एक बुरा अभ्यास हो सकता है कि समान वर्णों को ईन्सम स्ट्रिंग में दोहराया जाए। जैसे, हमारे पास दो -> '' के एलएचएस पर हैं। मुझे लगता है कि यह प्रतिबंध '->' के आरएचएस पर लागू होता है? विभिन्न चर के लिए एलएचएस पर –
@ निपुनबत्रा पुनरावृत्ति का अर्थ है उन्हें गठबंधन रखें। स्पष्ट कारणों से एक चर के लिए पुनरावृत्ति की अनुमति नहीं है या एलएचएस या आरएचएस की अनुमति नहीं है। – Divakar
'ii' ट्रेस है, 'ii-> i' विकर्ण है। 'मैं, मैं' और 'मैं, मैं-> मैं भी ठीक हूँ। आउटपुट में '-> ii' दोहराया जाना गलत है। – hpaulj