Tensorboard 显示计算图节点信息

时间:2022-07-23
本文章向大家介绍Tensorboard 显示计算图节点信息,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

参考文献 强烈推荐Tensorflow 实战 Google 深度学习框架[1]实验平台: Tensorflow1.4.0 python3.5.0

  • TensorFlow 不仅可以展示计算图的结构,还可以展示 TensorFlow 计算图上每个节点的基本信息以及运行时消耗的时间和空间。这可以帮助更加有针对性地优化 TensorFlow 程序,使得整个程序的运行速度更快。使用 TensorBoard 可以非常直观地展现所有 TensorFlow 计算节点在某一次运行时所消耗的时间和内存。
with tf.Session() as sess:
    tf.global_variables_initializer().run()
    for i in range(TRAINING_STEPS):
        xs, ys = mnist.train.next_batch(BATCH_SIZE)

        if i%1000 == 0:
            # 配置运行时需要记录的信息。
            run_options = tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE)
            # 运行时记录运行信息的proto。
            run_metadata = tf.RunMetadata()
            # 将配置信息和记录运行信息的proto传入运行的过程,从而记录运行时每一个节点的时间空间开销信息
            _, loss_value, step = sess.run(
                [train_op, loss, global_step], feed_dict={x: xs, y_: ys},
                options=run_options, run_metadata=run_metadata)
            writer.add_run_metadata(run_metadata=run_metadata, tag=("tag%d"%i), global_step=i)
            print("After %d training step(s), loss on training batch is %g."%(step, loss_value))
        else:
            _, loss_value, step = sess.run([train_op, loss, global_step], feed_dict={x: xs, y_: ys})
  • 左侧栏的按钮下拉菜单可以选择图中显示的程序运行次数。
  • 可以选择显示计算图的结构以及计算图中节点计算所用的时间和内存
    • 下图显示计算图中节点计算所用时间
    • 下图显示计算图中节点计算所用内存

参考资料

[1]Tensorflow实战Google深度学习框架: https://github.com/caicloud/tensorflow-tutorial/tree/master/Deep_Learning_with_TensorFlow/1.4.0