最初,我用全局最大值询问了这一点,但是当您放入尺寸时,只减去tf.reduce_max()
的解决方案不起作用。我想要类似的东西
mytensor - tf.reduce_max(mytensor, 1)
但这会产生尺寸误差。
我无法使用
tf.constant(value = tf.reduce_max(mytensor,1) , shape = mytensor.get_shape()[1])
具有指定值,因为reduce_max()
的输出是张量而不是常量。
答案 0 :(得分:1)
对于全局最大值,您可以执行以下操作:
import tensorflow as tf
inp = tf.constant([[1, 2, 3],[4,5,6]
])
res=tf.reduce_max(inp)
res1=inp-res
sess = tf.Session()
print(sess.run(res))
print(sess.run(res1))
然后res是6而res1是
[[-5 -4 -3]
[-2 -1 0]]
如果你想减去每一行中的最大元素,这将完成工作:
import tensorflow as tf
inp = tf.constant([[1, 2, 3],[6,6,6]
])
res=tf.reduce_max(inp,1)
res1=inp-tf.reshape(res,[-1,1])
sess = tf.Session()
print(sess.run(res1))
然后res1
是
[[-2 -1 0]
[ 0 0 0]]