函数原型:
tf.clip_by_value(
t,
clip_value_min,
clip_value_max,
name=None
)
将一个张量的值限制在给定的最小值和最大值之间。对于给定的张量t,返回的张量与之有着相同的类型和相同的大小,只是它的值在clip_value_min和clip_value_max之间。任何比clip_value_min小的数设置成clip_value_min,任何比clip_value_max大的数被设置成clip_value_max.
参数:
t:是一个张量;
clip_value_min:是一个实数的张量,或者是一个和t大小一样的张量。
clip_value_max:是一个实数的张量,或者是跟t大小一样的张量。
name:是这个操作的名字(可选)
代码:
import tensorflow as tf
def clip_ts(tensor, vmax=1.0, vmin=-1.0):
return tf.clip_by_value(tensor, clip_value_min=vmin, clip_value_max=vmax)
t=tf.constant([[1.0,2.0,0.3],[3.0,-1.0,0.5]])
with tf.Session() as sess:
print(sess.run(clip_ts(t)))
结果: