tf.data.experimental.enable_debug_mode
Включает режим отладки для tf.data.
tf.data.experimental.enable_debug_mode()
Пример использования с модулем pdb:
import tensorflow as tf import pdb tf.data.experimental.enable_debug_mode() def func(x): # Python 3.7 and older requires `pdb.Pdb(nosigint=True).set_trace()` pdb.set_trace() x = x + 1 return x dataset = tf.data.Dataset.from_tensor_slices([1, 2, 3]) dataset = dataset.map(func) for item in dataset: print(item)
Эффект режима отладки двойственный:
1) Любые преобразования, которые вносят асинхронность, параллельность или недетерминизм в выполнение входной конвейера, будут принудительно выполняться синхронно, последовательно и детерминированно.
2) Любые пользовательские функции, передаваемые в преобразования tf.data, такие как map, будут обернуты в tf.py_function, так что их тело будет выполняться «немедленно» как Python-функция, а не как отслеженный граф TensorFlow, что является стандартным поведением. Обратите внимание, что даже при включенном режиме отладки пользовательская функция по-прежнему отслеживается для вывода формы и типа её выходов; как следствие, любые print инструкции или точки останова будут срабатывать один раз во время трассировки до фактического выполнения входного конвейера.
Примечание: Поскольку настройка режима отладки влияет на построение входного конвейера tf.data, её следует включить до любых определений tf.data.
| Возбуждает | |
|---|---|
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/data/experimental/enable_debug_mode