Я использую Tensorflow v 1.14.0. Я работаю в Windows 10. А вот как выглядят релевантные переменные среды в PATH:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\libnvvp
C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common
C:\Users\sinthes\AppData\Local\Programs\Python\Python37
C:\Users\sinthes\AppData\Local\Programs\Python\Python37\Scripts
C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\cuda\bin

Возможно, также стоит упомянуть, на всякий случай это может быть уместно. Я использую Sublime Text 3 для разработки и не использую Anaconda. Мне кажется немного громоздким вносить обновления в тензорный поток в среде conda, поэтому я просто сейчас использую Sublime Text. (Я использовал Anaconda (Spyder) ранее, но я удалил его с моего компьютера.)

Вещи, кажется, работают хорошо, за исключением некоторых странных предупреждений. Но одно непротиворечивое предупреждение, которое я получаю, заключается в следующем, когда я запускаю функцию fit.

E tensorflow/core/platform/default/device_tracer.cc:68] CUPTI error: CUPTI could not be loaded or symbol could not be found.

А вот как я называю функцию подгонки:

history = model.fit(x=train_x,
                    y=train_y,
                    batch_size=BATCH_SIZE,
                    epochs=110,
                    verbose=2,
                    callbacks=[tensorboard, checkpoint, reduce_lr_on_plateau],
                    validation_data=(dev_x, dev_y),
                    shuffle=True,
                    class_weight=class_weight,
                    steps_per_epoch=None,
                    validation_steps=None)

Мне просто интересно, почему я вижу сообщение CUPTI Error во время выполнения? Распечатывается только один раз. Это то, что мне нужно исправить, или это можно игнорировать? Это сообщение не говорит мне ничего конкретного, чтобы я мог предпринять какие-либо действия.

17
edn 3 Июл 2019 в 00:21

5 ответов

Лучший ответ

Вот что решило «мою» проблему:

Я просто заменил tensorflow v 1.14 на tensorflow v 1.13.1. И никаких сообщений CUPTI . И даже некоторые другие странные предупреждения / проблемы исчезли. Очевидно, что у всех проблем должны быть конкретные причины, но, к сожалению, Tensorflow (много раз) не предоставляет понятных сообщений об ошибках / предупреждений, которые дают хорошее / справедливое представление, которое помогает решить проблему. И я трачу часы (даже дни) на такие странные проблемы, которые значительно снижают мою производительность.

Одним из общих выводов для меня (это может быть уместно, чтобы поделиться здесь) является то, что я не должен спешить обновить мою установку tenorflow до последней версии. Последний почти никогда не бывает стабильным, и когда бы я ни пытался, я тратил значительное время на проблемы, вызванные тензорным потоком. Плохая документация и сообщения об ошибках затрудняют работу.

Если у кого-то есть лучший ответ, он / она с радостью поделится своими соображениями по проблеме, которой я поделился в этом вопросе.

1
edn 3 Июл 2019 в 23:25

Интерфейс инструментов профилирования NVIDIA® CUDA (CUPTI) - это динамическая библиотека, которая позволяет создавать инструменты профилирования и трассировки, предназначенные для приложений CUDA.

Похоже, что разработчики Tensorflow добавили CPUTI для профилирования. Вы можете просто проигнорировать ошибку, если вы не возражаете против исключения или адаптируете свой путь среды, чтобы динамически связанная библиотека (DLL) могла быть найдена во время выполнения.

Внутри вашего установочного каталога CUDA находится каталог extras\CUPTI\lib64, содержащий cupti64_101.dll, который пытается быть загружен. Добавление этого каталога к вашему пути должно решить проблему, например,

SET PATH=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1\extras\CUPTI\lib64;%PATH%

Нотабене если вы получаете INSUFFICIENT_PRIVILEGES ошибку, попробуйте следующее. запустить вашу программу от имени администратора.

1
Alexander Pacha 3 Ноя 2019 в 18:25

Добавьте это в path для Windows:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\extras\CUPTI\libx64
3
Laurenz Albe 21 Авг 2019 в 13:27

Этот ответ для Ubuntu-16.04 .

У меня была эта проблема, когда я обновился до Tensorflow-1.14 с Python2.7 и Python3.6. Мне пришлось добавить /usr/local/cuda/extras/CUPTI/lib64 в LD_LIBRARY_PATH с помощью export LD_LIBRARY_PATH=/usr/local/cuda/extras/CUPTI/lib64:$LD_LIBRARY_PATH, а также выйти из системы и войти в систему. source ~/.bashrc не помог. Обратите внимание, что моя папка cuda указывала на cuda-10.0.

2
Ruthvik Vaila 7 Ноя 2019 в 16:17

У меня была похожая ошибка при попытке получить график тензорной доски, я думаю, что это повлияет на вас, только если вы планируете использовать тензорную доску.

Я нашел решение в этом посте, но это для Linux https://gist.github.com/Brainiarc7/6d6c3f23ea057775b9a251717/9c25171717925255 Я думаю, вам нужно создать файл конфигурации библиотеки для Cupti.

2
MichaelChen 3 Июл 2019 в 03:44