tf.debugging.assert_shapes
Проверяет формы тензоров и соотношения размеров измерений между тензорами.
tf.debugging.assert_shapes(
shapes, data=None, summarize=None, message=None, name=None
)
Эта операция проверяет, удовлетворяют ли соотношения между формами набора тензоров заданным ограничениям.
Пример:
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: ...Если x, y, param или scalar имеет форму, не удовлетворяющую всем заданным ограничениям, выводятся message, а также первые summarize элементы первого обнаруженного тензора, нарушающего ограничения, и вызывается исключение InvalidArgumentError.
Элементы размеров в заданных формах сопоставляются с другими элементами по их хешу, за исключением следующих случаев:
- элемент размера интерпретируется как явный размер, если его можно разобрать как целое число.
- элемент размера интерпретируется как произвольный размер, если его значение равно None или '.'.
Если первый элемент формы — ... (тип Ellipsis) или '*', это означает переменное количество внешних измерений неопределённого размера, то есть ограничение применяется только к самым внутренним измерениям.
Скалярные тензоры и заданные формы нулевой длины (без префикса «самые внутренние») считаются имеющими одно измерение размера один.
| Аргументы | |
|---|---|
shapes | Словарь с элементами (Tensor и форма) или список кортежей вида (Tensor, форма). Форма должна быть итерируемым объектом. |
data | Тензоры, которые нужно вывести, если условие ложно. По умолчанию выводятся сообщение об ошибке и первые несколько элементов тензора, нарушающего ограничения. |
summarize | Количество элементов тензора для вывода. |
message | Строка, добавляемая в начало сообщения по умолчанию. |
name | Имя этой операции (необязательно). По умолчанию — "assert_shapes". |
| Вызывает исключения | |
|---|---|
ValueError | Если статические проверки обнаруживают нарушение какого-либо ограничения формы. |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/debugging/assert_shapes