Spec-Zone.ru › TensorFlow 1.15

tf.contrib.eager.run_test_in_graph_and_eager_modes

Выполнить помеченный тест с включенной и выключенной функцией eager выполнения.

tf.contrib.eager.run_test_in_graph_and_eager_modes(
    func=None, config=None, use_gpu=True, reset_test=True,
    assert_no_eager_garbage=False
)

Эта функция возвращает декоратор, предназначенный для применения к методам тестов в классе tf.test.TestCase. Это заставит содержимое метода теста выполняться дважды — один раз в обычном режиме и один раз с включённым eager выполнением. Это позволяет юнит-тестам подтвердить эквивалентность выполнения в режиме eager и в режиме графа (см. tf.compat.v1.enable_eager_execution).

Например, рассмотрим следующий юнит-тест:

class MyTests(tf.test.TestCase):

  @run_in_graph_and_eager_modes
  def test_foo(self):
    x = tf.constant([1, 2])
    y = tf.constant([3, 4])
    z = tf.add(x, y)
    self.assertAllEqual([4, 6], self.evaluate(z))

if __name__ == "__main__":
  tf.test.main()

Этот тест проверяет, что tf.add() имеет одинаковое поведение при вычислении с включённым eager выполнением, что и при построении графика TensorFlow и выполнении z тензора в сессии.

deprecated_graph_mode_only, run_v1_only, run_v2_only, и run_in_graph_and_eager_modes являются доступными декораторами для различных комбинаций v1/v2/eager/graph.

Аргументы
func функция, которая должна быть аннотирована. Если func равно None, эта функция возвращает декоратор, который можно применить к функции. Если func не равно None, возвращается декоратор, применённый к func.
config Необязательный config_pb2.ConfigProto для настройки сессии при выполнении графов.
use_gpu Если True, попытаться выполнить как можно больше операций на GPU.
reset_test Если True, tearDown и SetUp тестового случая между двумя выполнениями теста (один раз с включённым, а один раз с выключенным eager выполнением).
assert_no_eager_garbage Если True, устанавливает DEBUG_SAVEALL для сборщика мусора и проверяет, что при выполнении теста с включённым eager выполнением не создаётся дополнительный мусор. Это приведет к ошибке, если существуют циклы ссылок (например, a = []; a.append(a)). По умолчанию отключено, потому что некоторые тесты могут создавать мусор по законным причинам (например, они определяют класс, который наследует от object), и потому что DEBUG_SAVEALL может быть «липким» в некоторых интерпретаторах Python (что означает, что тесты, которые полагаются на то, что объекты собираются где-то ещё в файле юнит-теста, не будут работать). Кроме того, проверяет, что ни у чего нет ссылки на тензоры, выделенные тестом.
Возвращаемое значение
Возвращает декоратор, который дважды выполнит помеченный метод теста: один раз путем построения и выполнения графа в сессии, а другой раз с включённым eager выполнением.

© 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/contrib/eager/run_test_in_graph_and_eager_modes

Spec-Zone.ru

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