Tensorflow: узнайте версию CUDA / CuDNN, против которой построено предварительно построенное колесо тензорного потока - PullRequest
0 голосов
/ 18 октября 2019

У меня уже есть установленный tenorflow-gpu 1.14, однако я установил его через предварительно созданное колесо, поэтому не знаю, против какой версии CUDA / CuDNN он изначально построен. Как это выяснить?

Причина, по которой я задаю этот вопрос, заключается в том, что в моем случае я хочу сначала установить определенное колесо Tensorflow, а затем установить требуемую версию CUDA / CuDNN для поддержки моего Tensorflow. Если библиотека CUDA / CuDNN во время выполнения не совпадает с исходной библиотекой CuDA / CuDNN, на основе которой построен Tensorflow, может возникнуть ошибка «Не удалось найти« cudart64_80.dll »» или «несоответствие библиотеки cudnn, встроенной в 7.1.5, время выполнения 7.0.5 ".

В моем случае, в частности, сообщение об ошибке «tenorflow / stream_executor / platform / default / dso_loader.cc: 53] Не удалось открыть библиотеку 'libcudnn.so.7'; dlerror: libcudnn.so.7:невозможно открыть общий объектный файл: нет такого файла или каталога; LD_LIBRARY_PATH: /usr/local/cuda/lib64:/usr/local/cuda-9.0/lib64:"

Эта ошибка странная, поскольку libcudnn.so. 7 фактически установлен и правильно связан, см.

$ sudo ldconfig -p | grep libcudnn.so.7  
        libcudnn.so.7 (libc6,AArch64) => /usr/local/cuda/lib64/libcudnn.so.7  
        libcudnn.so.7 (libc6,AArch64) => /usr/lib/aarch64-linux-gnu/libcudnn.so.7  
$ ls -alh /usr/local/cuda/lib64/libcudnn.so.7  
lrwxrwxrwx 1 root root 44 Oct 17 19:17 /usr/local/cuda/lib64/libcudnn.so.7 -> /usr/lib/aarch64-linux-gnu/libcudnn.so.7.1.4  
$ ls -alh /usr/lib/aarch64-linux-gnu/libcudnn.so.7  
lrwxrwxrwx 1 root root 44 Oct 17 17:48 /usr/lib/aarch64-linux-gnu/libcudnn.so.7 -> /usr/lib/aarch64-linux-gnu/libcudnn.so.7.1.4

Мои процессы отладки, (1) я попытался найти пакет tenorflow в моей системе с помощью

$ python -c "import tensorflow as tf; print(tf.__file__)"
***/lib/python3.5/site-packages/tensorflow/__init__.py

(2) я тогдаПерейдите в этот каталог и попытайтесь найти жестко запрограммированную информацию о сборке

$ cat python/platform/build_info.py 
is_cuda_build = True
cuda_version_number = '9.0'
cudnn_version_number = '7.1'

Однако, если это правда, я все еще не могу понять, почему происходит ошибка.

Примечания:
1. Ссылка на исходную привязку Tensorflow-to-CUDA / CuDNN не работает, потому что мой тензор потока установлен через предварительно созданное колесо.
2. Проверка времени выполнения CUDA / CuDNN не отвечает на вопрос, я спрашиваюбиблиотека на этапе сборки.
3. Re-установка Tensorflow на основе среды выполнения CUDA / CuDNN не является предпочтительным решением.

...