断言张量之间的张量形状和尺寸大小关系。
用法
tf.compat.v1.debugging.assert_shapes(
shapes, data=None, summarize=None, message=None, name=None
)
参数
-
shapes
的列表 (Tensor
,shape
) 元组,其中shape
是预期的形状Tensor
.请参阅上面的示例代码。这shape
必须是可迭代的。可迭代的每个元素可以是具体的整数值,也可以是抽象表示维度的字符串。例如,('N', 'Q')
指定二维形状,其中形状的第一维和第二维可能相等,也可能不相等。('N', 'N', 'Q')
指定第一个和第二个维度相等的 3D 形状。(1, 'N')
指定二维形状,其中第一个维度正好是 1,第二个维度可以是任何值。请注意,抽象维度字母在列表的不同元组元素中生效。例如,tf.debugging.assert_shapes([(x, ('N', 'A')), (y, ('N', 'B'))]
断言x
和y
都是 rank-2 张量,并且它们的第一个维度相等(N
)。shape
也可以是tf.TensorShape
。
-
data
如果条件为 False,则打印出的张量。默认为错误消息和违规张量的前几个条目。 -
summarize
打印这么多张量条目。 -
message
默认消息的前缀字符串。 -
name
此操作的名称(可选)。默认为"assert_shapes"。
返回
-
除非满足所有形状约束,否则操作会提高
InvalidArgumentError
。如果静态检查确定满足所有约束条件,则返回no_op
。
抛出
-
ValueError
如果静态检查确定违反了任何形状约束。
此操作检查张量形状关系的集合是否满足给定的约束。
例子:
n = 10
q = 3
d = 7
x = tf.zeros([n,q])
y = tf.ones([n,d])
param = tf.Variable([1.0, 2.0, 3.0])
scalar = 1.0
tf.debugging.assert_shapes([
(x, ('N', 'Q')),
(y, ('N', 'D')),
(param, ('Q',)),
(scalar, ()),
])
tf.debugging.assert_shapes([
(x, ('N', 'D')),
(y, ('N', 'D'))
])
Traceback (most recent call last):
ValueError:...
将依赖项添加到操作的示例:
with tf.control_dependencies([tf.assert_shapes(shapes)]):
output = tf.matmul(x, y, transpose_a=True)
如果 x
, y
, param
或 scalar
不具有满足所有指定约束的形状,则 message
以及第一个遇到的违规张量的第一个 summarize
条目将被打印,并引发 InvalidArgumentError
。
指定形状中的大小条目通过其哈希值与其他条目进行检查,除了:
- 如果可以将大小条目解析为整数原语,则将其解释为显式大小。
- 如果大小条目为 None 或 '.',则将其解释为任何大小。
如果形状的第一个条目是...
(类型Ellipsis
)或'*',表示未指定大小的可变数量的外部尺寸,即约束仅适用于inner-most尺寸。
标量张量和长度为零的指定形状(不包括'inner-most' 前缀)都被视为具有大小为一的单一维度。
相关用法
- Python tf.compat.v1.depth_to_space用法及代码示例
- 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.data.Dataset.snapshot用法及代码示例
- Python tf.compat.v1.data.experimental.SqlDataset.reduce用法及代码示例
- Python tf.compat.v1.data.TextLineDataset.from_tensors用法及代码示例
- Python tf.compat.v1.data.experimental.SqlDataset.as_numpy_iterator用法及代码示例
- Python tf.compat.v1.distributions.Bernoulli.covariance用法及代码示例
- Python tf.compat.v1.data.FixedLengthRecordDataset.skip用法及代码示例
- Python tf.compat.v1.data.experimental.RandomDataset.bucket_by_sequence_length用法及代码示例
- Python tf.compat.v1.data.Dataset.random用法及代码示例
- Python tf.compat.v1.distributions.Normal.log_survival_function用法及代码示例
- Python tf.compat.v1.data.experimental.SqlDataset.concatenate用法及代码示例
- Python tf.compat.v1.data.experimental.SqlDataset.cardinality用法及代码示例
- Python tf.compat.v1.distributions.Laplace.stddev用法及代码示例
- Python tf.compat.v1.data.TextLineDataset.filter用法及代码示例
- Python tf.compat.v1.data.experimental.RandomDataset.skip用法及代码示例
- Python tf.compat.v1.data.experimental.SqlDataset.padded_batch用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.compat.v1.debugging.assert_shapes。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。