为 tf.data 启用调试模式。
用法
tf.data.experimental.enable_debug_mode()
抛出
-
ValueError
从图形模式调用时。
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)
调试模式的效果是two-fold:
1) 任何会在输入管道执行中引入异步、并行或非确定性的转换都将被迫同步、顺序和确定性地执行。
2) 任何传递给 tf.data 转换的用户定义函数,例如 map
都将被包装在 tf.py_function
中,以便它们的主体作为 Python 函数执行 "eagerly",而不是跟踪的 TensorFlow 图,这是默认的行为。请注意,即使启用了调试模式,仍会跟踪用户定义的函数以推断其输出的形状和类型;因此,任何print
语句或断点都将在输入管道实际执行之前的跟踪期间触发一次。
注意:由于调试模式设置会影响 tf.data 输入管道的构建,因此应在任何 tf.data 定义之前启用它。
相关用法
- Python tf.data.experimental.enumerate_dataset用法及代码示例
- Python tf.data.experimental.RandomDataset.group_by_window用法及代码示例
- Python tf.data.experimental.SqlDataset.enumerate用法及代码示例
- Python tf.data.experimental.make_saveable_from_iterator用法及代码示例
- Python tf.data.experimental.SqlDataset.zip用法及代码示例
- Python tf.data.experimental.Counter用法及代码示例
- Python tf.data.experimental.SqlDataset.shard用法及代码示例
- Python tf.data.experimental.CsvDataset.window用法及代码示例
- Python tf.data.experimental.RandomDataset.cache用法及代码示例
- Python tf.data.experimental.SqlDataset.snapshot用法及代码示例
- Python tf.data.experimental.CsvDataset.apply用法及代码示例
- Python tf.data.experimental.DatasetInitializer用法及代码示例
- Python tf.data.experimental.ignore_errors用法及代码示例
- Python tf.data.experimental.unbatch用法及代码示例
- Python tf.data.experimental.RandomDataset.map用法及代码示例
- Python tf.data.experimental.CsvDataset.flat_map用法及代码示例
- Python tf.data.experimental.assert_cardinality用法及代码示例
- Python tf.data.experimental.CsvDataset.random用法及代码示例
- Python tf.data.experimental.save用法及代码示例
- Python tf.data.experimental.CsvDataset.cardinality用法及代码示例
注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.data.experimental.enable_debug_mode。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。