TypeError:divide()得到一个意外的关键字参数'axis'

时间:2018-02-15 19:33:51

标签: tensorflow

我有一个大小为*rel_change的张量和一个大小为m * n的向量。我想将n的第一列的每个值除以x的第一个值,依此类推。

似乎tensorflow不支持y。我怎么能这样做?

我尝试使用tf.divide((x,y), axis=...),但却产生了错误。

1 个答案:

答案 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}))