【发布时间】:2019-05-30 09:22:47
【问题描述】:
我的目标是弄清楚在 tensorflow 中构建的神经网络模型的内存使用情况。因此,我发现我必须在我的 windows 10 机器上安装以下库:CUDA Profiling Tools Interface。因此,这可以简单地通过:Linux 上的sudo apt-get install libcupti-dev 来实现。此命令在 Windows 10 上的等效性是什么?请注意,我的机器上有 CUDA v9.0 和 tensorflow 1.8。
我尝试了以下代码:
import os
import tempfile
import tensorflow as tf
from tensorflow.contrib.layers import fully_connected as fc
from tensorflow.examples.tutorials.mnist import input_data
from tensorflow.python.client import timeline
batch_size = 100
inputs = tf.placeholder(tf.float32, [batch_size, 784])
targets = tf.placeholder(tf.float32, [batch_size, 10])
with tf.variable_scope("layer_1"):
fc_1_out = fc(inputs, num_outputs=500, activation_fn=tf.nn.sigmoid)
with tf.variable_scope("layer_2"):
fc_2_out = fc(fc_1_out, num_outputs=784, activation_fn=tf.nn.sigmoid)
with tf.variable_scope("layer_3"):
logits = fc(fc_2_out, num_outputs=10)
loss = tf.reduce_mean(
tf.nn.softmax_cross_entropy_with_logits(logits=logits, labels=targets))
train_op = tf.train.GradientDescentOptimizer(0.01).minimize(loss)
if __name__ == '__main__':
mnist_save_dir = os.path.join(tempfile.gettempdir(), 'MNIST_data')
mnist = input_data.read_data_sets(mnist_save_dir, one_hot=True)
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
with tf.Session(config=config) as sess:
sess.run(tf.global_variables_initializer())
options = tf.RunOptions(trace_level=tf.RunOptions.FULL_TRACE)
run_metadata = tf.RunMetadata()
for i in range(3):
batch_input, batch_target = mnist.train.next_batch(batch_size)
feed_dict = {inputs: batch_input,
targets: batch_target}
sess.run(train_op,
feed_dict=feed_dict,
options=options,
run_metadata=run_metadata)
fetched_timeline = timeline.Timeline(run_metadata.step_stats)
chrome_trace = fetched_timeline.generate_chrome_trace_format()
with open('timeline_02_step_%d.json' % i, 'w') as f:
f.write(chrome_trace)
我收到以下错误:
2019-01-03 13:49:50.347482: I T:\src\github\tensorflow\tensorflow\stream_executor\dso_loader.cc:142] Couldn't open CUDA library cupti64_90.dll
2019-01-03 13:49:50.347629: F T:\src\github\tensorflow\tensorflow/stream_executor/lib/statusor.h:212] Non-OK-status: status_ status: Failed precondition: could not dlopen DSO: cupti64_90.dll; dlerror: cupti64_90.dll not found
Process finished with exit code -1073740791 (0xC0000409)
非常感谢任何帮助!
【问题讨论】:
-
我早就下载了这个工具包。但我现在只想下载 CUDA Profiling Tools Interface,而不是整个工具包,因为它与 tensorflow 不兼容
-
再次下载或重新运行您拥有的 CUDA 版本的安装程序并按照我链接到的说明进行操作
-
@talonmies,我正在查看我机器上的CUDA文件夹,发现cupti已经下载到以下文件夹:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\extras\CUPTI这个文件夹包含include,libwin32,@ 987654328@、sample和Readme... 所以我不知道接下来应该怎么做以避免重新安装 CUDA -
没什么,已经安装好了。从 CUDA 的角度来看,你已经完成了
标签: tensorflow memory-management cuda