Tensorflow: Сбой: не удалось создать дескриптор cuDNN, когда используются свертки.

Созданный на 6 янв. 2017  ·  145Комментарии  ·  Источник: tensorflow/tensorflow

Tensorflow (GPU) был успешно импортирован, но при запуске сеанса, в котором задействована сверточная нейронная сеть (CNN), Python вылетает со следующим сообщением:

E tensorflow/stream_executor/cuda/cuda_dnn.cc:385] could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
E tensorflow/stream_executor/cuda/cuda_dnn.cc:352] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM
F tensorflow/core/kernels/conv_ops.cc:605] Check failed: stream->parent()->GetConvolveAlgorithms(&algorithms)

Проблема сохраняется при любой комбинации инструментария CUDA 7.5 / 8.0 и Tensorflow, установленного из pip / source. Сеансы тестирования, в которых не используются CNN, проходят успешно.

Какие связанные проблемы с GitHub или темы StackOverflow вы обнаружили, выполнив поиск в Интернете по своей проблеме?

Проблема похожа на https://github.com/tensorflow/tensorflow/issues/6586 , где я впервые прокомментировал. Но поскольку у меня проблема возникает на Mac, мне предложили открыть отдельную проблему.

Информация об окружающей среде

Операционная система: macOS Sierra 10.12.2
Xcode версии 8.2 (8C38) (Когда я позже попробовал CUDA 7.5, я установил Инструменты командной строки версии 7.3.1, потому что CUDA 7.5 не поддерживает более поздние компиляторы.)
Python 3.5.2 (анаконда)

Установленная версия CUDA: пробовал как 8.0 (изначально), так и 7.5 (здесь сообщается, только инструментарий - драйвер по-прежнему 8.0)
Установленная версия cuDNN: 5.1 (разные установки в зависимости от версий CUDA)
(приложите вывод ls -l /path/to/cuda/lib/libcud* ):

lrwxr-xr-x  1 root   wheel        33  5 Jan 20:33 /usr/local/cuda/lib/libcuda.1.dylib -> /usr/local/cuda/lib/libcuda.dylib
-rwxr-xr-x@ 1 root   wheel      8280 13 Apr  2016 /usr/local/cuda/lib/libcuda.dylib
lrwxr-xr-x@ 1 root   wheel        45 13 Apr  2016 /usr/local/cuda/lib/libcudadevrt.a -> /Developer/NVIDIA/CUDA-7.5/lib/libcudadevrt.a
lrwxr-xr-x@ 1 root   wheel        50 13 Apr  2016 /usr/local/cuda/lib/libcudart.7.5.dylib -> /Developer/NVIDIA/CUDA-7.5/lib/libcudart.7.5.dylib
lrwxr-xr-x@ 1 root   wheel        46 13 Apr  2016 /usr/local/cuda/lib/libcudart.dylib -> /Developer/NVIDIA/CUDA-7.5/lib/libcudart.dylib
lrwxr-xr-x@ 1 root   wheel        49 13 Apr  2016 /usr/local/cuda/lib/libcudart_static.a -> /Developer/NVIDIA/CUDA-7.5/lib/libcudart_static.a
lrwxr-xr-x  1 root   wheel        16  5 Jan 17:14 /usr/local/cuda/lib/libcudnn.5 -> libcudnn.5.dylib
-rwxr-xr-x@ 1 ymfa   staff  58975112 10 Jun  2016 /usr/local/cuda/lib/libcudnn.5.dylib
lrwxr-xr-x@ 1 ymfa   staff        16 10 Jun  2016 /usr/local/cuda/lib/libcudnn.dylib -> libcudnn.5.dylib
lrwxr-xr-x  1 root   wheel        16  5 Jan 17:14 /usr/local/cuda/lib/libcudnn5.dylib -> libcudnn.5.dylib
-rw-r--r--@ 1 ymfa   staff  56392320 10 Jun  2016 /usr/local/cuda/lib/libcudnn_static.a

Я попробовал установить как из пипса, так и из источника. Сначала я установил из двоичного пакета pip:

  1. Ссылка на установленный вами пакет pip:
    tensorflow-gpu
  2. Вывод из python -c "import tensorflow; print(tensorflow.__version__)" .
    0.12.head

Позже я установил из исходников (пакет pip был удален):

  1. Хеш фиксации ( git rev-parse HEAD )
    d67c09d98a576e1fbf2f3609ddb842e53890f31c
  2. Вывод bazel version

    Метка сборки: 0.4.3-homebrew
    Цель сборки: bazel-out / local-opt / bin / src / main / java / com / google / devtools / build / lib / bazel / BazelServer_deploy.jar
    Время сборки: 22 декабря, пятница, 15:20:15, 2016 (1482420015)
    Отметка времени сборки: 1482420015
    Отметка времени сборки как int: 1482420015

Если возможно, приведите минимально воспроизводимый пример.

Я сделал минимальный пример, упростив сеть и сократив обучающие данные до двадцати изображений и двух классов для классификации. issue.zip содержит код Python и данные. Я написал два сверточных слоя, потому что обнаружил, что сеть только с одним сверточным слоем работает без проблем.

Полный журнал с использованием CUDA 7.5 и Tensorflow, скомпилированного из исходников

I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcublas.7.5.dylib locally
I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcudnn.5.dylib locally
I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcufft.7.5.dylib locally
I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcuda.1.dylib locally
I tensorflow/stream_executor/dso_loader.cc:125] successfully opened CUDA library libcurand.7.5.dylib locally
W tensorflow/core/platform/cpu_feature_guard.cc:95] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:95] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:95] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:874] OS X does not support NUMA - returning NUMA node zero
I tensorflow/core/common_runtime/gpu/gpu_device.cc:885] Found device 0 with properties: 
name: GeForce GT 650M
major: 3 minor: 0 memoryClockRate (GHz) 0.9
pciBusID 0000:01:00.0
Total memory: 1023.69MiB
Free memory: 740.18MiB
I tensorflow/core/common_runtime/gpu/gpu_device.cc:906] DMA: 0 
I tensorflow/core/common_runtime/gpu/gpu_device.cc:916] 0:   Y 
I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GT 650M, pci bus id: 0000:01:00.0)
E tensorflow/stream_executor/cuda/cuda_dnn.cc:385] could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
E tensorflow/stream_executor/cuda/cuda_dnn.cc:352] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM
F tensorflow/core/kernels/conv_ops.cc:605] Check failed: stream->parent()->GetConvolveAlgorithms(&algorithms)

Полный журнал с использованием CUDA 8.0 и Tensorflow, установленного из pip

I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcublas.dylib locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcudnn.dylib locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcufft.dylib locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcuda.1.dylib locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcurand.dylib locally
I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:901] OS X does not support NUMA - returning NUMA node zero
I tensorflow/core/common_runtime/gpu/gpu_device.cc:885] Found device 0 with properties: 
name: GeForce GT 650M
major: 3 minor: 0 memoryClockRate (GHz) 0.9
pciBusID 0000:01:00.0
Total memory: 1023.69MiB
Free memory: 590.00MiB
I tensorflow/core/common_runtime/gpu/gpu_device.cc:906] DMA: 0 
I tensorflow/core/common_runtime/gpu/gpu_device.cc:916] 0: Y 
I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GT 650M, pci bus id: 0000:01:00.0)
E tensorflow/stream_executor/cuda/cuda_dnn.cc:385] could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED
E tensorflow/stream_executor/cuda/cuda_dnn.cc:392] error retrieving driver version: Invalid argument: expected %d.%d or %d.%d.%d form for driver version; got ""
E tensorflow/stream_executor/cuda/cuda_dnn.cc:352] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM
F tensorflow/core/kernels/conv_ops.cc:532] Check failed: stream->parent()->GetConvolveAlgorithms(&algorithms)
awaiting tensorflower builinstall

Самый полезный комментарий

Вот еще немного информации о том, как я временно решил эту проблему. Я считаю, что все эти проблемы связаны с распределением памяти графического процессора и не имеют ничего общего с сообщаемыми ошибками. До этого были и другие ошибки, указывающие на какую-то проблему с распределением памяти, но программа продолжала развиваться, в конечном итоге выдавая ошибки cudnn, которые возникают у всех. Причина, по которой я считаю, что это иногда работает, заключается в том, что если вы используете графический процессор для других вещей, помимо тензорного потока, таких как основной дисплей, доступная память колеблется. Иногда вы можете выделить то, что вам нужно, а иногда нет.

Из API
https://www.tensorflow.org/versions/r0.12/how_tos/using_gpu/
«По умолчанию TensorFlow отображает почти всю память графического процессора всех графических процессоров (с учетом CUDA_VISIBLE_DEVICES), видимых процессу. Это сделано для более эффективного использования относительно ценных ресурсов памяти графического процессора на устройствах за счет уменьшения фрагментации памяти».

Я думаю, что это распределение по умолчанию каким-то образом нарушено, что приводит к тому, что это неустойчивое поведение и одни ситуации работают, а другие - нет.

Я решил эту проблему, изменив поведение TF по умолчанию, выделив минимальный объем памяти и увеличив его по мере необходимости, как описано на веб-странице.
config = tf.ConfigProto ()
config.gpu_options.allow_growth = Истина
сессия = tf.Session (config = config, ...)

Я также пробовал альтернативный способ и смог заставить его работать и потерпеть неудачу, экспериментально выбрав процент, который работал. В моем случае это было около 0,7.

config = tf.ConfigProto ()
config.gpu_options.per_process_gpu_memory_fraction = 0.4
сессия = tf.Session (config = config, ...)

По-прежнему нет ни одного сообщения от кого-либо из команды TF, подтверждающего это, но стоит попробовать, чтобы увидеть, могут ли другие подтвердить подобное поведение.

Все 145 Комментарий

I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcurand.so locally
I tensorflow/core/common_runtime/gpu/gpu_device.cc:885] Found device 0 with properties:
name: GeForce GTX 1080
major: 6 minor: 1 memoryClockRate (GHz) 1.835
pciBusID 0000:02:00.0
Total memory: 7.92GiB
Free memory: 3.76GiB
I tensorflow/core/common_runtime/gpu/gpu_device.cc:906] DMA: 0
I tensorflow/core/common_runtime/gpu/gpu_device.cc:916] 0:   Y
I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 1080, pci bus id: 0000:02:00.0)
E tensorflow/stream_executor/cuda/cuda_dnn.cc:385] could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
E tensorflow/stream_executor/cuda/cuda_dnn.cc:352] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM
F tensorflow/core/kernels/conv_ops.cc:532] Check failed: stream->parent()->GetConvolveAlgorithms(&algorithms)

Я встретил ту же проблему, что и вы, с CUDA8 и TF r0.12.1.

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

Я могу подтвердить, что минимальный пример @ymfa не работает на MacOS NVidia 750, но тот же пример работает на Linux / Titan X

Минимальный пример работает на моем Ubuntu. Похоже, проблема, с которой я столкнулся, имеет очень низкую вероятность появления на моем компьютере.

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

Среда

ОС: macOS 10.12.2
Графический процессор: GeForce GT 750M
TF: 0.12.1 (установка пипса)
Python: 3.6.0
CUDA: 8.0
cuDNN: 5.1

(вывод ls -l /path/to/cuda/lib/libcud* ):

lrwxr-xr-x  1 root  wheel     33 Dec 14 14:25 /usr/local/cuda/lib/libcuda.1.dylib -> /usr/local/cuda/lib/libcuda.dylib
-rwxr-xr-x  1 root  wheel  13504 Dec  2 16:48 /usr/local/cuda/lib/libcuda.dylib
lrwxr-xr-x  1 root  wheel     45 Nov  3 11:40 /usr/local/cuda/lib/libcudadevrt.a -> /Developer/NVIDIA/CUDA-8.0/lib/libcudadevrt.a
lrwxr-xr-x  1 root  wheel     50 Nov  3 11:40 /usr/local/cuda/lib/libcudart.8.0.dylib -> /Developer/NVIDIA/CUDA-8.0/lib/libcudart.8.0.dylib
lrwxr-xr-x  1 root  wheel     46 Nov  3 11:40 /usr/local/cuda/lib/libcudart.dylib -> /Developer/NVIDIA/CUDA-8.0/lib/libcudart.dylib
lrwxr-xr-x  1 root  wheel     49 Nov  3 11:40 /usr/local/cuda/lib/libcudart_static.a -> /Developer/NVIDIA/CUDA-8.0/lib/libcudart_static.a
lrwxr-xr-x  1 root  wheel     47 Dec 14 10:21 /usr/local/cuda/lib/libcudnn.5.dylib -> /Developer/NVIDIA/CUDA-8.0/lib/libcudnn.5.dylib
lrwxr-xr-x  1 root  wheel     45 Dec 14 10:21 /usr/local/cuda/lib/libcudnn.dylib -> /Developer/NVIDIA/CUDA-8.0/lib/libcudnn.dylib
lrwxr-xr-x  1 root  wheel     48 Dec 14 10:21 /usr/local/cuda/lib/libcudnn_static.a -> /Developer/NVIDIA/CUDA-8.0/lib/libcudnn_static.a

Пример

Минимальный пример, предоставленный @ymfa, как успешный в моей настройке. Ниже приведены три полученных результата.
неудача (1)

I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcublas.dylib locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcudnn.dylib locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcufft.dylib locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcuda.1.dylib locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcurand.dylib locally
I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:901] OS X does not support NUMA - returning NUMA node zero
I tensorflow/core/common_runtime/gpu/gpu_device.cc:885] Found device 0 with properties: 
name: GeForce GT 750M
major: 3 minor: 0 memoryClockRate (GHz) 0.9255
pciBusID 0000:01:00.0
Total memory: 2.00GiB
Free memory: 1.76GiB
I tensorflow/core/common_runtime/gpu/gpu_device.cc:906] DMA: 0 
I tensorflow/core/common_runtime/gpu/gpu_device.cc:916] 0:   Y 
I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GT 750M, pci bus id: 0000:01:00.0)
Training...
E tensorflow/stream_executor/cuda/cuda_dnn.cc:385] could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
E tensorflow/stream_executor/cuda/cuda_dnn.cc:352] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM
F tensorflow/core/kernels/conv_ops.cc:532] Check failed: stream->parent()->GetConvolveAlgorithms(&algorithms) 
Abort trap: 6

провал (2)

I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcublas.dylib locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcudnn.dylib locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcufft.dylib locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcuda.1.dylib locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcurand.dylib locally
I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:901] OS X does not support NUMA - returning NUMA node zero
I tensorflow/core/common_runtime/gpu/gpu_device.cc:885] Found device 0 with properties: 
name: GeForce GT 750M
major: 3 minor: 0 memoryClockRate (GHz) 0.9255
pciBusID 0000:01:00.0
Total memory: 2.00GiB
Free memory: 1.53GiB
I tensorflow/core/common_runtime/gpu/gpu_device.cc:906] DMA: 0 
I tensorflow/core/common_runtime/gpu/gpu_device.cc:916] 0:   Y 
I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GT 750M, pci bus id: 0000:01:00.0)
Training...
E tensorflow/stream_executor/cuda/cuda_blas.cc:372] failed to create cublas handle: CUBLAS_STATUS_NOT_INITIALIZED
W tensorflow/stream_executor/stream.cc:1390] attempting to perform BLAS operation using StreamExecutor without BLAS support
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1021, in _do_call
    return fn(*args)
  File "/usr/local/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1003, in _run_fn
    status, run_metadata)
  File "/usr/local/Cellar/python3/3.6.0/Frameworks/Python.framework/Versions/3.6/lib/python3.6/contextlib.py", line 89, in __exit__
    next(self.gen)
  File "/usr/local/lib/python3.6/site-packages/tensorflow/python/framework/errors_impl.py", line 469, in raise_exception_on_not_ok_status
    pywrap_tensorflow.TF_GetCode(status))
tensorflow.python.framework.errors_impl.InternalError: Blas SGEMM launch failed : a.shape=(20, 400), b.shape=(400, 2), m=20, n=2, k=400
     [[Node: MatMul = MatMul[T=DT_FLOAT, transpose_a=false, transpose_b=false, _device="/job:localhost/replica:0/task:0/gpu:0"](Flatten/Reshape, Variable_4/read)]]

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "issue.py", line 52, in <module>
    sess.run(training_operation, feed_dict={x: X, y: Y})
  File "/usr/local/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 766, in run
    run_metadata_ptr)
  File "/usr/local/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 964, in _run
    feed_dict_string, options, run_metadata)
  File "/usr/local/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1014, in _do_run
    target_list, options, run_metadata)
  File "/usr/local/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1034, in _do_call
    raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.InternalError: Blas SGEMM launch failed : a.shape=(20, 400), b.shape=(400, 2), m=20, n=2, k=400
     [[Node: MatMul = MatMul[T=DT_FLOAT, transpose_a=false, transpose_b=false, _device="/job:localhost/replica:0/task:0/gpu:0"](Flatten/Reshape, Variable_4/read)]]

Caused by op 'MatMul', defined at:
  File "issue.py", line 43, in <module>
    logits = SimpleNet(x)
  File "issue.py", line 34, in SimpleNet
    logits = tf.matmul(fc1, fc1_W) + fc1_b
  File "/usr/local/lib/python3.6/site-packages/tensorflow/python/ops/math_ops.py", line 1729, in matmul
    a, b, transpose_a=transpose_a, transpose_b=transpose_b, name=name)
  File "/usr/local/lib/python3.6/site-packages/tensorflow/python/ops/gen_math_ops.py", line 1442, in _mat_mul
    transpose_b=transpose_b, name=name)
  File "/usr/local/lib/python3.6/site-packages/tensorflow/python/framework/op_def_library.py", line 759, in apply_op
    op_def=op_def)
  File "/usr/local/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 2240, in create_op
    original_op=self._default_original_op, op_def=op_def)
  File "/usr/local/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 1128, in __init__
    self._traceback = _extract_stack()

InternalError (see above for traceback): Blas SGEMM launch failed : a.shape=(20, 400), b.shape=(400, 2), m=20, n=2, k=400
     [[Node: MatMul = MatMul[T=DT_FLOAT, transpose_a=false, transpose_b=false, _device="/job:localhost/replica:0/task:0/gpu:0"](Flatten/Reshape, Variable_4/read)]]

проходить

I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcublas.dylib locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcudnn.dylib locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcufft.dylib locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcuda.1.dylib locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcurand.dylib locally
I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:901] OS X does not support NUMA - returning NUMA node zero
I tensorflow/core/common_runtime/gpu/gpu_device.cc:885] Found device 0 with properties: 
name: GeForce GT 750M
major: 3 minor: 0 memoryClockRate (GHz) 0.9255
pciBusID 0000:01:00.0
Total memory: 2.00GiB
Free memory: 1.71GiB
I tensorflow/core/common_runtime/gpu/gpu_device.cc:906] DMA: 0 
I tensorflow/core/common_runtime/gpu/gpu_device.cc:916] 0:   Y 
I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GT 750M, pci bus id: 0000:01:00.0)
Training...
Training complete!

Автоматически закрывается из-за отсутствия активности в последнее время. Обновите проблему, когда станет доступна новая информация, и мы снова откроем ее. Спасибо!

Не так быстро, я тоже вижу эту аварию. Macbook pro, geforce 650. TF v1. Запуск через ядра jupyter, которые мне приходится часто перезапускать. Может, эта видеокарта просто слишком слабая? Судя по тому, как оператор использует одну и ту же карту: вероятно.

I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcublas.8.0.dylib locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcudnn.5.dylib locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcufft.8.0.dylib locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcuda.1.dylib locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcurand.8.0.dylib locally
...
I tensorflow/core/common_runtime/gpu/gpu_device.cc:885] Found device 0 with properties: 
name: GeForce GT 650M
major: 3 minor: 0 memoryClockRate (GHz) 0.9
pciBusID 0000:01:00.0
Total memory: 1023.69MiB
Free memory: 870.46MiB
I tensorflow/core/common_runtime/gpu/gpu_device.cc:906] DMA: 0 
I tensorflow/core/common_runtime/gpu/gpu_device.cc:916] 0:   Y 
I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GT 650M, pci bus id: 0000:01:00.0)
E tensorflow/stream_executor/cuda/cuda_dnn.cc:397] could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
E tensorflow/stream_executor/cuda/cuda_dnn.cc:364] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM
F tensorflow/core/kernels/conv_ops.cc:605] Check failed: stream->parent()->GetConvolveAlgorithms(&algorithms) 

У меня такая же проблема с GTX 960m, cudnn5.1.5 и cuda-8.0.44.

Та же проблема с CentOS, titan X

Такая же проблема с ubuntu (14.04) и GRID K520 (aws g2.2)

Есть такая же проблема Windows 10 cudnn 5.1 cuda 8 gtx 1060. Программа работает на версии процессора тензорного потока, но получает те же ошибки с версией gpu.

У меня была такая же проблема с gtx1060, win8.1, cuda8.0.60, cudnn5.0. Обновлен до последней стабильной ночной сборки tensorflow-gpu (в настоящее время http://ci.tensorflow.org/job/nightly-win/133/) и cudnn5.1. Задача решена.

Здесь та же проблема.

У меня была эта проблема с версиями программного обеспечения, перечисленными ниже, за исключением TF версии 1.0.0. Затем я обновился до TF 1.0.1. Однажды я запустил ту же программу, и она сработала . Затем я запустил его снова, и он не сработал - он выдал ту же ошибку, что и раньше.

Tensorflow-gpu 1.0.1
Mac OS X 10.12.3
Cuda 8.0.61
CuDNN 5.1
GeForce GT 750M

такая же проблема с gtx650, ubuntu 16.04, CUDA версии 8.0.61, TF версии 1.0.0
он только что работал, но выдавал некоторые предупреждения о нехватке памяти. Однако он работал
Теперь он вообще не запускается, что дает мне такую ​​же проверку: ошибка stream-> parent () -> GetConvolveAlgorithms (и алгоритмы)

Имея ту же проблему с gtx 1080 ti, windows 10, CUDA версии 8.0.61, TF версии 1.0.1, 5.1 Cudann, cuda 8.0.61

Мне удалось заставить программу работать, ограничив использование графического процессора. В моем случае с gtx 1060 3 ГБ на ubuntu 16.04, если я установил параметр gpu per_process_gpu_memory_fraction на .7, он работает. Что-то выше, я получаю эти ошибки

E tensorflow / stream_executor / cuda / cuda_dnn.cc: 397] не удалось создать дескриптор cudnn: CUDNN_STATUS_INTERNAL_ERROR
E tensorflow / stream_executor / cuda / cuda_dnn.cc: 364] не смог уничтожить дескриптор cudnn: CUDNN_STATUS_BAD_PARAM
F tensorflow / core / kernels / conv_ops.cc: 605] Ошибка проверки: stream-> parent () -> GetConvolveAlgorithms (и алгоритмы)

Это может быть случай плохого сообщения об ошибках тензорным потоком. Кажется совершенно не связанным. Может быть, это ключ к тому, чтобы решить эту проблему лучше?

@ zheng-xq есть очевидная проблема с настройкой?

Та же проблема. Я использую Windows 10, GTX1070, CUDA 8.0, cuDNN 5.1.

E c: \ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ stream_executor \ cuda \ cuda_dnn.cc: 359] не удалось создать дескриптор cudnn: CUDNN_STATUS_NOT_INITIALIZED
E c: \ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ stream_executor \ cuda \ cuda_dnn.cc: 366] ошибка при получении версии драйвера: не реализовано: версия драйвера, сообщенная ядром, не реализована в Windows
E c: \ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ stream_executor \ cuda \ cuda_dnn.cc: 326] не удалось уничтожить дескриптор cudnn: CUDNN_STATUS_BAD_PARAM
F c: \ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ core \ kernels \ conv_ops.cc: 659] Ошибка проверки: stream-> parent () -> GetConvolveAlgorithms (и алгоритмы)

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

Вот еще немного информации о том, как я временно решил эту проблему. Я считаю, что все эти проблемы связаны с распределением памяти графического процессора и не имеют ничего общего с сообщаемыми ошибками. До этого были и другие ошибки, указывающие на какую-то проблему с распределением памяти, но программа продолжала развиваться, в конечном итоге выдавая ошибки cudnn, которые возникают у всех. Причина, по которой я считаю, что это иногда работает, заключается в том, что если вы используете графический процессор для других вещей, помимо тензорного потока, таких как основной дисплей, доступная память колеблется. Иногда вы можете выделить то, что вам нужно, а иногда нет.

Из API
https://www.tensorflow.org/versions/r0.12/how_tos/using_gpu/
«По умолчанию TensorFlow отображает почти всю память графического процессора всех графических процессоров (с учетом CUDA_VISIBLE_DEVICES), видимых процессу. Это сделано для более эффективного использования относительно ценных ресурсов памяти графического процессора на устройствах за счет уменьшения фрагментации памяти».

Я думаю, что это распределение по умолчанию каким-то образом нарушено, что приводит к тому, что это неустойчивое поведение и одни ситуации работают, а другие - нет.

Я решил эту проблему, изменив поведение TF по умолчанию, выделив минимальный объем памяти и увеличив его по мере необходимости, как описано на веб-странице.
config = tf.ConfigProto ()
config.gpu_options.allow_growth = Истина
сессия = tf.Session (config = config, ...)

Я также пробовал альтернативный способ и смог заставить его работать и потерпеть неудачу, экспериментально выбрав процент, который работал. В моем случае это было около 0,7.

config = tf.ConfigProto ()
config.gpu_options.per_process_gpu_memory_fraction = 0.4
сессия = tf.Session (config = config, ...)

По-прежнему нет ни одного сообщения от кого-либо из команды TF, подтверждающего это, но стоит попробовать, чтобы увидеть, могут ли другие подтвердить подобное поведение.

Я также получаю ошибку CUDNN_STATUS_NOT_INITIALIZED . Вот полный журнал ошибок:

2017-04-26 00:08:57.526234: I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:977] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 1080, pci bus id: 0000:01:00.0)
2017-04-26 00:09:01.111706: E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_dnn.cc:359] could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED
2017-04-26 00:09:01.111805: E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_dnn.cc:366] error retrieving driver version: Unimplemented: kernel reported driver version not implemented on Windows
2017-04-26 00:09:01.114040: E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_dnn.cc:326] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM
2017-04-26 00:09:01.114232: F c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\kernels\conv_ops.cc:659] Check failed: stream->parent()->GetConvolveAlgorithms(&algorithms)

Я использую Windows 10, CUDA 8.0, cuDNN 5.1. Можно ли что-нибудь сделать, чтобы этого избежать? Раньше мне удавалось запускать некоторые другие тесты тензорного потока, и он работал нормально (включая conv op), но теперь он не работает в этом новом тесте ...

@ serans1 Какие зомби-процессы вы имеете в виду?

Пожалуйста, дайте мне знать, есть ли способ решения этой проблемы. Спасибо!

ИЗМЕНИТЬ Это могло быть ошибкой новичка, но я просто упомяну об этом здесь, на случай, если кто-то другой столкнется с той же проблемой:
Моя проблема заключалась в том, что у меня уже был запущен экземпляр Jupyter Python Notebook (все ячейки которого уже были запущены, следовательно, загружены в память), а также некоторый другой процесс, который занимал память графического процессора (минимизированная видеоигра). Поэтому, когда я проверил использование памяти на своем графическом процессоре, оно уже было около 4+ ГБ (50 +%). Я закрыл Jupyter Notebook и другое приложение и повторно выполнил тест тензорного потока. Теперь все прошло гладко :) Кроме того, во время работы я заметил, что на пике он использует до 90% моей памяти графического процессора, и поэтому имеет смысл, почему он не мог инициализировать CUDNN, когда в моей начальной ситуации было доступно менее 50% .

Еще раз извините за мою ошибку! Я только начал экспериментировать с этим :)

Та же проблема, есть ли решение?

I c: \ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ core \ common_runtime \ gpu \ gpu_device.cc: 885] Найдено устройство 0 со свойствами:
название: GeForce GTX 960M
основной: 5 второстепенный: 0 memoryClockRate (ГГц) 1,176
pciBusID 0000: 01: 00.0
Общий объем памяти: 4,00 ГБ
Свободная память: 3,35 ГБ
Я c: \ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ core \ common_runtime \ gpu \ gpu_device.cc: 906] DMA: 0
Я c: \ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ core \ common_runtime \ gpu \ gpu_device.cc: 916] 0: Y
I c: \ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ core \ common_runtime \ gpu \ gpu_device.cc: 975] Создание устройства TensorFlow (/ gpu: 0) -> (device: 0, имя: GeForce GTX 960M, идентификатор шины pci: 0000: 01: 00.0)
E c: \ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ core \ common_runtime \ gpu \ gpu_device.cc: 586] Не удалось идентифицировать узел NUMA для / job: localhost / replica: 0 / task: 0 / gpu: 0, по умолчанию 0. Возможно, ваше ядро ​​не было собрано с поддержкой NUMA.
E c: \ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ stream_executor \ cuda \ cuda_dnn.cc: 385] не удалось создать дескриптор cudnn: CUDNN_STATUS_NOT_INITIALIZED
E c: \ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ stream_executor \ cuda \ cuda_dnn.cc: 392] ошибка при получении версии драйвера: Permission denied: не удалось открыть путь к версии драйвера для чтения : / proc / драйвер / nvidia / версия
E c: \ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ stream_executor \ cuda \ cuda_dnn.cc: 352] не удалось уничтожить дескриптор cudnn: CUDNN_STATUS_BAD_PARAM
F c: \ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ core \ kernels \ conv_ops.cc: 532] Ошибка проверки: stream-> parent () -> GetConvolveAlgorithms (и алгоритмы)

У меня точно такая же проблема.
Но я могу запускать свои коды с корневым доступом (с помощью sudo).
В настоящее время я работаю над Ubuntu 16.04 с GTX 960.
Моя версия CUDA - 8.0, и я использую tenorflow 1.01.

Windows 10 / Tensorflow 1.01
Я использовал его отлично, но теперь случайно со мной произошла такая же ошибка

название: GeForce GTX 1070
основной: 6 второстепенный: 1 память
pciBusID 0000: 03: 00.0
Общий объем памяти: 8,00 ГБ
Свободная память: 6,68 ГБ
2017-05-08 21: 12: 16.103654: I c: \ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ core \ common_runtime \ gpu \ gpu_device.cc: 908] DMA: 0
2017-05-08 21: 12: 16.105184: I c: \ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ core \ common_runtime \ gpu \ gpu_device.cc: 918] 0: Y
2017-05-08 21: 12: 16.106710: I c: \ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ core \ common_runtime \ gpu \ gpu_device.cc: 977] Создание устройства TensorFlow (/ gpu: 0) -> (устройство: 0, имя: GeForce GTX 1070, идентификатор шины pci: 0000: 03: 00.0)
2017-05-08 21: 12: 24.395060: E c: \ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ stream_executor \ cuda \ cuda_dnn.cc: 359] не удалось создать дескриптор cudnn : CUDNN_STATUS_NOT_INITIALIZED
2017-05-08 21: 12: 24.395177: E c: \ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ stream_executor \ cuda \ cuda_dnn.cc: 366] ошибка при получении версии драйвера: Не реализовано: версия драйвера, по сообщению ядра, не реализована в Windows
2017-05-08 21: 12: 24.396636: E c: \ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ stream_executor \ cuda \ cuda_dnn.cc: 326] не удалось уничтожить дескриптор cudnn : CUDNN_STATUS_BAD_PARAM
2017-05-08 21: 12: 24.396846: F c: \ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ core \ kernels \ conv_ops.cc: 659] Ошибка проверки: stream- > parent () -> GetConvolveAlgorithms (и алгоритмы)

У меня сработал метод

config.gpu_options.allow_growth = Истина

Подтверждение предложения @strickon работает для меня.

Я запускаю https://github.com/awjuliani/DeepRL-Agents/blob/master/Double-Dueling-DQN.ipynb и получаю сбои, упомянутые в этом потоке, при первом вызове sessions.run в блоке обновления ( строка: Q1 = sess.run(mainQN.predict,feed_dict={mainQN.scalarInput:np.vstack(trainBatch[:,3])}) .

Добавление флага allow_growth (как показано ниже) помогло мне преодолеть этот удар - код в настоящее время работает в фоновом режиме, посмотрим, как далеко он зайдет.

config = tf.ConfigProto()
config.gpu_options.allow_growth = True
sess = tf.Session(config=config)

Куча:

  • MacBook Pro, работающий под управлением Sierra 10.12.4, с NVIDIA GeForce GT 750M 2048 МБ. Обычно у вас есть только 1,7 ГБ свободного места.
  • TensorFlow 1.1 Использование инструкций по установке Anaconda.
  • Python 3.6, не виртуальный (Anaconda)
  • CUDA 8 / cuDNN 5

Я бы согласился сбросить больше статистики по запросу.

Я работал с двумя терминалами одновременно, и у меня была такая же проблема. Решилось закрытием одного терминала.

Автоматически закрывается из-за отсутствия активности в последнее время. Обновите проблему, когда станет доступна новая информация, и мы снова откроем ее. Спасибо!

После внесения изменений, предложенных @strickon , я начал видеть новый набор информационных журналов:

2017-06-23 04:45:57.156787: I c:\tf_jenkins\home\workspace\release-win\m\windows-gpu\py\35\tensorflow\core\common_runtime\gpu\pool_allocator.cc:247] PoolAllocator: After 3205 get requests, put_count=2333 evicted_count=1000 eviction_rate=0.428633 and unsatisfied allocation rate=0.615289
2017-06-23 04:45:57.156880: I c:\tf_jenkins\home\workspace\release-win\m\windows-gpu\py\35\tensorflow\core\common_runtime\gpu\pool_allocator.cc:259] Raising pool_size_limit_ from 100 to 110
step 0 - loss = 5.632, (19.351 sec/step)

Не уверен, если связано.

Здесь та же ошибка.

Windows 10 x86_64, GeForce GTX 970, драйверы 376.53, Cuda 8.0, cuDNN 5.1., Tensorflow-gpu 1.2.0 из pip, python 3.6

Я пытаюсь запустить пример по умолчанию из раздела руководств на веб-сайте:

https://www.tensorflow.org/tutorials/image_recognition

python classify_image.py

У меня такая же ошибка:

`
`` ''
(C: \ ProgramData \ Anaconda3) C: \ Users \ Locky \ Google Диск \ MachineLearning \ Tensorflow-Tutorials \ Repo \ models \ tutorials \ image \ imagenet> python classify_image.py
2017-06-25 18: 36: 32.318287: W c: \ tf_jenkins \ home \ workspace \ release-win \ m \ windows-gpu \ py \ 36 \ tensorflow \ core \ platform \ cpu_feature_guard.cc: 45] Библиотека TensorFlow не был скомпилирован для использования инструкций SSE, но они доступны на вашем компьютере и могут ускорить вычисления ЦП.
2017-06-25 18: 36: 32.318514: W c: \ tf_jenkins \ home \ workspace \ release-win \ m \ windows-gpu \ py \ 36 \ tensorflow \ core \ platform \ cpu_feature_guard.cc: 45] Библиотека TensorFlow не был скомпилирован для использования инструкций SSE2, но они доступны на вашем компьютере и могут ускорить вычисления ЦП.
2017-06-25 18: 36: 32.323556: W c: \ tf_jenkins \ home \ workspace \ release-win \ m \ windows-gpu \ py \ 36 \ tensorflow \ core \ platform \ cpu_feature_guard.cc: 45] Библиотека TensorFlow не был скомпилирован для использования инструкций SSE3, но они доступны на вашем компьютере и могут ускорить вычисления ЦП.
2017-06-25 18: 36: 32.323719: W c: \ tf_jenkins \ home \ workspace \ release-win \ m \ windows-gpu \ py \ 36 \ tensorflow \ core \ platform \ cpu_feature_guard.cc: 45] Библиотека TensorFlow не был скомпилирован для использования инструкций SSE4.1, но они доступны на вашем компьютере и могут ускорить вычисления ЦП.
2017-06-25 18: 36: 32.323834: W c: \ tf_jenkins \ home \ workspace \ release-win \ m \ windows-gpu \ py \ 36 \ tensorflow \ core \ platform \ cpu_feature_guard.cc: 45] Библиотека TensorFlow не был скомпилирован для использования инструкций SSE4.2, но они доступны на вашем компьютере и могут ускорить вычисления ЦП.
2017-06-25 18: 36: 32.323930: W c: \ tf_jenkins \ home \ workspace \ release-win \ m \ windows-gpu \ py \ 36 \ tensorflow \ core \ platform \ cpu_feature_guard.cc: 45] Библиотека TensorFlow не был скомпилирован для использования инструкций AVX, но они доступны на вашем компьютере и могут ускорить вычисления ЦП.
2017-06-25 18: 36: 32.324205: W c: \ tf_jenkins \ home \ workspace \ release-win \ m \ windows-gpu \ py \ 36 \ tensorflow \ core \ platform \ cpu_feature_guard.cc: 45] Библиотека TensorFlow не был скомпилирован для использования инструкций AVX2, но они доступны на вашем компьютере и могут ускорить вычисления ЦП.
2017-06-25 18: 36: 32.324351: W c: \ tf_jenkins \ home \ workspace \ release-win \ m \ windows-gpu \ py \ 36 \ tensorflow \ core \ platform \ cpu_feature_guard.cc: 45] Библиотека TensorFlow не был скомпилирован для использования инструкций FMA, но они доступны на вашем компьютере и могут ускорить вычисления ЦП.
2017-06-25 18: 36: 32.707933: I c: \ tf_jenkins \ home \ workspace \ release-win \ m \ windows-gpu \ py \ 36 \ tensorflow \ core \ common_runtime \ gpu \ gpu_device.cc: 940] Найдено устройство 0 со свойствами:
название: GeForce GTX 970
основной: 5 второстепенный: 2 memoryClockRate (ГГц) 1,253
pciBusID 0000: 01: 00.0
Общий объем памяти: 4,00 ГБ
Свободная память: 3,31 ГБ
2017-06-25 18: 36: 32.708332: I c: \ tf_jenkins \ home \ workspace \ release-win \ m \ windows-gpu \ py \ 36 \ tensorflow \ core \ common_runtime \ gpu \ gpu_device.cc: 961] DMA : 0
2017-06-25 18: 36: 32.713764: I c: \ tf_jenkins \ home \ workspace \ release-win \ m \ windows-gpu \ py \ 36 \ tensorflow \ core \ common_runtime \ gpu \ gpu_device.cc: 971] 0 : Y
2017-06-25 18: 36: 32.713991: I c: \ tf_jenkins \ home \ workspace \ release-win \ m \ windows-gpu \ py \ 36 \ tensorflow \ core \ common_runtime \ gpu \ gpu_device.cc: 1030] Создание Устройство TensorFlow (/ gpu: 0) -> (устройство: 0, имя: GeForce GTX 970, идентификатор шины pci: 0000: 01: 00.0)
2017-06-25 18: 36: 34.854555: W c: \ tf_jenkins \ home \ workspace \ release-win \ m \ windows-gpu \ py \ 36 \ tensorflow \ core \ framework \ op_def_util.cc: 332] Op BatchNormWithGlobalNormalization is устарело. Это перестанет работать в GraphDef версии 9. Используйте tf.nn.batch_normalization ().
2017-06-25 18: 36: 35.836895: E c: \ tf_jenkins \ home \ workspace \ release-win \ m \ windows-gpu \ py \ 36 \ tensorflow \ stream_executor \ cuda \ cuda_dnn.cc: 359] не удалось создать дескриптор cudnn: CUDNN_STATUS_NOT_INITIALIZED
2017-06-25 18: 36: 35.837068: E c: \ tf_jenkins \ home \ workspace \ release-win \ m \ windows-gpu \ py \ 36 \ tensorflow \ stream_executor \ cuda \ cuda_dnn.cc: 366] ошибка при получении драйвера версия: Не реализовано: версия драйвера, по сообщению ядра, не реализована в Windows
2017-06-25 18: 36: 35.841593: E c: \ tf_jenkins \ home \ workspace \ release-win \ m \ windows-gpu \ py \ 36 \ tensorflow \ stream_executor \ cuda \ cuda_dnn.cc: 326] не удалось уничтожить дескриптор cudnn: CUDNN_STATUS_BAD_PARAM
2017-06-25 18: 36: 35.841690: F c: \ tf_jenkins \ home \ workspace \ release-win \ m \ windows-gpu \ py \ 36 \ tensorflow \ core \ kernels \ conv_ops.cc: 671] Ошибка проверки: stream-> parent () -> GetConvolveAlgorithms (и алгоритмы)

(C: \ ProgramData \ Anaconda3) C: \ Users \ Locky \ Google Диск \ MachineLearning \ Tensorflow-Tutorials \ Repo \ models \ tutorials \ image \ imagenet>

`` ''

В моем случае это произошло из-за того, что другие экземпляры тензорного потока удерживали графический процессор. (Работают другие скрипты.)

Могу ли я предложить более качественные сообщения об ошибках? Скажите: «Ошибка: запущены другие экземпляры тензорного потока, а поддерживается только один».

У меня такая же проблема. Запуск macOS 10.12.5 GT 750M 2 ГБ

python neural_style.py --content /Users/qinyuhang/Pictures/0.jpeg  --styles IMG_1105.JPG --output 1.out.jpg --iterations 500
2017-07-05 22:16:54.531699: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:857] OS X does not support NUMA - returning NUMA node zero
2017-07-05 22:16:54.532257: I tensorflow/core/common_runtime/gpu/gpu_device.cc:940] Found device 0 with properties: 
name: GeForce GT 750M
major: 3 minor: 0 memoryClockRate (GHz) 0.9255
pciBusID 0000:01:00.0
Total memory: 2.00GiB
Free memory: 1.54GiB
2017-07-05 22:16:54.532435: I tensorflow/core/common_runtime/gpu/gpu_device.cc:961] DMA: 0 
2017-07-05 22:16:54.532461: I tensorflow/core/common_runtime/gpu/gpu_device.cc:971] 0:   Y 
2017-07-05 22:16:54.532471: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1030] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GT 750M, pci bus id: 0000:01:00.0)
2017-07-05 22:17:07.284016: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1030] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GT 750M, pci bus id: 0000:01:00.0)
2017-07-05 22:17:44.973549: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1030] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GT 750M, pci bus id: 0000:01:00.0)
Optimization started...
Iteration    1/ 500
2017-07-05 22:17:47.485948: E tensorflow/stream_executor/cuda/cuda_dnn.cc:359] could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
2017-07-05 22:17:47.485977: E tensorflow/stream_executor/cuda/cuda_dnn.cc:326] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM
2017-07-05 22:17:47.485983: F tensorflow/core/kernels/conv_ops.cc:671] Check failed: stream->parent()->GetConvolveAlgorithms(&algorithms) 
[1]    66448 abort      python neural_style.py --content /Users/qinyuhang/Pictures/0.jpeg --styles   

Решил (по крайней мере, для меня). Сообщение об ошибке не приведет вас к правильной проблеме. У меня была эта ошибка из 2 разных источников:

Сначала (как сказал @lockywolf ):
Я использую ноутбук jupyter, и иногда ядро ​​TF не освобождает память графического процессора, и вам нужно перезапустить jupyter, чтобы он снова заработал . Обычно это происходит после ошибок времени выполнения или неправильного перезапуска ядра ...

Второй:
Иногда вы жадничаете с памятью графического процессора и пробуете что-то вроде этого:

gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.9)
sess = tf.InteractiveSession(config=tf.ConfigProto(gpu_options=gpu_options))

Это было фатально для моей конфигурации, и я начал получать эту ошибку. Решением было использовать способ по умолчанию для запуска интерактивного сеанса :
sess = tf.InteractiveSession()

Система:

Ubuntu 14.04
GeForce GTX 780
Версия драйвера CUDA = 8.0
Версия CUDNN = 5.1
Версия TensorFlow = 1.2.1

У меня та же проблема, что и с моими собственными скриптами.
Я думаю, что это та же причина, что описал @lockywolf :

В моем случае это произошло из-за того, что другие экземпляры тензорного потока удерживали графический процессор. (Работают другие скрипты.)

У меня была эта ошибка довольно часто, но нерегулярно, затем я последовал примеру @RawthiL и добавил сеанс в свой скрипт. Однако я выполнил сценарий, успешно перезапустил ядро ​​и снова получил то же сообщение об ошибке. Есть ли какое-нибудь решение, чтобы открыть сеанс, потребовать графический процессор и закрыть его после завершения расчета?

ваше здоровье!

Редактировать:
Помимо решения @RawthiL , я следил за введением Keras TF, где они говорят:

Мы должны начать с создания сеанса TensorFlow и регистрации его в Keras. Это означает, что Keras будет использовать зарегистрированный сеанс для инициализации всех переменных, которые он создает внутри.

импортировать тензорный поток как tf
сесс = tf.Session ()

из keras импортировать бэкэнд как K
K.set_session (сессия)

Та же проблема. Весь день боролся в гору, чтобы заставить это работать.

$ ~/neural-style$ python neural_style.py --content ~/Documents/8UhFDcjT.jpg --styles ~/Documents/9odz6-jbngd.png --output ./Documents/Scott.png
2017-07-26 20:57:08.373361: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
2017-07-26 20:57:08.373397: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
2017-07-26 20:57:08.373413: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
2017-07-26 20:57:08.373417: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.
2017-07-26 20:57:08.373421: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations.
2017-07-26 20:57:08.431319: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:893] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2017-07-26 20:57:08.431630: I tensorflow/core/common_runtime/gpu/gpu_device.cc:940] Found device 0 with properties: 
name: GeForce GTX 870M
major: 3 minor: 0 memoryClockRate (GHz) 0.967
pciBusID 0000:01:00.0
Total memory: 2.95GiB
Free memory: 2.53GiB
2017-07-26 20:57:08.431664: I tensorflow/core/common_runtime/gpu/gpu_device.cc:961] DMA: 0 
2017-07-26 20:57:08.431674: I tensorflow/core/common_runtime/gpu/gpu_device.cc:971] 0:   Y 
2017-07-26 20:57:08.431690: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1030] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 870M, pci bus id: 0000:01:00.0)
2017-07-26 20:57:11.692616: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1030] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 870M, pci bus id: 0000:01:00.0)
2017-07-26 20:57:19.800938: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1030] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 870M, pci bus id: 0000:01:00.0)
Optimization started...
Iteration    1/1000
2017-07-26 20:57:20.535515: E tensorflow/stream_executor/cuda/cuda_dnn.cc:359] could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
2017-07-26 20:57:20.535573: E tensorflow/stream_executor/cuda/cuda_dnn.cc:326] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM
2017-07-26 20:57:20.535588: F tensorflow/core/kernels/conv_ops.cc:671] Check failed: stream->parent()->GetConvolveAlgorithms(&algorithms) 

Я обнаружил, что в некоторых случаях сброс ядра jupyter не работает. На самом деле это случилось со мной при использовании jupyterhub.
Я перезапустил ядро, отключил виртуальную память, и память графического процессора все еще удерживалась каким-то процессом. Команда nvidia-smi сказала, что не было процесса, использующего графический процессор, и когда я попытался сбросить его с помощью sudo nvidia-smi --gpu-reset -i 0 (для ядра 0 gpu), он сказал следующее:

Невозможно сбросить этот графический процессор, потому что он используется каким-либо другим процессом (например, приложением CUDA, графическим приложением, например X-сервером, приложением мониторинга, например другим экземпляром nvidia-smi). Пожалуйста, сначала завершите все процессы, использующие этот графический процессор, и все вычислительные приложения, работающие в системе (даже если они работают на других графических процессорах), а затем попробуйте снова сбросить графический процессор.
Досрочное завершение из-за предыдущих ошибок.

Итак, был какой-то процесс, удерживающий графический процессор, и я искал их, используя sudo fuser -v /dev/nvidia* котором говорилось, что на самом деле что-то удерживает графический процессор ... сам python ... убил его и повторно запустил virtualenv, а jupyter сделал обманывать.
Возможно, я не лучший способ решить эту проблему, но это лучше, чем перезагружать компьютер, когда все другие варианты не работают.

Есть такая же проблема. Графический процессор - это GTX 1070 и CUDA 8.0 и CUDNN 5.1 для CUDA 8.0.

Проблема не зависит от кода пользователя, она зависит от оборудования или состояния программного обеспечения Nvidia или Google. Эта ошибка может начать расти в любой момент, и перезагрузка может исправить ее с помощью того же пользовательского кода.

Та же проблема с Windows 10, GTX770, CUDA 8.0, CUDNN 5.1, TF-GPU 1.1.0, не знаю, где получить версию драйвера устройства, но диспетчер устройств Windows сообщает 21.21.13.7651 для драйвера дисплея.

connect  84557d348c06492e80ff0304d516367b
2017-08-11 15:51:41.974028: E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_dnn.cc:359] could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED
2017-08-11 15:51:41.974536: E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_dnn.cc:366] error retrieving driver version: Unimplemented: kernel reported driver version not implemented on Windows
2017-08-11 15:51:41.974923: E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_dnn.cc:326] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM
2017-08-11 15:51:41.975194: F c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\kernels\conv_ops.cc:659] Check failed: stream->parent()->GetConvolveAlgorithms(&algorithms)

Та же проблема с Windows 10, GTX770, CUDA 8.0, CUDNN 5.1, TF-GPU 1.1.0, не знаю, где получить версию драйвера устройства, но диспетчер устройств Windows сообщает 21.21.13.7651 для драйвера дисплея.

connect  84557d348c06492e80ff0304d516367b
2017-08-11 15:51:41.974028: E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_dnn.cc:359] could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED
2017-08-11 15:51:41.974536: E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_dnn.cc:366] error retrieving driver version: Unimplemented: kernel reported driver version not implemented on Windows
2017-08-11 15:51:41.974923: E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_dnn.cc:326] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM
2017-08-11 15:51:41.975194: F c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\kernels\conv_ops.cc:659] Check failed: stream->parent()->GetConvolveAlgorithms(&algorithms)

Исправление @ggranum сработало для меня:

config = tf.ConfigProto()
config.gpu_options.allow_growth = True
sess = tf.Session(config=config)

В моем случае та же проблема была решена путем обновления драйвера NVIDIA GPU.

Эта проблема полностью решена. Я запускаю TF 1.3.0 на Ubuntu 16.04 с CUDA 8.0 и cuDNN 5.1. Я использовал Anaconda для установки своих пакетов. Случайно 4 дня назад я тоже испытал эту ошибку

name: GeForce GTX 1080 Ti major: 6 minor: 1 memoryClockRate (GHz) 1.582 pciBusID 0000:05:00.0 Total memory: 10.91GiB Free memory: 10.30GiB 2017-09-05 07:47:05.397839: W tensorflow/stream_executor/cuda/cuda_driver.cc:523] A non-primary context 0x30028e0 exists before initializing the StreamExecutor. We haven't verified StreamExecutor works with that. 2017-09-05 07:47:05.401343: I tensorflow/core/common_runtime/gpu/gpu_device.cc:955] Found device 1 with properties: name: GeForce GTX 1080 Ti major: 6 minor: 1 memoryClockRate (GHz) 1.582 pciBusID 0000:06:00.0 Total memory: 10.91GiB Free memory: 10.75GiB 2017-09-05 07:47:05.658932: W tensorflow/stream_executor/cuda/cuda_driver.cc:523] A non-primary context 0x2ffe910 exists before initializing the StreamExecutor. We haven't verified StreamExecutor works with that. 2017-09-05 07:47:05.659690: I tensorflow/core/common_runtime/gpu/gpu_device.cc:955] Found device 2 with properties: name: GeForce GTX 1080 Ti major: 6 minor: 1 memoryClockRate (GHz) 1.582 pciBusID 0000:09:00.0 Total memory: 10.91GiB Free memory: 10.75GiB 2017-09-05 07:47:05.898536: W tensorflow/stream_executor/cuda/cuda_driver.cc:523] A non-primary context 0x2ffa940 exists before initializing the StreamExecutor. We haven't verified StreamExecutor works with that. 2017-09-05 07:47:05.899294: I tensorflow/core/common_runtime/gpu/gpu_device.cc:955] Found device 3 with properties: name: GeForce GTX 1080 Ti major: 6 minor: 1 memoryClockRate (GHz) 1.582 pciBusID 0000:0a:00.0 Total memory: 10.91GiB Free memory: 10.75GiB 2017-09-05 07:47:05.903197: I tensorflow/core/common_runtime/gpu/gpu_device.cc:976] DMA: 0 1 2 3 2017-09-05 07:47:05.903209: I tensorflow/core/common_runtime/gpu/gpu_device.cc:986] 0: Y Y Y Y 2017-09-05 07:47:05.903215: I tensorflow/core/common_runtime/gpu/gpu_device.cc:986] 1: Y Y Y Y 2017-09-05 07:47:05.903218: I tensorflow/core/common_runtime/gpu/gpu_device.cc:986] 2: Y Y Y Y 2017-09-05 07:47:05.903223: I tensorflow/core/common_runtime/gpu/gpu_device.cc:986] 3: Y Y Y Y 2017-09-05 07:47:05.903236: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1045] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 1080 Ti, pci bus id: 0000:05:00.0) 2017-09-05 07:47:05.903242: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1045] Creating TensorFlow device (/gpu:1) -> (device: 1, name: GeForce GTX 1080 Ti, pci bus id: 0000:06:00.0) 2017-09-05 07:47:05.903248: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1045] Creating TensorFlow device (/gpu:2) -> (device: 2, name: GeForce GTX 1080 Ti, pci bus id: 0000:09:00.0) 2017-09-05 07:47:05.903252: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1045] Creating TensorFlow device (/gpu:3) -> (device: 3, name: GeForce GTX 1080 Ti, pci bus id: 0000:0a:00.0) 2017-09-05 07:47:20.297138: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1045] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 1080 Ti, pci bus id: 0000:05:00.0) 2017-09-05 07:47:20.297190: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1045] Creating TensorFlow device (/gpu:1) -> (device: 1, name: GeForce GTX 1080 Ti, pci bus id: 0000:06:00.0) 2017-09-05 07:47:20.297206: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1045] Creating TensorFlow device (/gpu:2) -> (device: 2, name: GeForce GTX 1080 Ti, pci bus id: 0000:09:00.0) 2017-09-05 07:47:20.297220: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1045] Creating TensorFlow device (/gpu:3) -> (device: 3, name: GeForce GTX 1080 Ti, pci bus id: 0000:0a:00.0) 2017-09-05 07:47:24.845499: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1045] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 1080 Ti, pci bus id: 0000:05:00.0) 2017-09-05 07:47:24.845534: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1045] Creating TensorFlow device (/gpu:1) -> (device: 1, name: GeForce GTX 1080 Ti, pci bus id: 0000:06:00.0) 2017-09-05 07:47:24.845542: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1045] Creating TensorFlow device (/gpu:2) -> (device: 2, name: GeForce GTX 1080 Ti, pci bus id: 0000:09:00.0) 2017-09-05 07:47:24.845548: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1045] Creating TensorFlow device (/gpu:3) -> (device: 3, name: GeForce GTX 1080 Ti, pci bus id: 0000:0a:00.0) 2017-09-05 07:47:34.884524: E tensorflow/stream_executor/cuda/cuda_dnn.cc:371] could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR 2017-09-05 07:47:34.884597: E tensorflow/stream_executor/cuda/cuda_dnn.cc:338] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM 2017-09-05 07:47:34.884616: F tensorflow/core/kernels/conv_ops.cc:672] Check failed: stream->parent()->GetConvolveAlgorithms( conv_parameters.ShouldIncludeWinogradNonfusedAlgo<T>(), &algorithms)

У меня 4 видеокарты 1080ти. Во время работы моей модели я наблюдал за nvidia-smi и получил

-------------------------------------------------- --------------------------- +
| Процессы: Память GPU |
| Тип PID графического процессора Имя процесса Использование |
| ================================================= ============================ |
| 0 1422 г / usr / lib / xorg / Xorg 279MiB |
| 0 3530 G compiz 195MiB |
| 0 11249 C / home / simon / anaconda3 / bin / python 10157MiB |
| 1 11249 C / home / simon / anaconda3 / bin / python 10611MiB |
| 2 11249 C / home / simon / anaconda3 / bin / python 10611MiB |
| 3 11249 C / home / simon / anaconda3 / bin / python 10611MiB |
+ ------------------------------------------------- ---------------------------- +

Так что по какой-то причине Python забирает память. Конечно, если я убью это, он убьет мою записную книжку jupyter. У меня нет запущенных зомби-процессов. Я пытался.

gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.1) sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options))

что снижает использование графического процессора, но я все равно получаю ту же ошибку дескриптора cuDDN. Переустановил TF. CUDA, cuDNN, Anaconda без влияния на проблему.

Почему эта ошибка возникает случайно и как ее решить.

TensorFlow 1.3 построен на основе cuDNN 6.
Пожалуйста, обновите вашу установку cuDNN.

Спасибо, Гунан, к сожалению, это не имеет значения. Даже с cuDNN 6 я все еще получаю ошибку cuDNN не может создать дескриптор. Даже установка параметров GPU напрямую не предотвращает ошибку, хотя снижает объем используемой памяти GPU. Память графического процессора занята Python, поэтому, если я выключу его, он закроет мою записную книжку Jupyter. Я застрял в этом почти 4 дня и, кажется, исчерпал все предложения, которые видел в Интернете. Может ли это быть проблема с TF 1.3?

Как раз для тех, кого это сводит с ума:

Иногда я также получал ошибку CUBLAS. Итак, я сделал это:

cd /usr/local/cuda/samples/7_CUDALibraries/simpleCUBLAS
make
./simpleCUBLAS

и обнаружил, что не могу инициализировать CUBLAS

Затем я сделал это (основываясь на совете)

sudo rm -f ~/.nv

И это сработало. Ура ..... вот 4 дня потрачены впустую. Надеюсь, это спасет кого-то еще

@ SimonWalsh1000 Это сработало !! Благодарность

проверьте свой .theanorc на своем домашнем пути (если Ubuntu) и установите cnmem меньше .... возможно cnmem = 0.8, и теперь это сработало для меня

У меня он отлично работает под Windows 10 с GTX 1070.
Я использовал cudnn 7.0.2
Переход на vs 6.0 решил мои проблемы:

cuda_8.0.61_win10.exe
cudnn-8.0-windows10-x64-v6.0.zip
python-3.6.2-amd64.exe

Написал весь процесс установки здесь:
http://klaatuveratanecto.com/installing-tensorflow-gpu-windows-10-running-image_retraining/

Привет, у меня такой же вопрос. Однако я обнаружил, что причина в том, что я использовал тензорный поток дважды одновременно.

Например, я обычно использовал записную книжку Jupyter для простого скрипта и использовал PyCharm для проекта. Если бы я не закрыл блокнот jupyter, я мог бы встретить эту ошибку в Pycharm.

Желаю, чтобы это могло помочь.


WIndows10 64,
NVIDIA TitanX,
Драйвер 385.41,
Cuda 8.0.60
Cudnn 6.0
Python 3.5.2
Tensorflow 1.3

Я согласен с @strickon : похоже, проблема с распределением памяти.
У меня был ноутбук с запущенной программой tensorflow, и я попытался запустить python + tensorflow в другом терминале Windows и получил ошибку. Затем я перезапустил свой ноутбук (освободил память графического процессора) и снова попытался запустить python на терминале Windows, и это сработало! Я думаю, что тензорный поток должен предоставлять лучшее сообщение об ошибке, чтобы посоветовать пользователю более подробное объяснение.

Я использую Windows 10, cuda 8 и cudnn 6 с:

название: Quadro K620
основной: 5 второстепенный: 0 memoryClockRate (ГГц) 1,124
pciBusID 0000: 01: 00.0
Общий объем памяти: 2,00 ГБ
Свободная память: 1,66 ГБ

Практически те же шаги сработали и для меня, я плохо понимаю, как это сработало. Я просто закрываю все окна, закрываю терминал python, открытый на pycharm, включая те окна, которые были открыты предыдущим выполнением той же программы для отображения прогресса в обучении, а также повторно открываю и запускаю - он работает без ошибок. Сообщенные ранее ошибки, похоже, не дают прямого ответа ---

Привет,
У меня была такая же проблема, запуск python с sudo решил мою проблему.

@ SimonWalsh1000 Ты мой герой !! У меня тоже работает!

@hesamaraghi Запуск с sudo также помог нам. Мы смогли работать без полномочий root, добавив нашего пользователя без полномочий root в группу nvidia-persistenced . См. Мой исходный комментарий: https://github.com/tensorflow/tensorflow/issues/14048#issuecomment -340898847

У меня была такая же проблема в Ubuntu 16.04 и cuda-8.0 (с GTX1080Ti). Я просто хотел бы сообщить любому из вас, у кого возникла та же проблема, что решение, данное @ SimonWalsh1000, сработало для меня отлично (т.е. проблема инициализации CUBLAS была решена с помощью sudo rm -rf ~/.nv/ ). Итак, большое спасибо @ SimonWalsh1000 , это стоило мне нескольких часов ...

@ SimonWalsh1000 Это действительно работает. Огромное спасибо!

@ SimonWalsh1000 работает как шарм, спасибо !!!!

У меня была такая же проблема в Windows 10, CUDA 8.0, cuDNN 6.1 с GTX1070Ti.
Я нашел причину: я запустил код тензорного потока в среде annconda spyder IDE, после чего я запустил другой код тензорного потока в приглашении annconda.
решить эту проблему, закрыв spyder IDE
@lockywolf прав

У меня такая же проблема. Я пробую метод @strickon и не знаю насчет "nvidia-smi", возможно, это команда в Linux. Я решил эту проблему, обновив cuDNN 6.0 для CUDA8.0 до cuDNN 7.0 для CUDA8.0.

система в начале:

  • Windows10
  • CUDA8.0
  • cuDNN6.0
  • Anaconda3.5 (python3.5)
  • GeForce 840M Major: 5 minor: 0 memoryClockRate (ГГц): 1,124
  • 2,00 ГБ бесплатно

система после решения:

  • Windows10
  • CUDA8.0
  • cuDNN7.0
  • Anaconda3.5 (python3.5)
  • GeForce 840M Major: 5 minor: 0 memoryClockRate (ГГц): 1,124
  • 2,00 ГБ бесплатно

Думаю, эта проблема может быть вызвана несоответствием версии библиотеки и оборудования. @chleibig также решает эту проблему,

Для меня установка: config.gpu_options.allow_growth = True в сеансе tenorflow устранила проблему.
Cuda 8, tf 1.4, cudnn 6

запустите это исправить проблему.

sudo rm -rf ~ / .nv

тот же вопрос. Есть ли решение проблемы?
Моя ситуация:
название: GeForce GTX 1080
всегоПамять: 7,92 ГБ свободноПамять: 2,50 ГБ
tenorflow: gpu-1.4.0

Я тестирую один графический процессор, но запускаю три экземпляра тензорного потока.
в моем коде вот так:
gpu_options = tf.GPUOptions (per_process_gpu_memory_fraction = 0,3)
сесс = tf.Session (config = tf.ConfigProto (gpu_options = gpu_options))

два других экземпляра тензорного потока работают нормально, но только последняя ошибка запуска, например:

E tensorflow / stream_executor / cuda / cuda_dnn.cc: 371] не удалось создать дескриптор cudnn: CUDNN_STATUS_INTERNAL_ERROR
E tensorflow / stream_executor / cuda / cuda_dnn.cc: 338] не смог уничтожить дескриптор cudnn: CUDNN_STATUS_BAD_PARAM
F tensorflow / core / kernels / conv_ops.cc: 672] Ошибка проверки: stream-> parent () -> GetConvolveAlgorithms (conv_parameters.ShouldIncludeWinogradNonfusedAlgo(), & алгоритмы)

Почему? Конфигурация графического процессора слишком мала: gpu_options = tf.GPUOptions (per_process_gpu_memory_fraction = 0.3)
Я не уверен. хочу какое-то предложение. Я попробую.

Ознакомьтесь с моим решением ....

19 декабря 2017 года в 08:20 tbchj [email protected] написал:

тот же вопрос. Есть ли решение проблемы?
Моя ситуация:
название: GeForce GTX 1080
всегоПамять: 7,92 ГБ свободноПамять: 2,50 ГБ
tenorflow: gpu-1.4.0

Я тестирую один графический процессор, но запускаю три экземпляра тензорного потока.
в моем коде вот так:
gpu_options = tf.GPUOptions (per_process_gpu_memory_fraction = 0,3)
сесс = tf.Session (config = tf.ConfigProto (gpu_options = gpu_options))

два других экземпляра тензорного потока работают нормально, но только последний запускается
ошибка вроде этого:

E tensorflow / stream_executor / cuda / cuda_dnn.cc: 371] не может создать cudnn
дескриптор: CUDNN_STATUS_INTERNAL_ERROR
E tensorflow / stream_executor / cuda / cuda_dnn.cc: 338] не может уничтожить
дескриптор cudnn: CUDNN_STATUS_BAD_PARAM
F tensorflow / core / kernels / conv_ops.cc: 672] Ошибка проверки:
stream-> parent () -> GetConvolveAlgorithms (conv_parameters.
ShouldIncludeWinogradNonfusedAlgo () и алгоритмы)

Почему? Конфигурация gpu слишком мала: gpu_options = tf.GPUOptions (per_process_gpu_
memory_fraction = 0,3)
Я не уверен. хочу какое-то предложение. Я попробую.

-
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/tensorflow/tensorflow/issues/6698#issuecomment-352670885 ,
или отключить поток
https://github.com/notifications/unsubscribe-auth/AJq-HpINYs1Uae6ghIW3qKCD56SUDhFeks5tB3HZgaJpZM4Lc7S1
.

-
Лучший
Саймон

SLFWalsh MD MRCP FFRRCSI
[email protected]

В моем случае я запускал фонарик в фоновом режиме и имел ту же проблему.
Я думаю ... CUDNN_STATUS_INTERNAL_ERROR может произойти, когда другая программа использует cudnn

В моем случае я могу запустить cudnn в среде ipython, однако я получал те же сообщения об ошибках, когда пытался запустить код в записной книжке jupyter.

Привет, у меня та же проблема, и пока ни одно из предложений не помогло мне ее решить.
Я использую ноутбук Asus Zenbook Pro с Windows 10 со следующими характеристиками:

imagen

Мои характеристики графического процессора следующие:

imagen

Я следую этому руководству: https://www.tensorflow.org/get_started/mnist/pros, в котором вы должны реализовать и обучить 1) регрессию softmax и 2) многослойную CNN с набором данных MNIST.

Это мои коды: MNIST_Tutorial.zip . В архиве есть 2 файла: MNIST_softmax_regression.py и MNIST_multilayer_CNN.py.

1) Когда я запускаю MNIST_softmax_regression.py, он отлично работает:
imagen
Как видите, графический процессор становится все более привычным, и окончательная точность составляет около 92%, как и ожидалось в соответствии с руководством.

2) Однако, когда я запускаю MNIST_multilayer_CNN.py, происходит сбой python:
imagen

Я попробовал 2 обходных пути, основанных на предыдущих предложениях:

config = tf.ConfigProto()
config.gpu_options.allow_growth = True
with tf.Session(config=config) as sess:

а также

config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.8
with tf.Session(config=config) as sess:

Ни один из них не работал, хотя второй выводит следующий результат:

imagen

как вы можете видеть, тензорный поток сначала пытается выделить память несколько раз (CUBLAS_STATUS_ALLOC_FAILED), пока это явно не преуспеет, но затем появляется ошибка CUDNN_STATUS_NOT_INITIALIZED, и все снова терпит неудачу.

Кстати, я установил тензорный поток в соответствии с альтернативным подходом в конце этих инструкций: http://www.python36.com/install-tensorflow-gpu-windows/
imagen

Я использовал этот установщик CUDA:
imagen
imagen

И использовал этот файл .whl для установки tensorflow:
imagen

Вот еще немного информации о python, pip и conda:
imagen

Мы будем очень благодарны за любую помощь.
Заранее спасибо.

Привет,
У меня такая же проблема на двух разных машинах:

Установка 1:
Windows 10 Pro, 64-разрядная.
Информация о графическом процессоре
Cuda 8.0
cudnn 6.0
Tensorflow 1.4
Python 3.6.4

Setup2:
Windows 10 Pro, 64-разрядная.
Информация о графическом процессоре
CUDA 8.0
cudnn 6.0
Tensorflow 1.4
Python 3.6.2

Любые обновления?

Имеют очень похожие настройки, указанные выше, работают на:

окна 10
GPU
тензорный поток 1.5
CUDA 9.0.176
cudnn 7
Python 3.6.4, анаконда

Я попробовал изменить конфигурацию, но все еще получаю набор ошибок «CUDNN_STATUS_NOT_INITIALIZED».

Я не уверен, где находится эквивалент папки .nv в Windows, поэтому мне не удалось запустить решение @ SimonWalsh1000 .

@HeinzBenjamin , есть успех?

РЕДАКТИРОВАТЬ: Все еще в тупике, может быть, я использую тензорный поток 1.5 и CUDA 9?

Я встречал ту же проблему.
Однако я обнаружил, что после установки CUDA 9.0 мой драйвер не будет последней версией.
Итак, попробуйте обновить драйвер Nvdia до последней версии и перезагрузите компьютер. Меня устраивает!

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

2018-02-11 07: 54: 57.097712: E tensorflow / stream_executor / cuda / cuda_dnn.cc: 385] не удалось создать дескриптор cudnn: CUDNN_STATUS_INTERNAL_ERROR
2018-02-11 07: 54: 57.097756: E tensorflow / stream_executor / cuda / cuda_dnn.cc: 352] не смог уничтожить дескриптор cudnn: CUDNN_STATUS_BAD_PARAM
2018-02-11 07: 54: 57.097767: F tensorflow / core / kernels / conv_ops.cc: 667] Ошибка проверки: stream-> parent () -> GetConvolveAlgorithms (conv_parameters.ShouldIncludeWinogradNonfusedAlgo () и алгоритмы)

Я перезагружал систему десяток раз.
после нескольких перезагрузок ошибка изменилась на

2018-02-11 07: 19: 33.487404: I tensorflow / stream_executor / cuda / cuda_dnn.cc: 393] возможно, недостаточная версия драйвера: 384.111.0 2018-02-11 07: 19: 33.487423: E tensorflow / stream_executor / cuda / cuda_dnn.cc:352] не удалось уничтожить дескриптор cudnn: CUDNN_STATUS_BAD_PARAM 2018-02-11 07: 19: 33.487439: F tensorflow / core / kernels / conv_ops.cc: 667] Ошибка проверки: stream-> parent () -> GetConvolveAlgorithms ( conv_parameters.ShouldIncludeWinogradNonfusedAlgo () и алгоритмы)

но после обновления до 390,25 он снова выдает первую ошибку.

мой другой код тензорного потока работает нормально.

Я также попытался удалить каталог nv, но это не повлияло

Ubuntu 17.10, GTX 1060 6 ГБ

Я получил эту ошибку в Windows 10 с CUDA 9.0 и GT 750M. Я решил ее, ограничив использование графического процессора до 0,7 с помощью: config.gpu_options.per_process_gpu_memory_fraction = 0.7

Как писал кто-то другой, все, что выше 0,7, приводит к сбою Python.

Получив также троицу ошибок:

CUDNN_STATUS_NOT_INITIALIZED
conv_parameters.ShouldIncludeWinogradNonfusedAlgo(), &algorithms)

Пробовал @ zzhang68 «s решения ... Обновление драйверов после 9.0 установленных старых драйверов.
_И это сработало! _

Windows 10 | GTX 980 Ti
CUDA 9.0 (с устаревшими драйверами !!!!)
\ cudnn-9.0-windows10-x64-v7 \ cuda \ bin (cudann64_7.dll) в PATH

Python 3.6 miniconda
tenorflow-gpu 1.5.0

столкнуться с той же проблемой. tf1.5 py2.7 titan x cuda8.
config.gpu_options.allow_growth = True
не работает

Я получил эту ошибку в Windows 10 с CUDA 9.0 и GTX 1060.
Python 3.5
tenorflow-gpu 1.5.0
Я нашел простой способ решить эту проблему: обновите драйвер дисплея NVIDIA до последней версии, перезагрузите компьютер.
тогда это сработало!

@ SimonWalsh1000 , у меня это действительно работает, большое спасибо!

Решение от @strickon и @ggranum плюс обновление драйвера проблему . Я предполагаю, что некоторые люди настраивают конфигурацию питания, которая сдувает некоторые функции до тех пор, пока они не понадобятся.

обновление моего драйвера графического процессора решило эту проблему для меня. мой драйвер графического процессора был выпущен в декабре 2017 года, а последний - 26 февраля 2018 года.

вам необходимо иметь правильный тензорный поток, версию CUDA, версию cuDNN и драйвер графического процессора, чтобы избежать этой проблемы

моя спецификация:
тензорный поток 1.6
cuDNN v7.0.4 (13 ноября 2017 г.) для CUDA 9.0 (мне пришлось использовать эту версию, чтобы мой TF работал)

Вот как я это исправил. У меня были установлены как CUDA 9.1, так и CUDA 9.0. Как и другим, мне пришлось снова обновить драйверы графического процессора после установки CUDA (через программу Geforce Experience). Бэкэнд Keras, TensorFlow, с сегодняшнего дня использует CUDA 9.0, поэтому убедитесь, что он у вас установлен. Затем загрузите cuDNN 7.0.5 (не последнюю версию 7.1) с https://developer.nvidia.com/rdp/cudnn-download, затем извлеките его и скопируйте папки bin, include и т. Д. На свой C: \ Program Папка Files \ NVIDIA GPU Computing Toolkit \ CUDA \ v9.0. Теперь должно работать.

Спасибо за всю эту помощь, и после того, как я попробую разложить свой cuCNN с cnDNN-9.1 на cnDNN-9.0, он заработает.
Моя среда - Centos7 + CUDA 9.0 + Tensorflow 1.6

Такая же ошибка на Python3.5, ubuntu 16.04, tf1.5
Обновление драйвера графического процессора до версии 390.42 решило эту проблему для меня.

Привет, народ,

У меня такая же проблема
"E tensorflow / stream_executor / cuda / cuda_dnn.cc: 385] не может создать дескриптор cudnn: CUDNN_STATUS_INTERNAL_ERRORE tensorflow / stream_executor / cuda / cuda_dnn.cc: 352] не смог уничтожить дескриптор cudnn: CUDNN_STATUS_BAD_PARAMF tensorflow / core / kernels / conv_ops.cc: 605] Ошибка проверки: stream-> parent () -> GetConvolveAlgorithms (и алгоритмы) "

и решается:
1- Обновление драйвера NVIDIA Geforce920M
2- Правильная настройка сеанса tf следующим образом:
config = tf.ConfigProto ()
config.gpu_options.allow_growth = Истина
сесс = tf.Session (config = config)
3- Перезагрузка ПК

После этого я получил более точное сообщение об ошибке:
"cuDNN7.1 обнаружен, но ожидается cuDNN7.0. Обновление"

И решено:
вместо того, чтобы обновлять остальные (tf, cuda, ..) для соответствия cuDNN, я скорее понизил версию cuDNN7.0, чтобы удовлетворить остальные.
(понижение версии cuDNN с 7.1 до 7.0.4), и он работал хорошо.

Я также столкнулся с этой ошибкой, когда запускал Cnn_Mnist.py

ИНФОРМАЦИЯ об окружающей среде :

  • Window10 + tensorflow_gpuV1.6 + cudav9.0, cudnnv7.0 + Python3.5 (Anaconda) + GeForce 920MX
| NVIDIA-SMI 385.54                 Driver Version: 385.54                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name            TCC/WDDM | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce 920MX      WDDM  | 00000000:01:00.0 Off |                  N/A |
| N/A   37C    P0    N/A /  N/A |     84MiB /  2048MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0     11988      C   ...naconda3\envs\tensorflow_GPU\python.exe N/A      |
+-----------------------------------------------------------------------------+

ИНФОРМАЦИЯ об ошибке:

2018-03-20 13:38:27.439071: E C:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\35\tensorflow\stream_executor\cuda\cuda_dnn.cc:385] could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
2018-03-20 13:38:27.443473: E C:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\35\tensorflow\stream_executor\cuda\cuda_dnn.cc:352] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM
2018-03-20 13:38:27.449591: F C:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\35\tensorflow\core\kernels\conv_ops.cc:717] Check failed: stream->parent()->GetConvolveAlgorithms( conv_parameters.ShouldIncludeWinogradNonfusedAlgo<T>(), &algorithms)

Искренне надеюсь на помощь каждого: D

В моем случае (Windows 10) эта проблема была вызвана использованием неправильной версии cuDNN. Хотя я внимательно следил за официальными инструкциями TensorFlow, я случайно загрузил версию 7.0.5 для CUDA 9.1, а TF явно вызывает CUDA 9.0.

Как только я исправил ошибку cuDNN, мои коннеты заработали 💯 👍 🥇 :)

Тот же выпуск tf 1.2, cuda 8.0, cudnn 5.1
Nvidia обновила драйверы

Что ж, мне удалось обновить драйвер nvidia до последней версии согласно cuda, и он работает. Итак, вы можете попробовать этот метод.

Так так. Это не может хорошо работать. Проблема возникает снова

Использование: cudnn-9.0-windows10-x64-v7 и tensorflow-gpu == 1.7.0

учебники \ изображение \ imagenet> python classify_image.py
сбой с ошибкой: не удалось создать дескриптор cudnn: CUDNN_STATUS_INTERNAL_ERROR

Добавление трех строк кода из ggranum выше решает проблему.

Для меня проблема заключалась в использовании неправильной библиотеки cudnn
Я использовал cudnn для cuda 9.1, когда у меня был cuda 9.0. Итак, я переустановил cudnn для cuda 9.0, и все заработало.

Та же проблема с Win10 / Anaconda3 / tf-1.3 / keras-2.1.3
добавьте следующий код в самое начало файла .py, что решит мою проблему.

from __future__ import print_function, division
import tensorflow as tf
from keras.backend.tensorflow_backend import set_session  
config = tf.ConfigProto()  
config.gpu_options.allow_growth = True  
set_session(tf.Session(config=config)) 

@ serans1
Это работает для меня :)

Спасибо @ zzhang68 . Ваше решение сработало для меня.

Добавление этого в начало файла сработало для меня:

config = tf.ConfigProto ()
config.gpu_options.allow_growth = Истина
сесс = tf.Session (config = config)

GTX 1070. Получал эту проблему. Последний раз мой драйвер обновлялся в 2017 г. Обновил его до последней версии (май 2018 г.), перезагрузил компьютер и проблема перестала возникать. Надеюсь это поможет

у меня тоже работает с решением @ zzhang68 .
Ubuntu16.04, tensorflow1.7, nvidia1080, cuda9.0, cudnn7.05.
После обновления драйвера до 390,59 проблема исчезла.

Другой вариант для win10 с использованием процессора tensorflow ... попробуйте

def run_inference_for_single_image (изображение, график):
с помощью graph.as_default ():
config = tf.ConfigProto (
device_count = {'GPU': 0}
)
с tf.Session (config = config) в качестве сессии:

@ lwd1132438569 Могу я спросить, какую "последнюю версию" вы имеете в виду? Я также сталкиваюсь с этой проблемой в моем Ubuntu, и у меня есть python 3.5.2, CUDA 9.0, tensorflow-gpu 1.9.0, сейчас драйвер 390.48.
Я хочу попробовать, но боюсь, что теперь tenorflow не будет поддерживать «последнюю» версию ....
Спасибо1

@vburca большое вам спасибо. Я не понимал, что наличие другого jupyter noteboook будет использовать память графического процессора. Большое спасибо!!!

Я столкнулся с той же проблемой. В моем случае я понизил версию tenorflow, и это сработало для моего приложения.

Я обнаружил ту же проблему. В моем случае это была нехватка системной памяти. Когда я закончил работу другого приложения, эта проблема исчезла.

2018-09-03 22:50:26.576765: E tensorflow/stream_executor/cuda/cuda_dnn.cc:352] Could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED
2018-09-03 22:50:26.576831: E tensorflow/stream_executor/cuda/cuda_dnn.cc:360] Possibly insufficient driver version: 390.77.0
[1]    8515 segmentation fault (core dumped)  python3 training.py

GTX1070
CUDA9.0
CUDNN7.1 для CUDA9.0
TensorFlow 1.10.1
Запуск простого тензорного потока вроде hello world без проблем.
Нигде не узнать, почему это произошло .................

определенно проблема с памятью, связанная с cuda, убейте все другие процессы, связанные с cuda, и обучите / протестируйте модель ur, которая должна решить проблему

Решение @ drproy2k мне

[Решено] В моем случае я установил CUDA v9.2 и соответствующий cuDNN, но неправильно установил cuDNN, специфичный для CUDA v9.0, которого требует тензорный поток.

Убедитесь, что вы загрузили правильную версию cuDNN отсюда: https://developer.nvidia.com/rdp/cudnn-archive

а НЕ тот, который отсюда: https://developer.nvidia.com/cudnn

Золотая уловка, перезапустить все, у меня сработала.

Рестарт тоже помог мне 👍
(Но объяснение, почему это происходит, было бы действительно неплохо)

cuDNN

Я столкнулся с той же проблемой. Модели со сверточными слоями работать не будут.
Я скачал cuDNN версии 7.0 для CUDA 9.0. После замены файла cudnn64_7.dll я могу без проблем использовать свертки.

Версия DLL, вызывающая проблемы => 6.14.11.9020
Версия DLL, решившая проблему =>
Версия Tensorflow GPU => 1.11.00
Версия CUDA => 9.0
Версия Python => 3.5
ОС => Windows 10
Другие шаги => Создайте файл BAT для добавления к переменной PATH, а затем запустите CMD.EXE с параметром / k
Спасибо всем.

Мне удалось заставить программу работать, ограничив использование графического процессора. В моем случае с gtx 1060 3 ГБ на ubuntu 16.04, если я установил параметр gpu per_process_gpu_memory_fraction на .7, он работает. Что-то выше, я получаю эти ошибки

E tensorflow / stream_executor / cuda / cuda_dnn.cc: 397] не удалось создать дескриптор cudnn: CUDNN_STATUS_INTERNAL_ERROR
E tensorflow / stream_executor / cuda / cuda_dnn.cc: 364] не смог уничтожить дескриптор cudnn: CUDNN_STATUS_BAD_PARAM
F tensorflow / core / kernels / conv_ops.cc: 605] Ошибка проверки: stream-> parent () -> GetConvolveAlgorithms (и алгоритмы)

Это может быть случай плохого сообщения об ошибках тензорным потоком. Кажется совершенно не связанным. Может быть, это ключ к тому, чтобы решить эту проблему лучше?

Отлично, когда я уменьшаю gpu_memory_fraction с 0,8 до 0,7, он начинает работать!

Я столкнулся с этой проблемой после случайного обновления tenorflow-gpu с версии 1.6.0 до 1.18.0. Это вызвало нестабильность из-за версий CUDA и cuDNN. Решение откатывалось на tensorflow-gpu 1.6.0.

Это было решение моих проблем:

https://stackoverflow.com/questions/50622525/which-tensorflow-and-cuda-version-combinations-are-compatible

Всякий раз, когда вы начинаете сталкиваться с такими проблемами, прежде чем обновлять свои зависимости NVIDIA, ВСЕГДА пытайтесь решить проблему, удалив версии tensorflow и сначала установив версию, совместимую с вашими зависимостями CUDA.

Шаг 1. Проверьте версии пакетов tenorflow. Если у вас есть GPU, я рекомендую удалить cpu-версию tensorflow, чтобы избежать конфликтов.

pip list | grep tensorflow

Шаг 2: Удаление tensorflow-gpu.

pip uninstall tensorflow

Шаг 3. Проверьте свои версии CUDA и cuDNN. Возможно, вам придется отрегулировать эти пути.

- CUDA
cat /usr/local/cuda/version.txt
В случае неудачи найдите текстовый файл версии cuda, используя:
sudo find / -name version.txt

- cuDNN
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
В случае неудачи найдите текстовый файл версии cuda, используя:
sudo find / -name cudnn.h

Шаг 4: Убедитесь, что ваши версии tensorflow-gpu, cuda и cudnn соответствуют этой таблице.
image

В моем случае мне понадобился tenorflow-gpu 1.6.0 , чтобы соответствовать другим требованиям.

Итак, я установил эту версию, используя:
pip install tensorflow-gpu==1.6.0
вот спецификации, которые сработали!

ОС: Ubuntu 16.04
Версия CUDA: 9.0, V9.0.176
cuDNN Версия: 7.0
Tensorflow-gpu Версия: 1.6.0
Версия Python: 3.5.0

Удачи!

В моем случае я забыл закрыть блокнот jupyter, когда начал запускать другой фрагмент кода в VS-коде, закрытие блокнота jupyter устранило проблему.

Я столкнулся с той же проблемой.
В моем случае я использовал ноутбук Jupyter во время обучения сети.
Закрытие записной книжки Jupyter устранило мою проблему.

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

Надеюсь, это помогло!

привет, ребята, я столкнулся с теми же проблемами. я использовал win10 tensorflow-gpu1.8.0 cuda 9.0 NVIDA gtx1050Ti, когда я меняю версию cudann с 7.0 на 7.1, проблема решена

Сегодня я столкнулся с той же проблемой (gtx1080, cuda 9.2, tfversion = 1.12.0). Итак, в моем случае я запускал блокнот Jupyter, а затем я попытался запустить свой другой скрипт, и тогда возникла ошибка. Решено, как сказал @RoytenBerge , закрытие ядра jupyter.

это сработало для меня при добавлении этих строк кода в начало скрипта @Codersadis

добавьте следующий код в самое начало файла .py, что решит мою проблему.

from __future__ import print_function, Division
импортировать тензорный поток как tf
из keras.backend.tensorflow_backend import set_session
config = tf.ConfigProto ()
config.gpu_options.allow_growth = Истина
set_session (tf.Session (config = config))

@ drproy2k спасибо, у меня тоже сработало. Я запускал приглашение Anaconda, пока запущен Spyder. после того, как я выключил Spyder, он работал отлично!

Эта ошибка связана с проблемой оперативной памяти. Предлагаем вам увеличить до 32 ГБ или 64 ГБ оперативной памяти DDR3 или DDR4.
Также уменьшите количество / размер выводимых данных.

Дело не в GPU. У меня есть 2 карты X 1080Ti в SLI.

Я выполнил руководство по установке версии, чтобы решить эту проблему -
https://www.tensorflow.org/install/source#tested_source_configurations. Совместимая конфигурация: -
TF 1.12
TF-gpu 1.9
CUDA 8

такая же проблема с GeForce GTX 970, CUDNN 7.4.1, CUDA 9.0.176, TF-gpu 1.12.0

Я столкнулся с той же проблемой при использовании поддерживаемой сообществом версии tensorflow внутри среды conda (то есть с использованием> conda install tensorflow-gpu)

Оказывается, эта версия хороша не во всех ситуациях (хотя я использовал ее на других машинах). Лучшая версия для использования - это версия для установки pip https://www.tensorflow.org/install/pip внутри среды conda. Когда я это сделал, все заработало.

Я не понимал, что у меня была версия CUDNN lib для Cuda 10.0, установленная вместе с CUDA 9.0, которую я установил сейчас. Как только я загрузил и заменил V10 CUDNN на V9.0 CUDNN, все заработало отлично!
Это было упущением из-за неправильной установки, и, оглядываясь назад, я понимаю, почему ... Если вы зашли так далеко и устали экспериментировать, я написал сообщение в блоге на

@kheffah имеет
GPU GT 840M, совместимость с вычислениями 5.0, CUDA 9, cuDNN 7.4.2, TF 1.12.0. Windows 8 x64

код тестирования работает нормально

a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)

это ошибка в spyder. уже попробовал память 0.7 и прикол. не повезло

classifier.fit_generator(training_set,
                    steps_per_epoch=32,
                    epochs=25,
                    verbose=1,
                    validation_data=test_set,
                    validation_steps=6.25)
Epoch 1/25
Traceback (most recent call last):

  File "<ipython-input-4-6d704090deaf>", line 11, in <module>
    validation_steps=6.25)

  File "c:\Users\maxi.wu\AppData\Local\conda\conda\envs\tfgpu\lib\site-packages\keras\legacy\interfaces.py", line 91, in wrapper
    return func(*args, **kwargs)

  File "c:\Users\maxi.wu\AppData\Local\conda\conda\envs\tfgpu\lib\site-packages\keras\engine\training.py", line 1418, in fit_generator
    initial_epoch=initial_epoch)

  File "c:\Users\maxi.wu\AppData\Local\conda\conda\envs\tfgpu\lib\site-packages\keras\engine\training_generator.py", line 217, in fit_generator
    class_weight=class_weight)

  File "c:\Users\maxi.wu\AppData\Local\conda\conda\envs\tfgpu\lib\site-packages\keras\engine\training.py", line 1217, in train_on_batch
    outputs = self.train_function(ins)

  File "c:\Users\maxi.wu\AppData\Local\conda\conda\envs\tfgpu\lib\site-packages\keras\backend\tensorflow_backend.py", line 2715, in __call__
    return self._call(inputs)

  File "c:\Users\maxi.wu\AppData\Local\conda\conda\envs\tfgpu\lib\site-packages\keras\backend\tensorflow_backend.py", line 2675, in _call
    fetched = self._callable_fn(*array_vals)

  File "c:\Users\maxi.wu\AppData\Local\conda\conda\envs\tfgpu\lib\site-packages\tensorflow\python\client\session.py", line 1439, in __call__
    run_metadata_ptr)

  File "c:\Users\maxi.wu\AppData\Local\conda\conda\envs\tfgpu\lib\site-packages\tensorflow\python\framework\errors_impl.py", line 528, in __exit__
    c_api.TF_GetCode(self.status.status))

UnknownError: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.
     [[{{node conv2d_1/convolution}} = Conv2D[T=DT_FLOAT, _class=["loc:@training/Adam/gradients/conv2d_1/convolution_grad/Conv2DBackpropFilter"], data_format="NCHW", dilations=[1, 1, 1, 1], padding="VALID", strides=[1, 1, 1, 1], use_cudnn_on_gpu=true, _device="/job:localhost/replica:0/task:0/device:GPU:0"](training/Adam/gradients/conv2d_1/convolution_grad/Conv2DBackpropFilter-0-TransposeNHWCToNCHW-LayoutOptimizer, conv2d_1/kernel/read)]]
     [[{{node loss/mul/_91}} = _Recv[client_terminated=false, recv_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device="/job:localhost/replica:0/task:0/device:GPU:0", send_device_incarnation=1, tensor_name="edge_609_loss/mul", tensor_type=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:CPU:0"]()]]

Перейти на тензорный поток 1.7

Вт, 3 января 2019 г., 19:29 maxi.wu < [email protected] написал:

@kheffah https://github.com/kheffah имеет такую же проблему в conda.
Уже используется pip для установки TF и ​​Keras.
GPU GT 840M, совместимость с вычислениями 5.0, CUDA 9, cuDNN 7.4.2, TF 1.12.0.
Windows 8 x64

код тестирования работает нормально

a = tf.constant ([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape = [2, 3], name = 'a')
b = tf.constant ([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape = [3, 2], name = 'b')
c = tf.matmul (а, б)

это ошибка в spyder. уже попробовал память 0.7 и прикол.
не повезло

classifier.fit_generator (тренировочный_сет,
steps_per_epoch = 32,
эпох = 25,
verbose = 1,
validation_data = test_set,
validation_steps = 6.25)
Эпоха 1/25
Отслеживание (последний вызов последний):

Файл "", строка 11, в
validation_steps = 6.25)

Файл "c: \ Users \ maxi.wu \ AppData \ Local \ conda \ conda \ envs \ tfgpu \ lib \ site-packages \ keras \ legacy \ interfaces.py", строка 91, в оболочке
return func ( args, * kwargs)

Файл "c: \ Users \ maxi.wu \ AppData \ Local \ conda \ conda \ envs \ tfgpu \ lib \ site-packages \ keras \ engine \ training.py", строка 1418, в fit_generator
initial_epoch = начальная_ эпоха)

Файл "c: \ Users \ maxi.wu \ AppData \ Local \ conda \ conda \ envs \ tfgpu \ lib \ site-packages \ keras \ engine \ training_generator.py", строка 217, в fit_generator
class_weight = class_weight)

Файл "c: \ Users \ maxi.wu \ AppData \ Local \ conda \ conda \ envs \ tfgpu \ lib \ site-packages \ keras \ engine \ training.py", строка 1217, в train_on_batch
output = self.train_function (ins)

Файл "c: \ Users \ maxi.wu \ AppData \ Local \ conda \ conda \ envs \ tfgpu \ lib \ site-packages \ keras \ backend \ tensorflow_backend.py", строка 2715, в __call__
return self._call (входы)

Файл "c: \ Users \ maxi.wu \ AppData \ Local \ conda \ conda \ envs \ tfgpu \ lib \ site-packages \ keras \ backend \ tensorflow_backend.py", строка 2675, в _call
fetched = self._callable_fn (* массив_вала)

Файл "c: \ Users \ maxi.wu \ AppData \ Local \ conda \ conda \ envs \ tfgpu \ lib \ site-packages \ tensorflow \ python \ client \ session.py", строка 1439, в __call__
run_metadata_ptr)

Файл "c: \ Users \ maxi.wu \ AppData \ Local \ conda \ conda \ envs \ tfgpu \ lib \ site-packages \ tensorflow \ python \ framework \ errors_impl.py", строка 528, в __exit__
c_api.TF_GetCode (self.status.status))

UnknownError: не удалось получить алгоритм свертки. Вероятно, это связано с тем, что cuDNN не удалось инициализировать, поэтому попробуйте проверить, было ли напечатано предупреждение журнала выше.
[[{{node conv2d_1 / convolution}} = Conv2D [T = DT_FLOAT, _class = [" loc: @ training / Adam / gradient / conv2d_1 / convolution_grad / Conv2DBackpropFilter "], data_format = "NCHW", dilations = [1, 1 , 1, 1], padding = "VALID", strides = [1, 1, 1, 1], use_cudnn_on_gpu = true, _device = "/ job: localhost / replica : 0 / task: 0 / device : GPU: 0 " ] (обучение / Адам / градиенты / conv2d_1 / convolution_grad / Conv2DBackpropFilter-0-TransposeNHWCToNCHW-LayoutOptimizer, conv2d_1 / kernel / read)]]
[[{{node loss / mul / _91}} = _Recv [client_terminated = false, recv_device = "/ job: localhost / replica : 0 / task: 0 / device : CPU: 0 ", send_device = "/ job: localhost / реплика : 0 / задача: 0 / устройство : GPU: 0 ", send_device_incarnation = 1, tensor_name =" edge_609_loss / mul ", tensor_type = DT_FLOAT, _device =" / job: localhost / replica : 0 / task: 0 / device : CPU : 0 "] ()]]

-
Вы получили это, потому что прокомментировали.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/tensorflow/tensorflow/issues/6698#issuecomment-451079405 ,
или отключить поток
https://github.com/notifications/unsubscribe-auth/ABE215xY0OhbFjA_GhVtEIDl_IB4qQGmks5u_b9NgaJpZM4Lc7S1
.

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

У меня была аналогичная проблема на Windows 10 NVIDIA GEFORCE GTX 1050, и как только я закрыл все другие запущенные задачи и повторил попытку , как это было предложено

Определенно связано с памятью. Вам следует увеличить объем оперативной памяти до 64 ГБ.

Пт, 18 января 2019 г., в 17:30 Самуэль Нде [email protected] написал:

У меня была аналогичная проблема на Windows 10 NVIDIA GEFORCE GTX 1050 и как только
поскольку я закрыл все другие запущенные задачи и повторил попытку, как это было предложено @ xhm1014
https://github.com/xhm1014 выше, мой код только что начал работать как
что. Я думаю, это проблема, связанная с памятью.

-
Вы получили это, потому что прокомментировали.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/tensorflow/tensorflow/issues/6698#issuecomment-455441208 ,
или отключить поток
https://github.com/notifications/unsubscribe-auth/ABE217cdDKUuRtdD9jJ_eh2tJWrm2fjeks5vEWnwgaJpZM4Lc7S1
.

У меня была ошибка, и я «исправил» ее, закрыв несколько экземпляров Jupyter и закрыв другие приложения. Я новичок в работе с тензорным потоком в целом, поэтому, вероятно, это решило только мою проблему.

E tensorflow / stream_executor / cuda / cuda_dnn.cc: 353] Не удалось создать дескриптор cudnn: CUDNN_STATUS_INTERNAL_ERROR

У меня была эта проблема с 10.1 Cuda + cuDNN7.5 и TF 1.11, скомпилированными из исходного кода с помощью cuda. Скрипту, который я пытался использовать, нужно было где-то вставить эти строки:
config = tf.ConfigProto() config.gpu_options.allow_growth = True

а потом позже:
sess = tf.Session(graph=detection_graph,config=config)

Это сделано, много "ошибок памяти GPU" - но обнаружение происходит очень быстро, как я полагаю, когда мы используем GPU. Спасибо, что поделился!

Я столкнулся с теми же проблемами. И использование строки ниже исправило это. проверьте здесь, чтобы узнать подробности.
экспорт LD_LIBRARY_PATH = $ LD_LIBRARY_PATH: / usr / local / cuda / extras / CUPTI / lib64

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

На самом деле, я работаю над Ubuntu 18.04, а не над macOS, но кажется логичным, что это может быть вызвано некоторыми ограничениями ресурсов. Я либо столкнулся с той же проблемой на GTX 1050 ti (4 ГБ), но проблема исчезла, когда я запустил ту же архитектуру на GTX 1080 ti (11 ГБ). Хотя все среды в этих двух системах не одинаковы, я изо всех сил старался использовать контейнер докеров.

Эта проблема обычно связана с версией cuda и памяти графического процессора, если раньше, самый простой способ - изменить вашу версию cuda с помощью Anaconda! если позже, вы можете найти способы решить в других ответах.
Эта проблема обычно связана с видеопамятью и версией cuda. ​​Если описанный выше метод изменения памяти графического процессора недействителен, рассмотрите возможность изменения версии cuda. ​​Самый простой способ - не беспокоиться о том, какая версия cuda установлена ​​в системе, непосредственно под среда проекта в Anaconda Просто измените версию cuda, и про-тест будет действителен.

Если проблема не исчезла, попробуйте следующее. это сработало для меня
tf.config.gpu.set_per_process_memory_growth(True); tf.config.gpu.set_per_process_memory_fraction(0.4);

тензор потока 2 альфа
cuda 10.0
GTX 1650

У меня аналогичная проблема: CUDNN_STATUS_ALLOC_FAILED.
Голову сломала 3-4 часа. Наконец исправлено.
это действительно работает, как уже упоминалось многими выше:
config = tf.ConfigProto ()
config.gpu_options.allow_growth = Истина
сессия = tf.Session (config = config)

Но главное - написать его сразу под «import tensorflow as tf», чего я не делал. Я написал это после всего импорта.

Возможно, у версии tensorflow-gpu есть проблемы, вы должны проверить свои собственные версии, попробуйте снова и снова, удалите и установите ... tenorflow-gpu найдите соответствующий номер версии, а затем удалите и переустановите

это сработало для меня при добавлении этих строк кода в начало скрипта @Codersadis

добавьте следующий код в самое начало файла .py, что решит мою проблему.

из будущего импорта print_function, Division
импортировать тензорный поток как tf
из keras.backend.tensorflow_backend import set_session
config = tf.ConfigProto ()
config.gpu_options.allow_growth = Истина
set_session (tf.Session (config = config))

Я получаю ту же ошибку с tensorflow-gpu == 1.8.0 , cudnn version = 7.0.5 и cuda 9.1.85
, ubuntu 16.04 даже после добавления предложенного выше решения.
Следующее - трассировка стека:

INFO - Waveunet Training - Running command 'run'
INFO - Waveunet Training - Started
SCRIPT START
EPOCH: 0
Dataset ready!
Training...
Sep_Vars: 10265550
Num of variables65
2019-07-25 05:10:09.872823: I tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-07-25 05:10:10.286584: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:898] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2019-07-25 05:10:10.286914: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1356] Found device 0 with properties: 
name: Quadro P4000 major: 6 minor: 1 memoryClockRate(GHz): 1.48
pciBusID: 0000:00:05.0
totalMemory: 7.92GiB freeMemory: 7.83GiB
2019-07-25 05:10:10.286964: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1435] Adding visible gpu devices: 0
2019-07-25 05:10:10.640890: I tensorflow/core/common_runtime/gpu/gpu_device.cc:923] Device interconnect StreamExecutor with strength 1 edge matrix:
2019-07-25 05:10:10.640952: I tensorflow/core/common_runtime/gpu/gpu_device.cc:929]      0 
2019-07-25 05:10:10.640968: I tensorflow/core/common_runtime/gpu/gpu_device.cc:942] 0:   N 
2019-07-25 05:10:10.641194: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1053] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 7566 MB memory) -> physical GPU (device: 0, name: Quadro P4000, pci bus id: 0000:00:05.0, compute capability: 6.1)
2019-07-25 05:10:27.643833: I tensorflow/core/kernels/data/shuffle_dataset_op.cc:94] Filling up shuffle buffer (this may take a while): 2054 of 4000
2019-07-25 05:10:35.917445: I tensorflow/core/kernels/data/shuffle_dataset_op.cc:129] Shuffle buffer filled.
2019-07-25 05:10:36.175698: E tensorflow/stream_executor/cuda/cuda_dnn.cc:455] could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED
2019-07-25 05:10:36.175820: E tensorflow/stream_executor/cuda/cuda_dnn.cc:463] possibly insufficient driver version: 384.183.0
2019-07-25 05:10:36.175842: E tensorflow/stream_executor/cuda/cuda_dnn.cc:427] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM
2019-07-25 05:10:36.175859: F tensorflow/core/kernels/conv_ops.cc:713] Check failed: stream->parent()->GetConvolveAlgorithms( conv_parameters.ShouldIncludeWinogradNonfusedAlgo<T>(), &algorithms) 
Aborted (core dumped)

Пожалуйста помоги

У меня аналогичная проблема: CUDNN_STATUS_ALLOC_FAILED.
Голову сломала 3-4 часа. Наконец исправлено.
это действительно работает, как уже упоминалось многими выше:
config = tf.ConfigProto ()
config.gpu_options.allow_growth = Истина
сессия = tf.Session (config = config)

Но главное - написать его сразу под «import tensorflow as tf», чего я не делал. Я написал это после всего импорта.

отличный ответ, работал у меня !!

это сработало для меня при добавлении этих строк кода в начало скрипта @Codersadis
добавьте следующий код в самое начало файла .py, что решит мою проблему.
из будущего импорта print_function, Division
импортировать тензорный поток как tf
из keras.backend.tensorflow_backend import set_session
config = tf.ConfigProto ()
config.gpu_options.allow_growth = Истина
set_session (tf.Session (config = config))

Я получаю ту же ошибку с tensorflow-gpu == 1.8.0 , cudnn version = 7.0.5 и cuda 9.1.85
, ubuntu 16.04 даже после добавления предложенного выше решения.
Следующее - трассировка стека:

INFO - Waveunet Training - Running command 'run'
INFO - Waveunet Training - Started
SCRIPT START
EPOCH: 0
Dataset ready!
Training...
Sep_Vars: 10265550
Num of variables65
2019-07-25 05:10:09.872823: I tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-07-25 05:10:10.286584: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:898] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2019-07-25 05:10:10.286914: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1356] Found device 0 with properties: 
name: Quadro P4000 major: 6 minor: 1 memoryClockRate(GHz): 1.48
pciBusID: 0000:00:05.0
totalMemory: 7.92GiB freeMemory: 7.83GiB
2019-07-25 05:10:10.286964: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1435] Adding visible gpu devices: 0
2019-07-25 05:10:10.640890: I tensorflow/core/common_runtime/gpu/gpu_device.cc:923] Device interconnect StreamExecutor with strength 1 edge matrix:
2019-07-25 05:10:10.640952: I tensorflow/core/common_runtime/gpu/gpu_device.cc:929]      0 
2019-07-25 05:10:10.640968: I tensorflow/core/common_runtime/gpu/gpu_device.cc:942] 0:   N 
2019-07-25 05:10:10.641194: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1053] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 7566 MB memory) -> physical GPU (device: 0, name: Quadro P4000, pci bus id: 0000:00:05.0, compute capability: 6.1)
2019-07-25 05:10:27.643833: I tensorflow/core/kernels/data/shuffle_dataset_op.cc:94] Filling up shuffle buffer (this may take a while): 2054 of 4000
2019-07-25 05:10:35.917445: I tensorflow/core/kernels/data/shuffle_dataset_op.cc:129] Shuffle buffer filled.
2019-07-25 05:10:36.175698: E tensorflow/stream_executor/cuda/cuda_dnn.cc:455] could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED
2019-07-25 05:10:36.175820: E tensorflow/stream_executor/cuda/cuda_dnn.cc:463] possibly insufficient driver version: 384.183.0
2019-07-25 05:10:36.175842: E tensorflow/stream_executor/cuda/cuda_dnn.cc:427] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM
2019-07-25 05:10:36.175859: F tensorflow/core/kernels/conv_ops.cc:713] Check failed: stream->parent()->GetConvolveAlgorithms( conv_parameters.ShouldIncludeWinogradNonfusedAlgo<T>(), &algorithms) 
Aborted (core dumped)

Пожалуйста помоги

Изменение драйвера Nvidia на 396+ решило проблему для меня.

Это связано с долей памяти, доступной для загрузки ресурсов GPU для создания дескриптора cudnn, также известного как per_process_gpu_memory_fraction .
Уменьшение этой доли памяти самостоятельно решит ошибку.

> sess_config = tf.ConfigProto(gpu_options =
> tf.GPUOptions(per_process_gpu_memory_fraction=0.7),
> allow_soft_placement = True)
> 
> with tf.Session(config=sess_config) as sess:
>      sess.run([whatever])

Используйте как можно меньшую дробь, чем поместится в вашей памяти. (В коде я использую 0,7, вы можете начать с 0,3 или даже меньше, а затем увеличивать, пока не получите ту же ошибку, это ваш предел.)
Передайте его в конфигурацию tf.Session() или tf.train.MonitoredTrainingSession() или sv.managed_session() супервизора.

Это должно позволить вашему графическому процессору создать дескриптор cudnn для вашего кода TensorFlow.

Я получал следующую ошибку с tenorflow 2.0 в моей среде conda.

`` 2019-12-03 23: 48: 29.888625: I tensorflow / stream_executor / platform / default / dso_loader.cc: 44] Успешно открыта динамическая библиотека cudart64_100.dll
2019-12-03 23: 49: 06.381259: I tensorflow / stream_executor / platform / default / dso_loader.cc: 44] Успешно открыта динамическая библиотека nvcuda.dll
2019-12-03 23: 49: 07.220066: I tensorflow / core / common_runtime / gpu / gpu_device.cc: 1618] Найдено устройство 0 со свойствами:
имя: GeForce GTX 1660 Ti основной: 7 второстепенный: 5 memoryClockRate (ГГц): 1,59
pciBusID: 0000: 01: 00.0
2019-12-03 23: 49: 07.236411: I tensorflow / stream_executor / platform / default / dlopen_checker_stub.cc: 25] Библиотеки графического процессора связаны статически, проверка dlopen не выполняется.
2019-12-03 23: 49: 07.247476: I tensorflow / core / common_runtime / gpu / gpu_device.cc: 1746] Добавление видимых устройств gpu: 0
2019-12-03 23: 49: 07.256881: I tensorflow / core / platform / cpu_feature_guard.cc: 142] Ваш ЦП поддерживает инструкции, которые этот двоичный файл TensorFlow не был скомпилирован для использования: AVX2
2019-12-03 23: 49: 07.269536: I tensorflow / core / common_runtime / gpu / gpu_device.cc: 1618] Найдено устройство 0 со свойствами:
имя: GeForce GTX 1660 Ti основной: 7 второстепенный: 5 memoryClockRate (ГГц): 1,59
pciBusID: 0000: 01: 00.0
2019-12-03 23: 49: 07.281954: I tensorflow / stream_executor / platform / default / dlopen_checker_stub.cc: 25] Библиотеки графического процессора связаны статически, проверка dlopen не выполняется.
2019-12-03 23: 49: 07.295302: I tensorflow / core / common_runtime / gpu / gpu_device.cc: 1746] Добавление видимых устройств gpu: 0
2019-12-03 23: 49: 08.589865: I tensorflow / core / common_runtime / gpu / gpu_device.cc: 1159] Устройство соединяет StreamExecutor с матрицей границ силы 1:
2019-12-03 23:49: 08.599121: I tensorflow / core / common_runtime / gpu / gpu_device.cc: 1165] 0
2019-12-03 23: 49: 08.610543: I tensorflow / core / common_runtime / gpu / gpu_device.cc: 1178] 0: N
2019-12-03 23: 49: 08.616005: I tensorflow / core / common_runtime / gpu / gpu_device.cc: 1304] Создано устройство TensorFlow (/ job: localhost / replica: 0 / task: 0 / device: GPU: 0 with 4627 МБ памяти) -> физический графический процессор (устройство: 0, имя: GeForce GTX 1660 Ti, идентификатор шины pci: 0000: 01: 00.0, вычислительные возможности: 7,5)
2019-12-03 23: 49: 58.521484: I tensorflow / stream_executor / platform / default / dso_loader.cc: 44] Успешно открыта динамическая библиотека cublas64_100.dll
2019-12-03 23: 49: 59.604517: I tensorflow / stream_executor / platform / default / dso_loader.cc: 44] Успешно открыта динамическая библиотека cudnn64_7.dll
2019-12-03 23:50: 04.209110: E tensorflow / stream_executor / cuda / cuda_dnn.cc: 329] Не удалось создать дескриптор cudnn: CUDNN_STATUS_NOT_INITIALIZED
2019-12-03 23: 50: 04.216670: E tensorflow / stream_executor / cuda / cuda_dnn.cc: 333] Ошибка при получении версии драйвера: не реализовано: версия драйвера, сообщенная ядром, не реализована в Windows
2019-12-03 23:50: 04.226172: E tensorflow / stream_executor / cuda / cuda_dnn.cc: 329] Не удалось создать дескриптор cudnn: CUDNN_STATUS_NOT_INITIALIZED
2019-12-03 23: 50: 04.234741: E tensorflow / stream_executor / cuda / cuda_dnn.cc: 333] Ошибка при получении версии драйвера: не реализовано: версия драйвера, сообщенная ядром, не реализована в Windows
2019-12-03 23:50: 04.244958: W tensorflow / core / common_runtime / base_collective_executor.cc: 216] BaseCollectiveExecutor :: StartAbort Неизвестно: не удалось получить алгоритм свертки. Вероятно, это связано с тем, что cuDNN не удалось инициализировать, поэтому попробуйте проверить, было ли напечатано предупреждение журнала выше.
[[{{последовательность узлов / conv2d / Conv2D}}]]

so i added the following code to my CNN

gpus = tf.config.experimental.list_physical_devices ('GPU')
tf.config.experimental.set_memory_growth (gpus [0], True)

My output is now

2019-12-04 00: 10: 07.708573: I tensorflow / stream_executor / platform / default / dso_loader.cc: 44] Успешно открыта динамическая библиотека cudart64_100.dll
2019-12-04 00: 10: 11.643304: I tensorflow / stream_executor / platform / default / dso_loader.cc: 44] Успешно открыта динамическая библиотека nvcuda.dll
2019-12-04 00: 10: 12.753615: I tensorflow / core / common_runtime / gpu / gpu_device.cc: 1618] Найдено устройство 0 со свойствами:
имя: GeForce GTX 1660 Ti основной: 7 второстепенный: 5 memoryClockRate (ГГц): 1,59
pciBusID: 0000: 01: 00.0
2019-12-04 00: 10: 12.769498: I tensorflow / stream_executor / platform / default / dlopen_checker_stub.cc: 25] Библиотеки графического процессора связаны статически, проверка dlopen не выполняется.
2019-12-04 00: 10: 12.783900: I tensorflow / core / common_runtime / gpu / gpu_device.cc: 1746] Добавление видимых устройств gpu: 0
2019-12-04 00: 10: 54.941468: I tensorflow / core / platform / cpu_feature_guard.cc: 142] Ваш ЦП поддерживает инструкции, которые этот двоичный файл TensorFlow не был скомпилирован для использования: AVX2
2019-12-04 00: 10: 55.372516: I tensorflow / core / common_runtime / gpu / gpu_device.cc: 1618] Найдено устройство 0 со свойствами:
имя: GeForce GTX 1660 Ti основной: 7 второстепенный: 5 memoryClockRate (ГГц): 1,59
pciBusID: 0000: 01: 00.0
2019-12-04 00: 10: 55.383385: I tensorflow / stream_executor / platform / default / dlopen_checker_stub.cc: 25] Библиотеки графического процессора статически связаны, проверка dlopen не выполняется.
2019-12-04 00: 10: 55.406053: I tensorflow / core / common_runtime / gpu / gpu_device.cc: 1746] Добавление видимых устройств gpu: 0
2019-12-04 00: 10: 56.741665: I tensorflow / core / common_runtime / gpu / gpu_device.cc: 1159] Устройство соединяет StreamExecutor с матрицей границ силы 1:
2019-12-04 00: 10: 56.747255: I tensorflow / core / common_runtime / gpu / gpu_device.cc: 1165] 0
2019-12-04 00: 10: 56.752302: I tensorflow / core / common_runtime / gpu / gpu_device.cc: 1178] 0: N
2019-12-04 00: 10: 56.756861: I tensorflow / core / common_runtime / gpu / gpu_device.cc: 1304] Создано устройство TensorFlow (/ job: localhost / replica: 0 / task: 0 / device: GPU: 0 with 4627 МБ памяти) -> физический графический процессор (устройство: 0, имя: GeForce GTX 1660 Ti, идентификатор шины pci: 0000: 01: 00.0, вычислительные возможности: 7,5)
2019-12-04 00: 11: 08.281356: I tensorflow / stream_executor / platform / default / dso_loader.cc: 44] Успешно открыта динамическая библиотека cublas64_100.dll
2019-12-04 00: 11: 08.934804: I tensorflow / stream_executor / platform / default / dso_loader.cc: 44] Успешно открыта динамическая библиотека cudnn64_7.dll
2019-12-04 00: 11: 11.870237: W tensorflow / stream_executor / cuda / redzone_allocator.cc: 312] Внутренний: вызов ptxas не поддерживается в Windows
Использование драйвера для компиляции ptx. Это сообщение будет зарегистрировано только один раз.
`` ''

Как все предположили, это связано с тензорным потоком, использующим все графические / графические процессоры. Мой CNN теперь тренируется без ошибок.

Я столкнулся с той же проблемой при использовании поддерживаемой сообществом версии tensorflow внутри среды conda (то есть с использованием> conda install tensorflow-gpu)

Оказывается, эта версия хороша не во всех ситуациях (хотя я использовал ее на других машинах). Лучшая версия для использования - это версия для установки pip https://www.tensorflow.org/install/pip внутри среды conda. Когда я это сделал, все заработало.

Это решило для меня, спасибо!

Это также решило проблему для меня.

GeForce GTX 1050, CUDA 10.0

Примечание: это единственное, что я могу найти, что работает в TF 2.0 на данный момент. Спасибо!

gpus = tf.config.experimental.list_physical_devices ('GPU')
tf.config.experimental.set_memory_growth (gpus [0], True)

Это также решило проблему для меня.

GeForce GTX 1050, CUDA 10.0

Примечание: это единственное, что я могу найти, что работает в TF 2.0 на данный момент. Спасибо!

gpus = tf.config.experimental.list_physical_devices ('GPU')
tf.config.experimental.set_memory_growth (gpus [0], True)

Для меня это не имело никакого значения ... TF 2.0, RTX 2060, CUDA 10.1, CuDNN 7.6

Это с 16 ГБ ОЗУ, 6 ГБ видеопамяти и базовой игрушечной моделью MNIST с одним сверточным слоем. Никаких проблем с памятью, только трассировка стека.

Как обычно, никаких проблем с графическим процессором в Pytorch нет.

В моем случае у меня две машины, обе с RTX 2080Ti, TF 2.1, CUDA 10.1, CuDNN 7.6. Один работает, другой вызывает вышеупомянутую ошибку. Обе машины имеют одинаковый объем оперативной памяти - 16 ГБ. Однако есть аппаратные отличия, например, процессор. Но проблема возникает только при использовании графического процессора.

В моем случае у меня две машины, обе с RTX 2080Ti, TF 2.1, CUDA 10.1, CuDNN 7.6. Один работает, другой вызывает вышеупомянутую ошибку. Обе машины имеют одинаковый объем оперативной памяти - 16 ГБ. Однако есть аппаратные отличия, например, процессор. Но проблема возникает только при использовании графического процессора.

Та же платформа, та же проблема

Если вы используете последнюю версию tenorflow и keras. Попробуйте отсюда , у меня это сработало:

gpus = tf.config.experimental.list_physical_devices('GPU')
if gpus:
  try:
    # Currently, memory growth needs to be the same across GPUs
    for gpu in gpus:
      tf.config.experimental.set_memory_growth(gpu, True)
    logical_gpus = tf.config.experimental.list_logical_devices('GPU')
    print(len(gpus), "Physical GPUs,", len(logical_gpus), "Logical GPUs")
  except RuntimeError as e:
    # Memory growth must be set before GPUs have been initialized
    print(e)

Этот мне подходит.
Physical_devices = tf.config.list_physical_devices ('GPU')
tf.config.experimental.set_memory_growth (physical_devices [0], True)

Этот мне подходит.
Physical_devices = tf.config.list_physical_devices ('GPU')
tf.config.experimental.set_memory_growth (physical_devices [0], True)

Это сработало для меня. Спасибо

@ Samaritan1011001 ваше решение работает для меня, большое спасибо.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги