यदि मेरे पास दो सरणियाँ हैं a #25x25x3x5 और b #25x25x5x3, तो मैं a और b का डॉट उत्पाद 25x25x3x3 के साथ कैसे प्राप्त कर सकता हूं?

1
Qimin Chen 11 सितंबर 2020, 09:32

1 उत्तर

सबसे बढ़िया उत्तर

आप जो चाहते हैं वह डॉट उत्पाद नहीं बल्कि मैट्रिक्स गुणन है। आकार (ए, बी) और (बी, सी) वाले दो मैट्रिक्स के लिए इसे इस प्रकार परिभाषित किया गया है:

(ए, बी) * (बी, सी) = (ए, सी)

यह आपके पिछले दो आयामों और वांछित आउटपुट (3,5)*(5,3)=(3,3) से मेल खाता है।

आप np.matmul का इस्तेमाल कर सकते हैं इस तरह:

import numpy as np

a = np.random.uniform(0,1,size=(25,25,3,5))
b = np.random.uniform(0,1,size=(25,25,5,3))

x = np.matmul(a,b)

print(x.shape) # (25, 25, 3, 3)
0
runDOSrun 11 सितंबर 2020, 10:53