Tensorflow,第i个元素min-max钳位

时间:2018-02-18 15:36:54

标签: tensorflow

给出等级1的张量,例如。 p = [x y z w],我如何在提供的边界内“最小 - 最大限度地钳制”:max = [1 10 5 3]min = [-1 -10 -5 -3],使p中的第i个元素始终位于定义的边界内通过min i 和max i

额外:是否可以为排名>执行此操作1?

1 个答案:

答案 0 :(得分:0)

我发现以下解决方案足够了。请参阅tf.minimumtf.maximum的文档。解决方案:

import tensorflow as tf

p = tf.Variable([-1, 1, 3, 7])

clamp_min = tf.Variable([1, 1, 1, 1])
clamp_max = tf.Variable([5, 5, 5, 5])

p = tf.minimum(p, clamp_max)
p = tf.maximum(p, clamp_min)

sess = tf.Session()
init = tf.global_variables_initializer()
sess.run(init)

print(sess.run(p))

产地:

[1 1 3 5]