我有一个大小为*rel_change
的张量和一个大小为m * n
的向量。我想将n
的第一列的每个值除以x
的第一个值,依此类推。
似乎tensorflow不支持y
。我怎么能这样做?
我尝试使用tf.divide((x,y), axis=...)
,但却产生了错误。
答案 0 :(得分:0)
TensorFlow基本操作支持broadcasting:
import tensor flow as tf
import numpy as np
A = np.array([[1, 2], [3, 4], [5, 6]])
B = np.array([2, 2])
a = tf.placeholder(tf.float32)
b = tf.placeholder(tf.float32)
d = a / b
with tf.Session() as sess:
print(sess.run(d, {a:A, b:B}))
[[0.5 1. ]
[1.5 2. ]
[2.5 3. ]]
如果您重新塑造B
,它也会起作用:
import numpy as np
A = np.array([[1., 2], [3, 4.], [5, 6]])
B = np.array([1., 2., 3.]).reshape((3,1))
a = tf.placeholder(tf.float32)
b = tf.placeholder(tf.float32)
d = a / b
with tf.Session() as sess:
print(sess.run(d, {a:A, b:B}))