我们都知道tf.clip_by_value(A, min, max)可以实现将张量A中元素限制在两个值之间。 即输入一个张量A,把A中的每一个元素的值都压缩在min和max之间。小于min的让它等于min,大于max的元素的值等于max。 可是我想要实现将张量A中的元素每个位置都使用不同的取值范围,即把张量限制在两个极值张量之间代码如下: import tensorflow as tf import numpy as np A=np.arange( 12 ).reshape(( 3 , 4 )) B=np.array( [[1,2,3,4], [1,2,3,4], [1,2,3,4]] ) C=np.array( [[9,9,9,9], [9,9,9,9], [9,9,9,9]] ) print ( 'A:\n' ,A) print ( 'B:\n' ,B) print ( 'C:\n' ,C) with tf.Session() as sess: print ( 'result:\n' ,sess.run(tf.clip_by_value(A, B, C))) 输出如下: A: [[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] B: [[1 2 3 4] [1 2 3 4] [1 2 3 4]] C: [[9 9 9 9] [9 9 9 9] [9 9 9