2017-10-07 40 views
0

我有旨在帮助TensorFlow程序我非正式基准我用的,更重要的是,了解分析工具来与TensorFlow一个GPU。代码没有什么,但设置了两个占位符的矩阵,和MATMUL运算,然后调用会话来填充占位符和执行图形十倍。Tensorflow时间轴元回来的NaN

下面是代码:当我看tensorboard图

n = 10240 
iter = 10 

tf.reset_default_graph() 
graph = tf.Graph() 
with graph.as_default(): 
    with tf.device("/gpu:0"): 
     matrix1 = tf.placeholder(tf.float32, [n, n], name="Matrix_One") 
     matrix2 = tf.placeholder(tf.float32, [n, n], name="Matrix_Two") 
     product = tf.matmul(matrix1, matrix2, name = "Matrix_Multiply") 

date = datetime.now() 
cwd = os.getcwd() 
LogBase = cwd + "/benchmarks2/" 
LogPath = LogBase + date.strftime("%Y%m%d-%H%M%S") + "/" 
print(LogPath) 

with tf.Session(graph=graph) as session: 
    tf.global_variables_initializer().run() 

    run_options = tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE) 
    run_metadata = tf.RunMetadata() 

    writer = tf.summary.FileWriter(LogPath, session.graph) 
    for i in range(iter): 
     m1 = np.random.rand(n, n) 
     m2 = np.random.rand(n, n) 
     feed_dict = { matrix1 : m1,matrix2 : m2} 
     p = session.run([product], feed_dict=feed_dict, options=run_options, run_metadata=run_metadata) 
     writer.add_run_metadata(run_metadata, 'step%2d' % i) 

    tf.summary.FileWriter(LogPath, graph).close() 

两个特点出现:

  • 注意,我跑十次迭代,但tensorboard只显示八个步骤,这似乎奇
  • 最重要的是,我从来没有看到任何东西,但对于NaN的计算时间或内存,如下图所示。注意选择了矩阵倍数操作。

为什么会这样,我怎么能解决这个问题? enter image description here

回答

0

您是否尝试过使用谷歌网页跟踪框架?这是分析计算和内存使用时间表的先前方法。

这不是一个回答你的问题,但它是比较和可能找出问题的好办法。