Tensorboard中的设备放置未知

pan*_*ari 9 tensorflow tensorboard

我想使用以下代码调查张量板中的设备放置,以便在摘要中生成图形

# Build the summary operation based on the TF collection of Summaries.
summary_op = tf.merge_all_summaries()
saver = tf.train.Saver(tf.all_variables())
summary_writer = tf.train.SummaryWriter(log_directory, graph_def=sess.graph_def)
Run Code Online (Sandbox Code Playgroud)

这适用于显示图表中定义的图表和摘要.但是当在张量板中选择"设备放置"时,所有节点都被分配给"未知设备".我是否需要以其他方式转储设备放置?

mrr*_*rry 11

TensorBoard图形可视化工具只能看到您在程序中进行的显式设备分配(即使用with tf.Device("..."):块进行的分配).

原因是TensorFlow图中的节点分配给多个阶段的设备.客户端中的第一个阶段(例如您的Python程序)允许您显式地和可选地将设备分配给每个节点,并且此阶段的输出将写入TensorBoard日志.稍后的放置阶段在TensorFlow后端内部运行,并将每个节点分配给设备.

我怀疑你想要分析后期放置阶段的结果.目前TensorBoard中不支持此功能,但您可以通过创建tf.Session如下信息来提取一些信息:

sess = tf.Session(config=tf.ConfigProto(
    log_device_placement=True))
Run Code Online (Sandbox Code Playgroud)

...然后设备放置决策将记录到stderr.