• Tensorflow timeline trace


    根据 

    https://github.com/tensorflow/tensorflow/issues/1824

    简单进行了测试

    修改运行的脚本增加如下关键代码

    例如mnist_softmax.py

    from __future__ import absolute_import
     
    from __future__ import division
     
    from __future__ import print_function
     
    # Import data
     
    from tensorflow.examples.tutorials.mnist import input_data
     
    from tensorflow.python.client import timeline
     
     
    import tensorflow as tf
     
     
    flags = tf.app.flags
     
    FLAGS = flags.FLAGS
     
    flags.DEFINE_string('data_dir''/tmp/data/''Directory for storing data')
     
    mnist = input_data.read_data_sets(FLAGS.data_dir, one_hot=True)
     
    # Create the model
     
    = tf.placeholder(tf.float32, [None784])
     
    = tf.Variable(tf.zeros([78410]))
     
    = tf.Variable(tf.zeros([10]))
     
    = tf.nn.softmax(tf.matmul(x, W) + b)
     
    # Define loss and optimizer
     
    y_ = tf.placeholder(tf.float32, [None10])
     
    cross_entropy = tf.reduce_mean(-tf.reduce_sum(y_ * tf.log(y), reduction_indices=[1]))
     
    train_step = tf.train.GradientDescentOptimizer(0.5).minimize(cross_entropy)
     
    # Train
     
    intiOp = tf.initialize_all_variables()
     
    # Init run_metadata
     
    run_metadata = tf.RunMetadata()
     
    # Open file to save trace
     
    trace_file = open('/tmp/timeline.ctf.json''w')
     
    sess = tf.Session()
     
    sess.run(intiOp)
     
    for in range(500):
     
      batch_xs, batch_ys = mnist.train.next_batch(100)
     
      sess.run(train_step, feed_dict={x: batch_xs, y_: batch_ys},
     
               options=tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE),
     
               run_metadata=run_metadata)
     
    # Test trained model
     
    correct_prediction = tf.equal(tf.argmax(y, 1), tf.argmax(y_, 1))
     
    accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
     
    print(sess.run(accuracy, feed_dict={x: mnist.test.images, y_: mnist.test.labels}))
     
    #timeline
     
    trace = timeline.Timeline(step_stats=run_metadata.step_stats)
     
    trace_file.write(trace.generate_chrome_trace_format())

    打开chrome浏览器输入

    chrome://tracing/

    选择Load按钮加载输出的json文件

    W,S按键可以缩放,A,D按键可以移动,具体帮助点击右上角“?”按钮

  • 相关阅读:
    CSS 选择器之复合选择器
    答辩ppt
    开题报告
    ADS1110/ADS1271
    电感、磁珠和零欧电阻的区别
    ROM、RAM、DRAM、SRAM和FLASH区别
    运放的带宽
    ADC 分辨率和精度的区别
    Verilog
    C语言 文件读取
  • 原文地址:https://www.cnblogs.com/xuchenCN/p/5888646.html
Copyright © 2020-2023  润新知