给出等级1的张量,例如。 p = [x y z w]
,我如何在提供的边界内“最小 - 最大限度地钳制”:max = [1 10 5 3]
和min = [-1 -10 -5 -3]
,使p
中的第i个元素始终位于定义的边界内通过min i 和max i
额外:是否可以为排名>执行此操作1?
答案 0 :(得分:0)
我发现以下解决方案足够了。请参阅tf.minimum和tf.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]