将张量值剪辑到指定的最小值和最大值。
用法
tf.clip_by_value(
t, clip_value_min, clip_value_max, name=None
)
参数
-
t
一个Tensor
或IndexedSlices
。 -
clip_value_min
要剪辑到的最小值。标量Tensor
或可广播为t
形状的标量。 -
clip_value_max
剪辑到的最大值。标量Tensor
或可广播为t
形状的标量。 -
name
操作的名称(可选)。
返回
-
剪辑的
Tensor
或IndexedSlices
。
抛出
-
tf.errors.InvalidArgumentError
:如果剪辑张量会触发数组广播,这会使返回的张量大于输入。 -
TypeError
如果输入的dtype是int32
并且clip_value_min
或clip_value_max
的dtype是float32
给定一个张量 t
,此操作返回一个与 t
具有相同类型和形状的张量,其值被裁剪为 clip_value_min
和 clip_value_max
。任何小于 clip_value_min
的值都设置为 clip_value_min
。任何大于 clip_value_max
的值都设置为 clip_value_max
。
注意:clip_value_min
需要小于或等于 clip_value_max
才能获得正确的结果。
例如:
基本用法将标量作为最小值和最大值传递。
t = tf.constant([[-10., -1., 0.], [0., 2., 10.]])
t2 = tf.clip_by_value(t, clip_value_min=-1, clip_value_max=1)
t2.numpy()
array([[-1., -1., 0.],
[ 0., 1., 1.]], dtype=float32)
最小值和最大值可以与 t
的大小相同,或者可以广播到该大小。
t = tf.constant([[-1, 0., 10.], [-1, 0, 10]])
clip_min = [[2],[1]]
t3 = tf.clip_by_value(t, clip_value_min=clip_min, clip_value_max=100)
t3.numpy()
array([[ 2., 2., 10.],
[ 1., 1., 10.]], dtype=float32)
如果您要扩展t
的尺寸,广播会故意失败
t = tf.constant([[-1, 0., 10.], [-1, 0, 10]])
clip_min = [[[2, 1]]] # Has a third axis
t4 = tf.clip_by_value(t, clip_value_min=clip_min, clip_value_max=100)
Traceback (most recent call last):
InvalidArgumentError:Incompatible shapes:[2,3] vs. [1,1,2]
如果您尝试将 int
剪辑到 float
值(tf.cast
首先是 float
的输入),它会抛出 TypeError
。
t = tf.constant([[1, 2], [3, 4]], dtype=tf.int32)
t5 = tf.clip_by_value(t, clip_value_min=-3.1, clip_value_max=3.1)
Traceback (most recent call last):
TypeError:Cannot convert ...
相关用法
- Python tf.clip_by_norm用法及代码示例
- Python tf.clip_by_global_norm用法及代码示例
- Python tf.compat.v1.distributions.Multinomial.stddev用法及代码示例
- Python tf.compat.v1.distribute.MirroredStrategy.experimental_distribute_dataset用法及代码示例
- Python tf.compat.v1.data.TFRecordDataset.interleave用法及代码示例
- Python tf.compat.v1.distributions.Bernoulli.cross_entropy用法及代码示例
- Python tf.compat.v1.Variable.eval用法及代码示例
- Python tf.compat.v1.train.FtrlOptimizer.compute_gradients用法及代码示例
- Python tf.compat.v1.layers.conv3d用法及代码示例
- Python tf.compat.v1.strings.length用法及代码示例
- Python tf.cast用法及代码示例
- Python tf.compat.v1.data.Dataset.snapshot用法及代码示例
- Python tf.compat.v1.data.experimental.SqlDataset.reduce用法及代码示例
- Python tf.compat.v1.feature_column.categorical_column_with_vocabulary_file用法及代码示例
- Python tf.compat.v1.data.TextLineDataset.from_tensors用法及代码示例
- Python tf.compat.v1.variable_scope用法及代码示例
- Python tf.compat.v1.data.experimental.SqlDataset.as_numpy_iterator用法及代码示例
- Python tf.compat.v1.distributions.Bernoulli.covariance用法及代码示例
- Python tf.compat.v1.placeholder用法及代码示例
- Python tf.compat.v1.layers.Conv3D用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.clip_by_value。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。