tensorflow - Tensorboard 不显示所有操作的运行时/内存

标签 tensorflow runtime profiling tensorboard

我有一个在 TensorFlow 中实现的网络,它需要很长时间来训练,因此想要对其​​进行分析以查看哪些部分导致了较长的运行时间。

为此,我按照说明 here捕获运行时和内存信息。我的代码如下所示:

// define network
loss = ...
train_op = tf.train.AdamOptimizer().minimize(loss, global_step=global_step)

// run forward and backward prop for one batch
run_metadata = tf.RunMetadata()
options = tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE)
_,loss,sum = sess.run([train_op,loss,sum], feed_dict=fd, options=options, run_metadata=run_metadata)
writer.add_run_metadata(run_metadata, 'step_%d' % step)

然后我可以在 TensorBoard 中看到“ session 运行”。但是,一旦我加载 session 运行,我图中的大多数操作就会变成橙色,如下所示,并且没有运行时或内存信息可供它们使用:

enter image description here

根据传说,这些操作是“未使用的”。但事实并非如此,因为除了“loss”和“opt”之外,几乎所有内容都这样显示。显然,必须使用整个网络来计算损失。所以我真的不明白为什么图表是这样显示的。

我在 Tesla K40c 上使用 TF 1.3。

最佳答案

我曾经遇到和你一样的问题,除了梯度和优化器操作之外,Tensorboard 在我的 session 运行中没有注册任何东西。

我通过将我的 Tensorflow 版本升级到 1.4 版本来修复它。

关于tensorflow - Tensorboard 不显示所有操作的运行时/内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46932481/

相关文章:

python - 在 Tensorflow 中使用 InceptionV3 进行预测

python - 无法从 TensorFlow 或 Keras 中的 Google Cloud Storage 存储桶加载图像

python - 获取 ValueError : setting an array element with a sequence from tf. contrib.keras.preprocessing.image.ImageDatagenerator.flow

objective-c - 如何在运行时删除 Objective-C 2.0 中的实例方法?

java - 运行时生成 spring xml 文件

python - python 服务器进程的性能监控/分析(类似于 New Relic)

shell - 在 Emacs 中分析 shell 命令

python - 为什么 SparseCategoricalCrossentropy 不适用于此机器学习模型?

c - 为什么我在 3D 中计算欧几里得距离的 Julia 实现比我的 C 实现更快

python - 使用许多同时请求(如 ab)对 Django 应用程序进行基准测试