में बिलीनेर टेंसर उत्पाद मैं this paper को फिर से कार्यान्वित करने पर काम कर रहा हूं और मुख्य ऑपरेशन एक बिलीनेर टेंसर उत्पाद है। मुझे शायद ही पता है कि इसका क्या अर्थ है, लेकिन कागज में एक अच्छा छोटा ग्राफिक है, जिसे मैं समझता हूं।टेन्सोरफ्लो
कुंजी आपरेशन e_1 * डब्ल्यू * e_2 है, और मुझे पता है कि कैसे tensorflow में इसे लागू करने, क्योंकि बाकी आसान होना चाहिए चाहते हैं।
असल में, यह देखते हुए 3 डी टेन्सर डब्ल्यू, यह मैट्रिक्स में काट, और j'th टुकड़ा (एक मैट्रिक्स) के लिए, e_1 और e_2 द्वारा प्रत्येक पक्ष पर गुणा, एक अदिश है, जो है, जिसके परिणामस्वरूप परिणामी वेक्टर (इस ऑपरेशन के आउटपुट) में जेठ प्रविष्टि।
तो मैं डब्ल्यूe_1, एक घ आयामी वेक्टर, का एक उत्पाद प्रदर्शन करने के लिए चाहते हैं, घ एक्स डी एक्स कश्मीर टेन्सर, और e_2, एक और घ आयामी वेक्टर। क्या यह उत्पाद टेंसरफ्लो में संक्षेप में व्यक्त किया जा सकता है क्योंकि यह अब है, या मुझे किसी भी तरह अपना खुद का सेशन परिभाषित करना होगा?
पहले किए गए संपादन
इन tensors काम क्यों गुणा नहीं करता है, और वहाँ किसी तरह इसे और अधिक स्पष्ट रूप से इतना है कि यह काम करता है परिभाषित करने के लिए है?
>>> import tensorflow as tf
>>> tf.InteractiveSession()
>>> a = tf.ones([3, 3, 3])
>>> a.eval()
array([[[ 1., 1., 1.],
[ 1., 1., 1.],
[ 1., 1., 1.]],
[[ 1., 1., 1.],
[ 1., 1., 1.],
[ 1., 1., 1.]],
[[ 1., 1., 1.],
[ 1., 1., 1.],
[ 1., 1., 1.]]], dtype=float32)
>>> b = tf.ones([3, 1, 1])
>>> b.eval()
array([[[ 1.]],
[[ 1.]],
[[ 1.]]], dtype=float32)
>>>
त्रुटि संदेश
ValueError: Shapes TensorShape([Dimension(3), Dimension(3), Dimension(3)]) and TensorShape([Dimension(None), Dimension(None)]) must have the same rank
वर्तमान
बाहर कर देता है कि दो 3D tensors गुणा या तो tf.matmul
साथ काम नहीं करता है, इसलिए लेकिन tf.batch_matmul
करता है। tf.batch_matmul
3 डी टेंसर और मैट्रिस भी करेगा। फिर मैंने 3 डी और वेक्टर की कोशिश की:
ValueError: Dimensions Dimension(3) and Dimension(1) are not compatible
आप इसे एक सरल reshape के साथ कर सकते हैं। – mdaoust
क्या आपने पेपर को लागू करने का अंत किया था? – Apurv