Как установить интерфейс инструментов CUDA Profiling на Windows 10 - PullRequest
0 голосов
/ 03 января 2019

Моя цель - выяснить использование памяти встроенными в нейронные модели моделями тензорного потока. Поэтому я понял, что мне нужно установить следующую библиотеку: CUDA Profiling Tools Interface на моем компьютере с Windows 10. Следовательно, это может произойти просто через: sudo apt-get install libcupti-dev в Linux. Какова эквивалентность этой команды в Windows 10? Обратите внимание, что на моей машине установлен CUDA v9.0 с тензорным потоком 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)

Любая помощь очень ценится!

1 Ответ

0 голосов
/ 04 января 2019

Проблема решена в соответствии с https://github.com/tensorflow/tensorflow/issues/6235 @menggangmark as:

"Файл cupti64_90.dll находится в C: \ Program Files \ NVIDIA GPU Computing Toolkit \ CUDA \ v9.0 \ extras\ CUPTI \ libx64. Я только что исправил проблему, скопировав dll в C: \ Program Files \ NVIDIA GPU Computing Toolkit \ CUDA \ v8.0 \ bin, и файл cupti.lib в том же месте в C: \ Program Files\ NVIDIA GPU Computing Toolkit \ CUDA \ v9.0 \ lib \ x64. И это работает! "

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...