Broadcasting is the process of making arrays with different shapes have compatible shapes for arithmetic operations. In numpy, we can broadcast arrays. Does TensorFlow graph support broadcasting similar to the numpy one?
Asked
Active
Viewed 6,064 times
4
-
2Yes, if you just google "tensorflow broadcasting" you will find plenty of examples like [this](https://learningtensorflow.com/broadcasting/). – jdehesa Apr 23 '18 at 09:13
2 Answers
3
yes it is supported. Open a terminal and try this:
import tensorflow as tf
#define tensors
a=tf.constant([[10,20],[30,40]]) #Dimension 2X2
b=tf.constant([5])
c=tf.constant([2,2])
d=tf.constant([[3],[3]])
sess=tf.Session() #start a session
#Run tensors to generate arrays
mat,scalar,one_d,two_d = sess.run([a,b,c,d])
#broadcast multiplication with scalar
sess.run(tf.multiply(mat,scalar))
#broadcast multiplication with 1_D array (Dimension 1X2)
sess.run(tf.multiply(mat,one_d))
#broadcast multiply 2_d array (Dimension 2X1)
sess.run(tf.multiply(mat,two_d))
sess.close()

Pratik Kumar
- 2,211
- 1
- 17
- 41
1
The short answer is yes.
c.f. Tensorflow Math doc
Note: Elementwise binary operations in TensorFlow follow numpy-style broadcasting.
c.f. tf.add()
doc, or tf.multiply()
doc, etc.:
NOTE: [the operation] supports broadcasting. More about broadcasting here

benjaminplanche
- 14,689
- 5
- 57
- 69
-
-
The wrong link was shared, sorry. The answer has been updated. You can also check @jdehesa's link. – benjaminplanche Apr 23 '18 at 10:44