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