2016-03-24 14 views
7

टेंसरफ्लो में स्केलर द्वारा मैट्रिक्स को गुणा करने का सबसे अच्छा तरीका क्या होगा? मैं बस कुछ स्केलर मान द्वारा मैट्रिक्स को स्केल करना चाहता हूं।टेंसरफ्लो में मैट्रिक्स-स्केलर गुणा कैसे करें?

धन्यवाद!

उत्तर

5

आप तत्व के लिहाज सेtf.mul() ऑपरेशन है, जो परोक्ष आकार मिलान करने के लिए अपने तर्क का प्रसारण करता है का उपयोग कर एक अदिश द्वारा एक मैट्रिक्स (या किसी अन्य टेन्सर) गुणा कर सकते हैं:

x = tf.constant([[1.0, 0.0], [0.0, 1.0]]) 
y = tf.mul(x, 2.0) 

sess = tf.Session() 
print sess.run(y) 
# ==> [[2.0, 0.0], [0.0, 2.0]] 
+0

धन्यवाद! मुझे लगता है कि किसी एक एकल परिवर्तनीय टेंसर के लिए भी काम करता है जो 2.0 सही नहीं है? –

+0

ज़रूर! आप 'z = tf.Variable (some_scalar) कर सकते हैं; y = tf.mul (x, z) '(या' z = tf.constant (...) 'आदि)। – mrry

+1

TensorFlow 1.0 में tf.multiply() को नामित किया गया। यह भी ध्यान रखें कि एक समारोह tf.scalar_mul() है। –

1
scalar_mul(scalar, x) 

एक अदिश गुणा करता है Tensor या IndexedSlices ऑब्जेक्ट बार।

ढाल कोड में उपयोग जो IndexedSlices वस्तुओं, जो एक अदिश से गुणा करने के लिए आसान है, लेकिन मनमाना tensors के साथ गुणा को अधिक महंगे हैं के साथ सौदा हो सकता है के लिए लक्षित है।

Args: स्केलर: 0-डी स्केलर Tensor। ज्ञात आकार होना चाहिए। एक्स: Tensor या IndexedSlices स्केल किए जाने के लिए।

रिटर्न: एक ही प्रकार (Tensor या IndexedSlices) x के रूप में की scalar * x

संबंधित मुद्दे