【发布时间】:2019-12-22 22:53:34
【问题描述】:
根据documentation,tf.data.Datasets 在图形模式下工作(在 Eager 和图形模式下):
请注意,无论定义 map_func 的上下文如何(eager vs. graph),tf.data 都会跟踪函数并将其作为图执行
在 Tensorflow 1.X 中,我们可以在 Tensorboard 中轻松绘制此图:处理函数绘制在子图中。
例如,
def _parse_function(x):
return x * 2
x = tf.constant([0 , 1])
dataset = tf.data.Dataset.from_tensor_slices(x)
dataset = dataset.map(_parse_function)
在Tensorboard中,出现一个子图,对应_parse_function:
但是,在 Tensorflow 2.0 中,这不会在 Tensorboard 图中生成任何可见元素。 以下代码不会根据 Tensorboard 生成任何图形:
def _parse_function(x):
return x * 2
logdir = 'logs'
writer = tf.summary.create_file_writer(logdir)
tf.summary.trace_on(graph=True, profiler=True)
x = tf.constant([0 , 1])
dataset = tf.data.Dataset.from_tensor_slices(x)
dataset = dataset.map(_parse_function)
with writer.as_default():
tf.summary.trace_export(
name="trace",
step=0,
profiler_outdir=logdir)
那么,既然调用map时会创建一个图表,有没有办法访问/可视化这个图表?
【问题讨论】:
标签: python tensorflow tensorboard tensorflow-datasets tensorflow2.0