【问题标题】:Device placement unknown in TensorboardTensorboard 中的设备位置未知
【发布时间】:2016-03-01 12:53:05
【问题描述】:

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

# 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)

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

【问题讨论】:

    标签: tensorflow tensorboard


    【解决方案1】:

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

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

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

    sess = tf.Session(config=tf.ConfigProto(
        log_device_placement=True))
    

    ...然后设备放置决策将记录到标准错误。

    【讨论】:

    • 我明白了,这就是我现在正在使用的。可惜还没实现!
    • 现在是 TF 2.6。我怎么能用签名来做到这一点。
    猜你喜欢
    • 2021-05-04
    • 2021-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多