Spec-Zone.ru › TensorFlow 2.3

tf.debugging.assert_shapes

Просмотреть исходный код на GitHub

Проверка форм тензоров и соотношений размеров размерностей между тензорами.

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 Если статическая проверка определит любое нарушение ограничения формы.

© 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/r2.3/api_docs/python/tf/debugging/assert_shapes

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API