मैं PyTorch में कई मैट्रिक्स के मैट्रिक्स गुणन करने की कोशिश कर रहा हूं और सोच रहा था कि PyTorch में numpy.linalg.multi_dot()
के बराबर क्या है?
यदि कोई नहीं है, तो अगला सबसे अच्छा तरीका क्या है (गति और स्मृति के मामले में) मैं इसे PyTorch में कर सकता हूं?
कोड:
import numpy as np
import torch
A = np.random.rand(3, 3)
B = np.random.rand(3, 3)
C = np.random.rand(3, 3)
results = np.linalg.multi_dot(A, B, C)
A_tsr = torch.tensor(A)
B_tsr = torch.tensor(B)
C_tsr = torch.tensor(C)
# What is the PyTorch equivalent of np.linalg.multi_dot()?
बहुत धन्यवाद!
1 उत्तर
~~ऐसा लगता है कि कोई मल्टी_डॉट में टेंसर भेज सकता है~~
ऐसा लगता है कि numpy कार्यान्वयन सब कुछ numpy arrays में डाल देता है। यदि आपके टेंसर सीपीयू पर हैं और अलग हो गए हैं तो यह काम करना चाहिए। अन्यथा, numpy में रूपांतरण विफल हो जाएगा।
तो सामान्य तौर पर - संभावना है कि कोई विकल्प नहीं है। मुझे लगता है कि आपका सबसे अच्छा शॉट multi_dot
कार्यान्वयन करना है, उदा। यहां से numpy v1.19.0 के लिए< /a> और इसे टेंसर को संभालने के लिए समायोजित करें / कास्ट को numpy पर छोड़ दें। समान इंटरफ़ेस और कोड सादगी को देखते हुए मुझे लगता है कि यह बहुत सीधा होना चाहिए।
संबंधित सवाल
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।