Tensorflow: Crash: no se pudo crear el identificador cuDNN cuando se usan convnets

Creado en 6 ene. 2017  ·  145Comentarios  ·  Fuente: tensorflow/tensorflow

Tensorflow (GPU) se importó correctamente, pero cuando se ejecuta una sesión que involucra una red neuronal convolucional (CNN), Python se bloquea con el siguiente mensaje:

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)

El problema persiste en cualquier combinación del kit de herramientas CUDA 7.5 / 8.0 y Tensorflow instalado desde pip / source. Las sesiones de prueba que no utilizan CNN se ejecutan correctamente.

¿Qué problemas relacionados con GitHub o subprocesos de StackOverflow has encontrado al buscar en la web tu problema?

El problema es similar a https://github.com/tensorflow/tensorflow/issues/6586 , donde comenté por primera vez. Pero como experimenté el problema en una Mac, se me sugirió que abriera un problema por separado.

Información medioambiental

Sistema operativo: macOS Sierra 10.12.2
Xcode versión 8.2 (8C38) (Cuando más tarde probé CUDA 7.5, instalé Command Line Tools versión 7.3.1 porque CUDA 7.5 no era compatible con los compiladores más recientes).
Python 3.5.2 (anaconda)

Versión instalada de CUDA: probé 8.0 (inicialmente) y 7.5 (reportado aquí, solo kit de herramientas; el controlador sigue siendo 8.0)
Versión instalada de cuDNN: 5.1 (diferentes instalaciones según versiones CUDA)
(adjunte el resultado de 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

Intenté instalar tanto desde pip como desde fuente. Lo instalé por primera vez desde el paquete binario pip:

  1. Un enlace al paquete pip que instaló:
    tensorflow-gpu
  2. La salida de python -c "import tensorflow; print(tensorflow.__version__)" .
    0.12.head

Más tarde lo instalé desde la fuente (el paquete pip se desinstaló):

  1. El hash de confirmación ( git rev-parse HEAD )
    d67c09d98a576e1fbf2f3609ddb842e53890f31c
  2. La salida de bazel version

    Etiqueta de construcción: 0.4.3-homebrew
    Objetivo de compilación: bazel-out / local-opt / bin / src / main / java / com / google / devtools / build / lib / bazel / BazelServer_deploy.jar
    Hora de construcción: Thu Dec 22 15:20:15 2016 (1482420015)
    Marca de tiempo de compilación: 1482420015
    Marca de tiempo de compilación como int: 1482420015

Si es posible, proporcione un ejemplo mínimo reproducible

Hice un ejemplo mínimo simplificando la red y reduciendo los datos de entrenamiento a solo veinte imágenes y dos clases para la clasificación. issue.zip contiene el código Python y los datos. Escribí dos capas convolucionales porque encontré que la red con solo una capa convolucional se ejecuta sin problemas.

Registro completo con CUDA 7.5 y Tensorflow compilado a partir de la fuente

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)

Registro completo usando CUDA 8.0 y Tensorflow instalado desde 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

Comentario más útil

Aquí hay un poco más de información sobre cómo lo resolví temporalmente. Creo que todos estos problemas están relacionados con la asignación de memoria de la GPU y no tienen nada que ver con los errores que se informan. Hubo otros errores antes de esto que indicaban algún tipo de problema de asignación de memoria, pero el programa continuó progresando, eventualmente dando los errores cudnn que todo el mundo está recibiendo. La razón por la que creo que funciona a veces es que si usa la gpu para otras cosas además de tensorflow, como su pantalla principal, la memoria disponible fluctúa. A veces puede asignar lo que necesita y otras veces no.

De la API
https://www.tensorflow.org/versions/r0.12/how_tos/using_gpu/
"De forma predeterminada, TensorFlow asigna casi toda la memoria GPU de todas las GPU (sujeto a CUDA_VISIBLE_DEVICES) visibles para el proceso. Esto se hace para usar de manera más eficiente los recursos de memoria GPU relativamente valiosos en los dispositivos al reducir la fragmentación de la memoria".

Creo que esta asignación predeterminada está rota de alguna manera que hace que este comportamiento errático y ciertas situaciones funcionen y otras fallen.

Resolví este problema cambiando el comportamiento predeterminado de TF para asignar una cantidad mínima de memoria y crecer según sea necesario, como se detalla en la página web.
config = tf.ConfigProto ()
config.gpu_options.allow_growth = Verdadero
sesión = tf.Session (config = config, ...)

También probé la forma alternativa y pude hacer que funcionara y fallé al elegir experimentalmente un porcentaje que funcionó. En mi caso terminó siendo aproximadamente .7.

config = tf.ConfigProto ()
config.gpu_options.per_process_gpu_memory_fraction = 0.4
sesión = tf.Session (config = config, ...)

Todavía no hay noticias de nadie en el equipo de TF que confirme esto, pero vale la pena intentarlo para ver si otros pueden confirmar un comportamiento similar.

Todos 145 comentarios

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)

Encontré exactamente el mismo problema que tú con CUDA8 y TF r0.12.1.

@EncodeTS Acabo de agregar un ejemplo mínimo reproducible a mi primera publicación. ¿Podría comprobar si reproduce el problema en su máquina? En mi máquina, funciona una capa convolucional pero no dos capas convolucionales, lo que me llevó a pensar que el problema podría deberse a algunas limitaciones de recursos.

Puedo confirmar que el ejemplo mínimo de @ymfa falla en MacOS NVidia 750, pero también el mismo ejemplo funciona en Linux / Titan X

El ejemplo mínimo funciona en mi Ubuntu. Parece que el problema que encontré tiene una probabilidad de ocurrencia muy baja en mi computadora.

Me encuentro con el mismo problema. El gráfico funcionará bien cuando se fuerce a la CPU, pero se bloqueará en la gpu.

Medio ambiente

SO: macOS 10.12.2
Procesador gráfico: GeForce GT 750M
TF: 0.12.1 (instalación de pip)
Python: 3.6.0
CUDA: 8.0
cuDNN: 5.1

(salida de 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

Ejemplo

El ejemplo mínimo proporcionado por @ymfa falla y tiene éxito en mi configuración. Los siguientes son tres resultados que se han producido.
fallar (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

fallar (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)]]

aprobar

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!

Cierre automático por falta de actividad reciente. Actualice el problema cuando haya nueva información disponible y lo volveremos a abrir. ¡Gracias!

No tan rápido, también veo este accidente. Macbook pro, geforce 650. TF v1. Se ejecuta a través de kernels de jupyter, que tengo que reiniciar con frecuencia. ¿Quizás esta tarjeta gráfica es demasiado débil? Viendo cómo la operación usa la misma tarjeta: probable.

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) 

Tengo el mismo problema con GTX 960m, cudnn5.1.5 y cuda-8.0.44.

Tengo el mismo problema con centOS, titan X

Tiene el mismo problema con ubuntu (14.04) y GRID K520 (aws g2.2)

Tiene el mismo problema windows 10 cudnn 5.1 cuda 8 gtx 1060. El programa funciona en la versión de cpu de tensor flow pero obtiene estos mismos errores con la versión de gpu.

Tuve el mismo problema con gtx1060, win8.1, cuda8.0.60, cudnn5.0. Se actualizó a la última compilación nocturna estable de tensorflow-gpu (actualmente http://ci.tensorflow.org/job/nightly-win/133/) y cudnn5.1. Problema resuelto.

El mismo problema aquí.

Tenía este problema con las versiones de software que se enumeran a continuación, excepto que TF era la versión 1.0.0. Luego actualicé a TF 1.0.1. Ejecuté el mismo programa una vez y funcionó . Luego lo ejecuté de nuevo y no funcionó , produjo el mismo error que antes.

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

tener el mismo problema con gtx650, ubuntu 16.04, CUDA versión 8.0.61, TF versión 1.0.0
estaba funcionando justo ahora, pero dando algunas advertencias de memoria baja. Sin embargo, estaba corriendo
Ahora no se ejecuta en absoluto, dándome el mismo error de verificación: stream-> parent () -> error GetConvolveAlgorithms (y algoritmos)

Tener el mismo problema con gtx 1080 ti, windows 10, CUDA versión 8.0.61, TF versión 1.0.1, 5.1 Cudann, cuda 8.0.61

Pude hacer que un programa funcionara limitando el uso de gpu. En mi caso con un gtx 1060 de 3gb en ubuntu 16.04, si configuro la opción de gpu per_process_gpu_memory_fraction en .7, funciona. Algo más alto, obtengo estos errores

E tensorflow / stream_executor / cuda / cuda_dnn.cc: 397] no pudo crear el identificador cudnn: CUDNN_STATUS_INTERNAL_ERROR
E tensorflow / stream_executor / cuda / cuda_dnn.cc: 364] no pudo destruir cudnn handle: CUDNN_STATUS_BAD_PARAM
F tensorflow / core / kernels / conv_ops.cc: 605] Falló la verificación: stream-> parent () -> GetConvolveAlgorithms (y algoritmos)

Podría ser un caso de informe de errores incorrectos por tensorflow. Parece completamente ajeno. ¿Quizás sea una pista para resolver esto de una mejor manera?

@ zheng-xq ¿hay algún problema de configuración obvio?

El mismo problema también. Estoy en 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] no se pudo crear el identificador 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] error al recuperar la versión del controlador: No implementado: el kernel informó que la versión del controlador no se implementó en Windows
E c: \ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ stream_executor \ cuda \ cuda_dnn.cc: 326] no pudo destruir cudnn handle: CUDNN_STATUS_BAD_PARAM
F c: \ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ core \ kernels \ conv_ops.cc: 659] Error al comprobar: stream-> parent () -> GetConvolveAlgorithms (y algoritmos)

Si ayuda a alguien, parece que a veces quedan procesos zombie que impiden que tf comience de nuevo correctamente y me dio este error. matarlos soluciona el problema.

Aquí hay un poco más de información sobre cómo lo resolví temporalmente. Creo que todos estos problemas están relacionados con la asignación de memoria de la GPU y no tienen nada que ver con los errores que se informan. Hubo otros errores antes de esto que indicaban algún tipo de problema de asignación de memoria, pero el programa continuó progresando, eventualmente dando los errores cudnn que todo el mundo está recibiendo. La razón por la que creo que funciona a veces es que si usa la gpu para otras cosas además de tensorflow, como su pantalla principal, la memoria disponible fluctúa. A veces puede asignar lo que necesita y otras veces no.

De la API
https://www.tensorflow.org/versions/r0.12/how_tos/using_gpu/
"De forma predeterminada, TensorFlow asigna casi toda la memoria GPU de todas las GPU (sujeto a CUDA_VISIBLE_DEVICES) visibles para el proceso. Esto se hace para usar de manera más eficiente los recursos de memoria GPU relativamente valiosos en los dispositivos al reducir la fragmentación de la memoria".

Creo que esta asignación predeterminada está rota de alguna manera que hace que este comportamiento errático y ciertas situaciones funcionen y otras fallen.

Resolví este problema cambiando el comportamiento predeterminado de TF para asignar una cantidad mínima de memoria y crecer según sea necesario, como se detalla en la página web.
config = tf.ConfigProto ()
config.gpu_options.allow_growth = Verdadero
sesión = tf.Session (config = config, ...)

También probé la forma alternativa y pude hacer que funcionara y fallé al elegir experimentalmente un porcentaje que funcionó. En mi caso terminó siendo aproximadamente .7.

config = tf.ConfigProto ()
config.gpu_options.per_process_gpu_memory_fraction = 0.4
sesión = tf.Session (config = config, ...)

Todavía no hay noticias de nadie en el equipo de TF que confirme esto, pero vale la pena intentarlo para ver si otros pueden confirmar un comportamiento similar.

También recibo el error CUDNN_STATUS_NOT_INITIALIZED . Aquí está el registro de errores completo:

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)

Estoy en Windows 10, CUDA 8.0, cuDNN 5.1. ¿Se puede hacer algo para evitarlos? Pude ejecutar antes algunas otras pruebas de flujo tensorial y funcionó bien (incluida la operación de convivencia), pero ahora no funciona en esta nueva prueba ...

@ serans1 ¿

Por favor, avíseme si hay una solución para esto. ¡Gracias!

EDITAR Esto podría haber sido un error de novato, pero solo lo mencionaré aquí, en caso de que alguien más tenga el mismo problema:
Mi problema era que ya tenía ejecutando una instancia de un Jupyter Python Notebook (cuyas celdas ya estaban ejecutadas, por lo tanto cargadas en la memoria), y también algún otro proceso que estaba ocupando la memoria de la GPU (videojuego minimizado). Por lo tanto, cuando verifiqué el uso de memoria en mi GPU, ya estaba en alrededor de 4 + GB (50 +%). Cerré Jupyter Notebook y la otra aplicación, y volví a ejecutar mi prueba de tensorflow. Ahora todo funcionó sin problemas :) Además, mientras funcionaba, noté que en el pico usa hasta el 90% de la memoria de mi GPU, y por lo tanto tiene sentido por qué no podía inicializar CUDNN cuando tenía menos del 50% disponible en mi situación inicial .

¡Perdón de nuevo por mi error! Estoy empezando a jugar con esto :)

El mismo problema, ¿hay alguna solución?

I c: \ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ core \ common_runtime \ gpu \ gpu_device.cc: 885] Se encontró el dispositivo 0 con las propiedades:
nombre: GeForce GTX 960M
mayor: 5 menor: 0 memoryClockRate (GHz) 1,176
pciBusID 0000: 01: 00.0
Memoria total: 4,00GiB
Memoria libre: 3.35GiB
Yo c: \ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ core \ common_runtime \ gpu \ gpu_device.cc: 906] DMA: 0
I 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] Creando el dispositivo TensorFlow (/ gpu: 0) -> (dispositivo: 0, nombre: GeForce GTX 960M, id de bus 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] No se pudo identificar el nodo NUMA de / job: localhost / replica: 0 / task: 0 / gpu: 0, predeterminado en 0. Es posible que su kernel no haya sido construido con soporte NUMA.
E c: \ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ stream_executor \ cuda \ cuda_dnn.cc: 385] no se pudo crear el identificador 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] error al recuperar la versión del controlador: Permiso denegado: no se pudo abrir la ruta de la versión del controlador para leer : / proc / driver / nvidia / versión
E c: \ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ stream_executor \ cuda \ cuda_dnn.cc: 352] no pudo destruir cudnn handle: CUDNN_STATUS_BAD_PARAM
F c: \ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ core \ kernels \ conv_ops.cc: 532] Error al comprobar: stream-> parent () -> GetConvolveAlgorithms (y algoritmos)

Tengo exactamente el mismo problema.
Pero puedo ejecutar mis códigos con acceso root (con sudo).
Actualmente estoy trabajando en Ubuntu 16.04 con GTX 960.
Mi versión CUDA es 8.0 y estoy usando tensorflow 1.01

Windows 10 / Tensorflow 1.01
Lo estaba usando perfectamente pero ahora accidentalmente me pasa el mismo error

nombre: GeForce GTX 1070
mayor: 6 menor: 1 memoria ClockRate (GHz) 1.7715
pciBusID 0000: 03: 00.0
Memoria total: 8,00GiB
Memoria libre: 6.68GiB
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] Creando un dispositivo TensorFlow (/ gpu: 0) -> (dispositivo: 0, nombre: GeForce GTX 1070, id de bus 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] no pudo crear el identificador 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] error al recuperar la versión del controlador: No implementado: la versión del controlador informada por el kernel no está implementada en 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] no pudo destruir el identificador 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] Error al comprobar: stream- > parent () -> GetConvolveAlgorithms (y algoritmos)

El método de @strickon funcionó para mí. Parece que tensorflow está tratando de acaparar demasiados recursos a la vez y no puede, lo que bloquea la operación. Usé específicamente:

config.gpu_options.allow_growth = Verdadero

Confirmar la sugerencia de @strickon funciona para mí.

Estoy ejecutando https://github.com/awjuliani/DeepRL-Agents/blob/master/Double-Dueling-DQN.ipynb y estaba obteniendo las fallas mencionadas en este hilo en la primera llamada a sess.run dentro del bloque de actualización (El línea: Q1 = sess.run(mainQN.predict,feed_dict={mainQN.scalarInput:np.vstack(trainBatch[:,3])}) .

Agregar el indicador allow_growth (como se muestra a continuación) me ayudó a superar este bache: el código se está ejecutando actualmente en segundo plano, veremos qué tan lejos llega.

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

Apilar:

  • MacBook Pro, con Sierra 10.12.4, con NVIDIA GeForce GT 750M 2048 MB. Por lo general, solo tiene 1,7 GB libres.
  • TensorFlow 1.1 Usando las instrucciones de instalación de Anaconda.
  • Python 3.6, no virtual (Anaconda)
  • CUDA 8 / cuDNN 5

Estaría bien con descargar más estadísticas a pedido.

Estaba trabajando con dos terminales al mismo tiempo y tuve el mismo problema. Se solucionó cerrando una terminal.

Cierre automático por falta de actividad reciente. Actualice el problema cuando haya nueva información disponible y lo volveremos a abrir. ¡Gracias!

Después de implementar los cambios sugeridos por @strickon , comencé a ver aparecer un nuevo conjunto de registros de información:

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)

No estoy seguro si está relacionado.

El mismo error aquí.

Windows 10 x86_64, GeForce GTX 970, controladores 376.53, Cuda 8.0, cuDNN 5.1., Tensorflow-gpu 1.2.0 de pip, python 3.6

Estoy tratando de ejecutar el ejemplo predeterminado de la sección de tutoriales del sitio web:

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

python classify_image.py

Yo tengo el mismo error:

'
''
(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] La biblioteca de TensorFlow no se compiló para usar instrucciones SSE, pero están disponibles en su máquina y podrían acelerar los cálculos de la CPU.
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] La biblioteca de TensorFlow no se compiló para usar las instrucciones SSE2, pero están disponibles en su máquina y podrían acelerar los cálculos de la CPU.
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] La biblioteca de TensorFlow no se compiló para usar las instrucciones SSE3, pero están disponibles en su máquina y podrían acelerar los cálculos de la CPU.
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] La biblioteca de TensorFlow no se compiló para usar las instrucciones SSE4.1, pero están disponibles en su máquina y podrían acelerar los cálculos de la CPU.
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] La biblioteca de TensorFlow no se compiló para usar las instrucciones SSE4.2, pero están disponibles en su máquina y podrían acelerar los cálculos de la CPU.
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] La biblioteca de TensorFlow no se compiló para usar instrucciones AVX, pero están disponibles en su máquina y podrían acelerar los cálculos de la CPU.
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] La biblioteca de TensorFlow no se compiló para usar las instrucciones AVX2, pero están disponibles en su máquina y podrían acelerar los cálculos de la CPU.
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] La biblioteca de TensorFlow no se compiló para usar instrucciones FMA, pero están disponibles en su máquina y podrían acelerar los cálculos de la CPU.
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] Encontrado dispositivo 0 con propiedades:
nombre: GeForce GTX 970
mayor: 5 menor: 2 memoria ClockRate (GHz) 1.253
pciBusID 0000: 01: 00.0
Memoria total: 4,00GiB
Memoria libre: 3.31GiB
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] Creando Dispositivo TensorFlow (/ gpu: 0) -> (dispositivo: 0, nombre: GeForce GTX 970, id de bus 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 es obsoleto. Dejará de funcionar en GraphDef versión 9. Utilice 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] no se pudo crear identificador 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] error al recuperar el controlador versión: No implementada: la versión del controlador informada por el kernel no está implementada en 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] no pudo destruir identificador 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] Verificación fallida: stream-> parent () -> GetConvolveAlgorithms (y algoritmos)

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

`` ``

En mi caso, esto sucedió porque otras instancias de tensorflow tenían la GPU. (Se están ejecutando otros scripts).

¿Puedo proponer mejores mensajes de error? Diga: "Error: se están ejecutando otras instancias de tensorflow, mientras que solo se admite una".

Tengo el mismo problema. Ejecutando macOS 10.12.5 GT 750M 2GB

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   

Resuelto (al menos para mí). El mensaje de error no le lleva al problema correcto. Tuve este error de 2 fuentes diferentes:

Primero (como dijo @lockywolf ):
Utilizo el portátil jupyter y, a veces, el kernel TF no libera la memoria de la GPU y tienes que reiniciar el jupyter para que vuelva a funcionar . Esto sucede generalmente después de errores en tiempo de ejecución o reinicio incorrecto del kernel ...

Segundo:
A veces te vuelves codicioso con la memoria de la GPU e intentas cosas como esta:

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

Esto fue fatal para mi configuración y comenzó a recibir este error. La solución fue utilizar la forma predeterminada para iniciar la sesión interactiva :
sess = tf.InteractiveSession()

Sistema:

Ubuntu 14.04
GeForce GTX 780
Versión del controlador CUDA = 8.0
Versión CUDNN = 5.1
Versión de TensorFlow = 1.2.1

Ahora tengo el mismo problema al ejecutar mis propios scripts.
Creo que es la misma razón que describió @lockywolf :

En mi caso, esto sucedió porque otras instancias de tensorflow tenían la GPU. (Se están ejecutando otros scripts).

Tuve este error con bastante frecuencia pero irregular, luego seguí el ejemplo de

¡salud!

Editar:
Además de la solución de @RawthiL , seguí la introducción de Keras TF donde dicen:

Deberíamos comenzar creando una sesión de TensorFlow y registrándola con Keras. Esto significa que Keras usará la sesión que registramos para inicializar todas las variables que crea internamente.

importar tensorflow como tf
sess = tf.Session ()

desde keras import backend como K
K.set_session (sess)

El mismo problema. He estado luchando cuesta arriba para que esto funcione todo el día.

$ ~/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) 

Descubrí que, en algunos casos, restablecer el kernel de jupyter no funciona. En realidad, me pasó a mí mientras usaba jupyterhub.
Reinicié el kernel, desactivé mi virtualenv y la memoria de la GPU todavía estaba retenida por algún proceso. El comando nvidia-smi dijo que no había ningún proceso usando la GPU y cuando intenté restablecerlo con sudo nvidia-smi --gpu-reset -i 0 (para el núcleo de 0 gpu) dijo lo siguiente:

No se puede restablecer esta GPU porque está siendo utilizada por algún otro proceso (por ejemplo, aplicación CUDA, aplicación de gráficos como el servidor X, aplicación de monitoreo como otra instancia de nvidia-smi). Primero elimine todos los procesos que utilizan esta GPU y todas las aplicaciones de cómputo que se ejecutan en el sistema (incluso cuando se ejecutan en otras GPU) y luego intente restablecer la GPU nuevamente.
Terminación anticipada debido a errores anteriores.

Así que hubo un proceso que sostenía la GPU, y los busqué usando sudo fuser -v /dev/nvidia* que decía que en realidad había algo que sostenía la GPU ... python en sí ... matándolo y relanzando virtualenv y jupyter hizo el truco.
Puede que no sea la mejor manera de resolver esto, pero es mejor que reiniciar la computadora cuando todas las demás opciones fallan.

Tiene el mismo problema. La GPU es GTX 1070 y CUDA 8.0 y CUDNN 5.1 para CUDA 8.0.

El problema no depende del código de usuario, depende del hardware o del estado del software de Nvidia o Google. Este error puede comenzar a aumentar en cualquier momento y el reinicio puede solucionarlo con el mismo código de usuario.

El mismo problema con Windows 10, GTX770, CUDA 8.0, CUDNN 5.1, TF-GPU 1.1.0, no estoy seguro de dónde obtener la versión del controlador del dispositivo, pero el Administrador de dispositivos de Windows informa 21.21.13.7651 para el controlador de pantalla.

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)

El mismo problema con Windows 10, GTX770, CUDA 8.0, CUDNN 5.1, TF-GPU 1.1.0, no estoy seguro de dónde obtener la versión del controlador del dispositivo, pero el Administrador de dispositivos de Windows informa 21.21.13.7651 para el controlador de pantalla.

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)

La solución de @ggranum funcionó para mí:

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

En mi caso, el mismo problema se resolvió actualizando el controlador de gpu de NVIDIA.

¿Este problema se ha resuelto por completo? Estoy ejecutando TF 1.3.0 en Ubuntu 16.04 con CUDA 8.0 y cuDNN 5.1. Usé Anaconda para instalar mis paquetes. Hace 4 días al azar, yo también experimenté este error

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)

Tengo 4 GPU 1080ti. Durante la ejecución de mi modelo, supervisé nvidia-smi y obtuve

-------------------------------------------------- --------------------------- +
| Procesos: Memoria GPU |
| GPU PID Tipo Nombre del proceso Uso |
| =============================================== ============================ |
| 0 1422 G / usr / lib / xorg / Xorg 279MiB |
| 0 3530 G compiz 195MiB |
| 0 11249 C / inicio / simon / anaconda3 / bin / python 10157MiB |
| 1 11249 C / inicio / simon / anaconda3 / bin / python 10611MiB |
| 2 11249 C / hogar / simon / anaconda3 / bin / python 10611MiB |
| 3 11249 C / inicio / simon / anaconda3 / bin / python 10611MiB |
+ ------------------------------------------------- ---------------------------- +

Entonces, por alguna razón, Python está acaparando la memoria. Por supuesto, si mato esto, mata mi cuaderno jupyter. No tengo procesos zombies en ejecución. Yo he tratado.

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

lo que reduce el uso de la GPU, pero sigo teniendo el mismo error de manejo de cuDDN. He reinstalado TF. CUDA, cuDNN, Anaconda sin impacto en el problema.

¿Por qué ocurre este error de forma aleatoria y cómo se puede solucionar?

TensorFlow 1.3 está construido contra cuDNN 6.
Actualice su instalación de cuDNN.

Gracias, Gunan. Desafortunadamente, eso no hace ninguna diferencia. Incluso con cuDNN 6, sigo recibiendo el error cuDNN no puede crear el identificador. Incluso configurar las opciones de GPU directamente no evita el error, aunque reduce la cantidad de memoria de GPU utilizada. Python ocupa la memoria de la GPU, por lo que si apago esto, cierra mi cuaderno Jupyter. He estado atascado en esto durante casi 4 días y parece que he agotado todas las sugerencias que he visto en línea. ¿Podría ser esto un problema de TF 1.3?

Solo para aquellos que se vuelven locos por esto:

Ocasionalmente también recibí un error de CUBLAS. Entonces hice esto:

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

y descubrí que no pude inicializar CUBLAS

Entonces, a continuación hice esto (basado en un consejo)

sudo rm -f ~/.nv

Y funcionó. Saludos ... eso es 4 días desperdiciados. Espero que esto salve a alguien más

@ SimonWalsh1000 ¡¡ Eso funcionó !! Gracias

verifique su .theanorc en su ruta de inicio (si es Ubuntu), y configure el cnmem más pequeño ... tal vez cnmem = 0.8, y funcionó para mí ahora

Lo conseguí funcionando perfectamente en Windows 10 con GTX 1070.
Estaba usando cudnn 7.0.2
La degradación a vs 6.0 me resolvió problemas:

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

Publicado todo el proceso de instalación aquí:
http://klaatuveratanecto.com/installing-tensorflow-gpu-windows-10-running-image_retraining/

Hola, tengo la misma pregunta. Sin embargo, encontré que la razón es que usé tensorflow dos veces al mismo tiempo.

Por ejemplo, usualmente usé el cuaderno de Jupyter para el script simple y usé PyCharm para el proyecto. Si no apagaba el portátil jupyter, podría encontrar este error en Pycharm.

Ojalá esto pudiera ayudar.


Ventanas10 64,
NVIDIA TitanX,
Conductor 385.41,
Cuda 8.0.60
Cudnn 6.0
Python 3.5.2
Tensorflow 1.3

Estoy de acuerdo con @strickon : parece ser un problema de asignación de memoria.
Tenía un cuaderno con el programa tensorflow en ejecución e intenté ejecutar un python + tensorflow en otra terminal de Windows y obtuve el error. Luego reinicié mi computadora portátil (liberé la memoria de la GPU) e intenté ejecutar Python en la terminal de Windows nuevamente y ¡funcionó! Creo que tensorflow debería proporcionar un mejor mensaje de error para asesorar al usuario con una explicación más detallada.

Estoy en windows 10, cuda 8 y cudnn 6 con:

nombre: Quadro K620
mayor: 5 menor: 0 memoryClockRate (GHz) 1.124
pciBusID 0000: 01: 00.0
Memoria total: 2.00GiB
Memoria libre: 1,66 GiB

Prácticamente los mismos pasos funcionaron para mí también, tengo poca comprensión de cómo funcionó. Simplemente cierro todas las ventanas, cerré la terminal de python abierta en pycharm, incluidas las ventanas abiertas por la ejecución anterior del mismo programa para trazar el progreso en el entrenamiento y reabrir y ejecutar, funciona sin errores. Los errores anteriores informados no parecen dar una pista directa ---

Hola,
Tuve el mismo problema, ejecutar Python con sudo resolvió mi problema.

@ SimonWalsh1000 ¡

@hesamaraghi Correr con sudo también nos ayudó. Pudimos ejecutar como no root agregando nuestro usuario no root al grupo nvidia-persistenced . Vea mi comentario original: https://github.com/tensorflow/tensorflow/issues/14048#issuecomment -340898847

Tuve el mismo problema en Ubuntu 16.04 y cuda-8.0 (con GTX1080Ti). Solo me gustaría informar a cualquiera de ustedes con el mismo problema que la solución dada por @ SimonWalsh1000 funcionó perfectamente para mí (es decir, el problema de inicialización de CUBLAS fue resuelto por sudo rm -rf ~/.nv/ ). Entonces, muchas gracias @ SimonWalsh1000 , me costó algunas horas ...

@ SimonWalsh1000 Realmente funciona. ¡Muchas gracias!

@ SimonWalsh1000 funciona a las

Tuve el mismo problema en Windows 10, CUDA 8.0, cuDNN 6.1 con GTX1070Ti.
Encuentro la razón: he ejecutado el código de tensorflow en annconda spyder IDE, luego ejecuté otro código de tensorflow en el indicador de annconda.
resolverlo cerrando el IDE de spyder
@lockywolf tiene razón

Yo tuve el mismo problema. Probé el método de Resolví este problema actualizando cuDNN 7.0 para CUDA8.0

sistema al comienzo:

  • Windows10
  • CUDA8.0
  • cuDNN6.0
  • Anaconda3.5 (python3.5)
  • GeForce 840M mayor: 5 menor: 0 memoria Tasa de reloj (GHz): 1,124
  • 2.00GiB gratis Memoria: 1.66GiB

sistema después de resuelto:

  • Windows10
  • CUDA8.0
  • cuDNN7.0
  • Anaconda3.5 (python3.5)
  • GeForce 840M mayor: 5 menor: 0 memoria Tasa de reloj (GHz): 1,124
  • 2.00GiB gratis Memoria: 1.66GiB

Creo que este problema puede deberse a la falta de coincidencia entre la versión de la biblioteca y el hardware. @chleibig también resuelve esto actualizando el controlador de la GPU. Espero que esto puede ser útil.

Para mí, poner: config.gpu_options.allow_growth = True en la sesión de tensorflow solucionó el problema.
Cuda 8, tf 1.4, cudnn 6

ejecute esto solucione el problema.

sudo rm -rf ~ / .nv

la misma pregunta. ¿Existe alguna solución para solucionar el problema?
Mi situación es:
nombre: GeForce GTX 1080
totalMemoria: 7,92GiB gratisMemoria: 2,50GiB
tensorflow: gpu-1.4.0

Estoy probando una gpu pero ejecutando tres instancias de tensorflow.
en mi código así:
gpu_options = tf.GPUOptions (per_process_gpu_memory_fraction = 0.3)
sess = tf.Session (config = tf.ConfigProto (gpu_options = gpu_options))

las otras dos instancias de tensorflow funcionan bien, pero solo la última ejecuta un error como este:

E tensorflow / stream_executor / cuda / cuda_dnn.cc: 371] no pudo crear el identificador cudnn: CUDNN_STATUS_INTERNAL_ERROR
E tensorflow / stream_executor / cuda / cuda_dnn.cc: 338] no pudo destruir cudnn handle: CUDNN_STATUS_BAD_PARAM
F tensorflow / core / kernels / conv_ops.cc: 672] Error de verificación: stream-> parent () -> GetConvolveAlgorithms (conv_parameters.ShouldIncludeWinogradNonfusedAlgo() y algoritmos)

¿Por qué? ¿La configuración de gpu es demasiado pequeña? Gpu_options = tf.GPUOptions (per_process_gpu_memory_fraction = 0.3)
No estoy seguro. quiero alguna sugerencia. Voy a tratar de.

Mira mi solución ...

El 19 de diciembre de 2017 a las 08:20, tbchj [email protected] escribió:

la misma pregunta. ¿Existe alguna solución para solucionar el problema?
Mi situación es:
nombre: GeForce GTX 1080
totalMemoria: 7,92GiB gratisMemoria: 2,50GiB
tensorflow: gpu-1.4.0

Estoy probando una gpu pero ejecutando tres instancias de tensorflow.
en mi código así:
gpu_options = tf.GPUOptions (per_process_gpu_memory_fraction = 0.3)
sess = tf.Session (config = tf.ConfigProto (gpu_options = gpu_options))

las otras dos instancias de tensorflow funcionan bien, pero solo la última se ejecuta
error como este:

E tensorflow / stream_executor / cuda / cuda_dnn.cc: 371] no pudo crear cudnn
manejar: CUDNN_STATUS_INTERNAL_ERROR
E tensorflow / stream_executor / cuda / cuda_dnn.cc: 338] no pudo destruir
identificador cudnn: CUDNN_STATUS_BAD_PARAM
F tensorflow / core / kernels / conv_ops.cc: 672] Error de verificación:
stream-> parent () -> GetConvolveAlgorithms (conv_parameters.
ShouldIncludeWinogradNonfusedAlgo () y algoritmos)

¿Por qué? ¿La configuración de gpu es demasiado pequeña? Gpu_options = tf.GPUOptions (per_process_gpu_
fracción_de_memoria = 0.3)
No estoy seguro. quiero alguna sugerencia. Voy a tratar de.

-
Recibes esto porque te mencionaron.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/tensorflow/tensorflow/issues/6698#issuecomment-352670885 ,
o silenciar el hilo
https://github.com/notifications/unsubscribe-auth/AJq-HpINYs1Uae6ghIW3qKCD56SUDhFeks5tB3HZgaJpZM4Lc7S1
.

-
Mejor
Simón

SLFWalsh MD MRCP FFRRCSI
[email protected]

En mi caso, estaba ejecutando antorcha en segundo plano y tengo el mismo problema.
Creo que ... CUDNN_STATUS_INTERNAL_ERROR puede suceder cuando otro programa usa cudnn

En mi caso, puedo ejecutar el cudnn en el entorno ipython, sin embargo, recibí los mismos mensajes de error cuando intenté ejecutar el código en el cuaderno jupyter.

Hola, tengo el mismo problema y ninguna de las sugerencias hasta ahora me ha ayudado a resolverlo.
Estoy usando una computadora portátil Asus Zenbook Pro con Windows 10 con las siguientes especificaciones:

imagen

Mis especificaciones de GPU son las siguientes:

imagen

Estoy siguiendo este tutorial: https://www.tensorflow.org/get_started/mnist/pros, en el que debes implementar y entrenar 1) una regresión softmax y 2) una CNN multicapa con el conjunto de datos MNIST.

Estos son mis códigos: MNIST_Tutorial.zip . El zip tiene 2 archivos: MNIST_softmax_regression.py y MNIST_multilayer_CNN.py.

1) Cuando ejecuto MNIST_softmax_regression.py, funciona bien:
imagen
Como puede ver, la GPU se está utilizando y la precisión final es de aproximadamente el 92% como se esperaba según el tutorial.

2) Sin embargo, cuando ejecuto MNIST_multilayer_CNN.py, Python se bloquea:
imagen

Probé 2 soluciones alternativas basadas en sugerencias anteriores:

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

y

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

Ninguno de ellos funcionó, aunque el segundo produce el siguiente resultado:

imagen

como puede ver, tensorflow primero intenta asignar memoria varias veces (CUBLAS_STATUS_ALLOC_FAILED) hasta que aparentemente tiene éxito, pero luego aparece el error CUDNN_STATUS_NOT_INITIALIZED y todo falla nuevamente.

Por cierto, instalé tensorflow de acuerdo con el enfoque alternativo al final de estas instrucciones: http://www.python36.com/install-tensorflow-gpu-windows/
imagen

Usé este instalador de CUDA:
imagen
imagen

Y usé este archivo .whl para instalar tensorflow:
imagen

Aquí más información sobre python, pip y conda:
imagen

Cualquier ayuda será muy apreciada.
Gracias por adelantado.

Hola,
Estoy enfrentando el mismo problema en dos máquinas diferentes:

Configuración 1:
Windows 10 Pro de 64 bits
Información de la GPU
Cuda 8.0
cudnn 6.0
Tensorflow 1.4
Python 3.6.4

Configuración2:
Windows 10 Pro de 64 bits
Información de la GPU
CUDA 8.0
cudnn 6.0
Tensorflow 1.4
Python 3.6.2

¿Alguna actualización?

Tiene una configuración muy similar a la anterior, ejecutándose en:

ventanas 10
GPU
tensorflow 1.5
CUDA 9.0.176
cudnn 7
Python 3.6.4, anaconda

Probé los cambios de configuración y todavía obtengo el conjunto de errores "CUDNN_STATUS_NOT_INITIALIZED".

No estoy seguro de dónde reside el equivalente de la carpeta .nv en Windows, por lo que no pude ejecutar la solución @ SimonWalsh1000 .

@HeinzBenjamin , ¿algún éxito?

EDITAR: Todavía perplejo, ¿podría ser porque estoy en tensorflow 1.5 y CUDA 9?

Me encontré con el mismo problema.
Sin embargo, descubrí que después de instalar CUDA 9.0, mi controlador no será la última versión.
Entonces, intente actualizar su controlador Nvdia a la última versión y reinicie su PC. ¡Esto funciona para mi!

ayer mi código funcionaba bien, hubo una actualización de ubuntu esta mañana y ahora mi código produce esto. nada más ha cambiado.

2018-02-11 07: 54: 57.097712: E tensorflow / stream_executor / cuda / cuda_dnn.cc: 385] no se pudo crear el identificador cudnn: CUDNN_STATUS_INTERNAL_ERROR
2018-02-11 07: 54: 57.097756: E tensorflow / stream_executor / cuda / cuda_dnn.cc: 352] no pudo destruir el identificador cudnn: CUDNN_STATUS_BAD_PARAM
2018-02-11 07: 54: 57.097767: F tensorflow / core / kernels / conv_ops.cc: 667] Error de verificación: stream-> parent () -> GetConvolveAlgorithms (conv_parameters.ShouldIncludeWinogradNonfusedAlgo () y algoritmos)

He reiniciado el sistema una docena de veces.
después de algunos reinicios, el error cambió a

2018-02-11 07: 19: 33.487404: I tensorflow / stream_executor / cuda / cuda_dnn.cc: 393] versión del controlador posiblemente insuficiente: 384.111.0 2018-02-11 07: 19: 33.487423: E tensorflow / stream_executor / cuda / cuda_dnn.cc:352] no pudo destruir cudnn handle: CUDNN_STATUS_BAD_PARAM 2018-02-11 07: 19: 33.487439: F tensorflow / core / kernels / conv_ops.cc: 667] Error de verificación: stream-> parent () -> GetConvolveAlgorithms ( conv_parameters.ShouldIncludeWinogradNonfusedAlgo () y algoritmos)

pero después de actualizar a 390.25 ahora vuelve a producirse el primer error.

mi otro código de tensorflow funciona bien.

También intenté eliminar el directorio nv pero eso no tuvo ningún efecto

ubuntu 17.10, gtx 1060 de 6 gb

Recibí este error en Windows 10 con CUDA 9.0 y un GT 750M Lo resolví limitando el uso de GPU a 0.7 con: config.gpu_options.per_process_gpu_memory_fraction = 0.7

Como alguien más publicó, cualquier valor superior a 0,7 bloquea Python.

Después de recibir también la trinidad de errores:

CUDNN_STATUS_NOT_INITIALIZED
conv_parameters.ShouldIncludeWinogradNonfusedAlgo(), &algorithms)

Probé la solución de @ zzhang68 ... Controladores actualizados después de que 9.0 instaló controladores más antiguos.
_¡Y funcionó!_

Windows 10 | GTX 980 Ti
CUDA 9.0 (que venía con controladores obsoletos !!!!)
\ cudnn-9.0-windows10-x64-v7 \ cuda \ bin (cudann64_7.dll) en RUTA

pitón 3.6 miniconda
tensorflow-gpu 1.5.0

enfrentan el mismo problema. tf1.5 py2.7 titan x cuda8.
config.gpu_options.allow_growth = True
no trabajo

Recibí este error en Windows 10 con CUDA 9.0 y GTX 1060.
pitón 3.5
tensorflow-gpu 1.5.0
Encuentro una manera fácil de resolverlo: actualice mi controlador de pantalla NVIDIA a la versión más reciente, reinicie la PC
¡Entonces funcionó!

@ SimonWalsh1000 , realmente me funciona, ¡muchas gracias!

La solución de @strickon y @ggranum más una actualización del controlador resolvió esto por mí. Supongo que algunas personas tienen configuraciones de energía personalizadas que desinflan algunas funciones hasta que se necesitan.

la actualización de mi controlador de gpu resolvió este problema por mí. mi controlador de gpu fue diciembre de 2017 y el último fue el 26 de febrero de 2018.

debe tener el tensorflow correcto, la versión CUDA, la versión cuDNN y el controlador gpu para evitar este problema

mi especificación:
tensorflow 1.6
cuDNN v7.0.4 (13 de noviembre de 2017), para CUDA 9.0 (tuve que usar esta versión para que mi TF funcione)

Así es como lo arreglé. Tenía instalados CUDA 9.1 y CUDA 9.0. Como otros, tuve que actualizar los controladores de mi GPU nuevamente después de instalar CUDA (a través del programa Geforce Experience). El backend de Keras, TensorFlow, usa CUDA 9.0 a partir de la fecha de hoy, así que asegúrese de tenerlo instalado. Luego, descargue cuDNN 7.0.5 (no la última versión 7.1) de https://developer.nvidia.com/rdp/cudnn-download y luego extráigalo y copie las carpetas bin, include, etc. en su C: \ Program Carpeta Archivos \ NVIDIA GPU Computing Toolkit \ CUDA \ v9.0. Ahora debería funcionar.

Gracias por toda esta ayuda y después de intentar degradar mi cuCNN de cnDNN-9.1 a cnDNN-9.0 y funciona.
Mi entorno es Centos7 + CUDA 9.0 + Tensorflow 1.6

Mismo error en Python3.5, ubuntu 16.04, tf1.5
Actualizar el controlador de gpu a la versión 390.42 me resolvió este problema.

Hola tios,

Acabo de tener el mismo problema
"E tensorflow / stream_executor / cuda / cuda_dnn.cc: 385] no pudo crear el identificador cudnn: CUDNN_STATUS_INTERNAL_ERRORE tensorflow / stream_executor / cuda / cuda_dnn.cc: 352] no pudo destruir cudnn handle: CUDNN_STATUS_BAD_PARAMF tensorflow / core / kernels / conv_ops.cc: 605] Fallo en la comprobación: stream-> parent () -> GetConvolveAlgorithms (y algoritmos) "

y resuelto por:
1- Actualización del controlador de NVIDIA Geforce920M
2- Configurar correctamente la sesión tf de la siguiente manera:
config = tf.ConfigProto ()
config.gpu_options.allow_growth = Verdadero
sess = tf.Session (config = config)
3- Reinicio de la PC

Después de eso, recibí un mensaje de error más preciso:
"Se encontró cuDNN7.1, pero se esperaba cuDNN7.0. Actualizar"

Y resuelto por:
en lugar de actualizar el resto (tf, cuda, ..) para cumplir con cuDNN, prefiero degradar cuDNN7.0 para cumplir con el resto.
(rebajando cuDNN de 7.1 a 7.0.4) y funcionó bien.

También encontré este error cuando estaba ejecutando The Cnn_Mnist.py

INFORMACIÓN del entorno:

  • 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      |
+-----------------------------------------------------------------------------+

INFORMACIÓN DE ERROR:

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)

Sinceramente espero obtener la ayuda de todos: D

En mi caso (Windows 10), este problema se debió al uso de la versión incorrecta de cuDNN. Aunque seguí de cerca las instrucciones oficiales de TensorFlow, accidentalmente descargué la versión 7.0.5 para CUDA 9.1, mientras que TF llama explícitamente a CUDA 9.0.

Tan pronto como corrigí el error de cuDNN, mis convnets comenzaron a funcionar 💯 👍 🥇 :)

Mismo problema tf 1.2, cuda 8.0, cudnn 5.1
Controladores actualizados de Nvidia

Bueno, logré actualizar el controlador de nvidia a la última versión según cuda, y funciona. Entonces, puedes probar este método.

Bien bien. No puede funcionar bien. El problema vuelve a ocurrir

Usando: cudnn-9.0-windows10-x64-v7 y tensorflow-gpu == 1.7.0

tutoriales \ image \ imagenet> python classify_image.py
falla con error: no se pudo crear el identificador cudnn: CUDNN_STATUS_INTERNAL_ERROR

Agregar las tres líneas de código de ggranum anterior resuelve el problema

Para mí, el problema fue usar cudnn lib incorrecto
Usé cudnn para cuda 9.1 cuando tenía cuda 9.0. Así que reinstalé cudnn para cuda 9.0 y todo funcionó.

Tengo el mismo problema con Win10 / Anaconda3 / tf-1.3 / keras-2.1.3
agregue el siguiente código al principio del archivo .py, que resuelve mi problema.

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
Esto funciona para mí :)

Gracias @ zzhang68 . Tu solución funcionó para mí.

Agregar esto al comienzo del archivo funcionó para mí:

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

GTX 1070. Recibía este problema. Mi controlador se actualizó por última vez en 2017. Lo actualicé al controlador más reciente (mayo de 2018), reinicié mi computadora y dejó de tener el problema. Espero que esto ayude

también funciona para mí con la solución @ zzhang68 .
Ubuntu16.04, tensorflow1.7, nvidia1080, cuda9.0, cudnn7.05.
Después de actualizar el controlador a 390.59, el problema desapareció.

Otra opción para win10 usando tensorflow cpu ... intente

def run_inference_for_single_image (imagen, gráfico):
con graph.as_default ():
config = tf.ConfigProto (
device_count = {'GPU': 0}
)
con tf.Session (config = config) como sess:

@ lwd1132438569 ¿ Puedo preguntar a qué "última versión" se
Quiero intentarlo, pero me temo que tensorflow no admitirá la versión "más reciente" ahora ...
Gracias1

@vburca muchas gracias. No me di cuenta de que tener otro jupyter noteboook consumiría la memoria de la GPU. ¡¡¡Muchas gracias!!!

Me enfrenté al mismo problema. En mi caso, degradé la versión de tensorflow y funcionó para mi aplicación.

Encontré el mismo problema. En mi caso, esa razón fue la escasez de memoria del sistema. Cuando terminé de ejecutar otra aplicación, ese problema había desaparecido.

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 para CUDA9.0
TensorFlow 1.10.1
Ejecutando un tensorflow simple como hola mundo sin problema.
No hay lugar para saber por qué sucede esto .................

definitivamente problema de memoria relacionado con cuda, elimine todos los demás procesos relacionados con cuda y entrene / pruebe su modelo, eso debería resolver el problema

La solución

[Resuelto] En mi caso, había instalado CUDA v9.2 y el cuDNN correspondiente, pero no había instalado correctamente cuDNN específico para CUDA v9.0 que tensorflow requiere.

Asegúrese de descargar la versión correcta de cuDNN desde aquí: https://developer.nvidia.com/rdp/cudnn-archive

y NO el de aquí: https://developer.nvidia.com/cudnn

El truco dorado, reiniciar todo, funcionó para mí.

Reiniciar también hizo el truco para mí 👍
(Pero una explicación de por qué sucede esto sería realmente agradable)

cuDNN

Estaba enfrentando el mismo problema. Los modelos con capas de convolución no funcionarían.
Descargué cuDNN versión 7.0 para CUDA 9.0. Después de reemplazar el archivo cudnn64_7.dll, puedo usar convnets sin problemas.

Versión de la DLL que causa problemas => 6.14.11.9020
Versión de la DLL que resolvió el problema => 6.14.11.9000
Versión de la GPU de Tensorflow => 1.11.00
Versión CUDA => 9.0
Versión de Python => 3.5
SO => Windows 10
Otros pasos => Cree un archivo BAT para agregar a la variable PATH y luego inicie CMD.EXE con la opción / k
gracias a todos.

Pude hacer que un programa funcionara limitando el uso de gpu. En mi caso con un gtx 1060 de 3gb en ubuntu 16.04, si configuro la opción de gpu per_process_gpu_memory_fraction en .7, funciona. Algo más alto, obtengo estos errores

E tensorflow / stream_executor / cuda / cuda_dnn.cc: 397] no pudo crear el identificador cudnn: CUDNN_STATUS_INTERNAL_ERROR
E tensorflow / stream_executor / cuda / cuda_dnn.cc: 364] no pudo destruir cudnn handle: CUDNN_STATUS_BAD_PARAM
F tensorflow / core / kernels / conv_ops.cc: 605] Falló la verificación: stream-> parent () -> GetConvolveAlgorithms (y algoritmos)

Podría ser un caso de informe de errores incorrectos por tensorflow. Parece completamente ajeno. ¿Quizás sea una pista para resolver esto de una mejor manera?

Genial, cuando disminuyo la gpu_memory_fraction de 0.8 a 0.7, ¡comienza a funcionar!

Me enfrenté a este problema después de actualizar accidentalmente tensorflow-gpu de la versión 1.6.0 a 1.18.0. Esto provocó inestabilidad debido a las versiones tanto de CUDA como de cuDNN. La solución estaba volviendo a tensorflow-gpu 1.6.0.

Esta fue la solución a mis problemas:

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

Siempre que empiece a enfrentarse a este tipo de problemas, antes de actualizar sus dependencias de NVIDIA, SIEMPRE intente resolver el problema desinstalando las versiones de tensorflow e instalando primero una versión compatible con sus dependencias de CUDA.

Paso 1: Verifique las versiones de sus paquetes de tensorflow. Si tiene GPU, le recomiendo desinstalar la versión cpu de tensorflow para evitar conflictos.

pip list | grep tensorflow

Paso 2: desinstalar tensorflow-gpu.

pip uninstall tensorflow

Paso 3: Verifique sus versiones CUDA y cuDNN. Es posible que deba ajustar estas rutas.

- CUDA
cat /usr/local/cuda/version.txt
En caso de que esto falle, busque el archivo de texto de la versión cuda usando:
sudo find / -name version.txt

- cuDNN
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
En caso de que esto falle, busque el archivo de texto de la versión cuda usando:
sudo find / -name cudnn.h

Paso 4: Verifique si sus versiones de tensorflow-gpu, cuda y cudnn coinciden con esta tabla.
image

En mi caso, necesitaba tensorflow-gpu 1.6.0 para cumplir con los otros requisitos.

Así que instalé esta versión usando:
pip install tensorflow-gpu==1.6.0
estas son las especificaciones que funcionaron!

SO: Ubuntu 16.04
Versión CUDA: 9.0, V9.0.176
Versión cuDNN: 7.0
Versión de Tensorflow-gpu: 1.6.0
Versión de Python: 3.5.0

¡Buena suerte!

En mi caso, olvidé cerrar el cuaderno jupyter cuando comencé a ejecutar otra pieza de código en el código VS, Cerrar el cuaderno jupyter solucionó el problema.

Me enfrenté a este mismo problema.
En mi caso, estaba ejecutando el portátil Jupyter mientras entrenaba mi red.
Cerrar el cuaderno de Jupyter solucionó mi problema.

(Creo que podría tener que hacer algo con demandas demasiado altas de mi GPU)

¡Espero que esto haya ayudado!

hola chicos, me enfrenté a los mismos problemas. i usando win10 tensorflow-gpu1.8.0 cuda 9.0 NVIDA gtx1050Ti, cuando cambio la versión de cudann de 7.0 a 7.1, el problema se resolvió

Hoy me enfrenté al mismo problema (gtx1080, cuda 9.2, tfversion = 1.12.0). Entonces, en mi caso, estaba ejecutando el cuaderno Jupyter y luego intenté ejecutar mi otro script, ahí fue cuando se produjo el error. Lo resuelto es, como dijo @RoytenBerge , apagar el kernal de jupyter.

funcionó para mí al agregar estas líneas de código al comienzo del script @Codersadis

agregue el siguiente código al principio del archivo .py, que resuelve mi problema.

de __future__ import print_function, division
importar tensorflow como tf
desde keras.backend.tensorflow_backend import set_session
config = tf.ConfigProto ()
config.gpu_options.allow_growth = Verdadero
set_session (tf.Session (config = config))

@ drproy2k gracias, a mí también me funcionó. Estaba ejecutando el indicador anaconda mientras se estaba ejecutando Spyder. después de que cerré Spyder, ¡funcionó perfectamente!

Este error se debe a un problema con la memoria RAM. Sugiero que aumente a 32 GB o 64 GB de RAM DDR3 o DDR4.
También reduzca la cantidad / tamaño de los datos que se están inferenciando.

No es la GPU. Tengo 2 tarjetas X 1080Ti en SLI.

Seguí la guía de instalación de la versión para resolver esto-
https://www.tensorflow.org/install/source#tested_source_configurations. La configuración compatible
VF 1.12
TF-gpu 1.9
CUDA 8

mismo problema con GeForce GTX 970, CUDNN 7.4.1, CUDA 9.0.176, TF-gpu 1.12.0

Estaba enfrentando el mismo problema cuando usaba la versión de tensorflow compatible con la comunidad dentro de un entorno conda (es decir, usando> conda install tensorflow-gpu)

Resulta que esta versión no es realmente buena en todas las situaciones (aunque la he estado usando en otras máquinas). La mejor versión para usar es la versión instalable de pip https://www.tensorflow.org/install/pip dentro de un entorno conda. Cuando hice esto, todo funcionó.

No me di cuenta de que tenía la versión Cuda 10.0 de la biblioteca CUDNN instalada junto con la CUDA 9.0 que había instalado actualmente. Una vez que descargué y reemplacé el V10 CUDNN con el V9.0 CUDNN, ¡todo funcionó bien!
Este fue un paso por alto por no instalar las cosas correctamente, y mirando hacia atrás puedo ver por qué ... Si has llegado hasta aquí y estás cansado de experimentar, escribí una publicación de blog en https: //aaronjencks.blogspot .com / 2019/03 / the-ultimate-guide-to-installation.html que lo guiará a través de todo el proceso para hacer que tensorflow y todas sus dependencias funcionen de principio a fin

@kheffah tiene el mismo problema dentro de conda. Ya estoy usando pip para instalar TF y Keras.
GPU GT 840M, computación compatible 5.0, CUDA 9, cuDNN 7.4.2, TF 1.12.0. Windows 8 x64

el código de prueba funciona bien

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)

este es el error en spyder. ya prueba la memoria 0.7 y el truco de crecimiento. sin suerte

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"]()]]

Cambiar a tensorflow 1.7

El jueves 3 de enero de 2019 a las 19:29 maxi.wu < [email protected] escribió:

@kheffah https://github.com/kheffah tiene el mismo problema dentro de conda.
Ya estoy usando pip para instalar TF y Keras.
GPU GT 840M, computación compatible 5.0, CUDA 9, cuDNN 7.4.2, TF 1.12.0.
Windows 8 x64

el código de prueba funciona bien

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], forma = [3, 2], nombre = 'b')
c = tf.matmul (a, b)

este es el error en spyder. ya prueba la memoria 0.7 y el truco de crecimiento.
sin suerte

classifier.fit_generator (conjunto_entrenamiento,
pasos_por_epoch = 32,
épocas = 25,
detallado = 1,
validation_data = test_set,
pasos_de_validación = 6.25)
Época 1/25
Rastreo (llamadas recientes más última):

Expediente "", línea 11, en
pasos_de_validación = 6.25)

Archivo "c: \ Users \ maxi.wu \ AppData \ Local \ conda \ conda \ envs \ tfgpu \ lib \ site-packages \ keras \ legacy \ interfaces.py", línea 91, en el contenedor
return func ( args, * kwargs)

Archivo "c: \ Users \ maxi.wu \ AppData \ Local \ conda \ conda \ envs \ tfgpu \ lib \ site-packages \ keras \ engine \ training.py", línea 1418, en fit_generator
época_inicial = época_inicial)

Archivo "c: \ Users \ maxi.wu \ AppData \ Local \ conda \ conda \ envs \ tfgpu \ lib \ site-packages \ keras \ engine \ training_generator.py", línea 217, en fit_generator
class_weight = class_weight)

Archivo "c: \ Users \ maxi.wu \ AppData \ Local \ conda \ conda \ envs \ tfgpu \ lib \ site-packages \ keras \ engine \ training.py", línea 1217, en train_on_batch
salidas = self.train_function (ins)

Archivo "c: \ Users \ maxi.wu \ AppData \ Local \ conda \ conda \ envs \ tfgpu \ lib \ site-packages \ keras \ backend \ tensorflow_backend.py", línea 2715, en __call__
return self._call (entradas)

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

Archivo "c: \ Users \ maxi.wu \ AppData \ Local \ conda \ conda \ envs \ tfgpu \ lib \ site-packages \ tensorflow \ python \ client \ session.py", línea 1439, en __call__
run_metadata_ptr)

Archivo "c: \ Users \ maxi.wu \ AppData \ Local \ conda \ conda \ envs \ tfgpu \ lib \ site-packages \ tensorflow \ python \ framework \ errors_impl.py", línea 528, en __exit__
c_api.TF_GetCode (self.status.status))

UnknownError: no se pudo obtener el algoritmo de convolución. Esto probablemente se deba a que cuDNN no se pudo inicializar, así que intente ver si se imprimió un mensaje de registro de advertencia arriba.
[[{{node conv2d_1 / convolution}} = Conv2D [T = DT_FLOAT, _class = [" loc: @ training / Adam / gradients / conv2d_1 / convolution_grad / Conv2DBackpropFilter "], data_format = "NCHW", dilataciones = [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 " ] (entrenamiento / 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 / réplica : 0 / tarea: 0 / dispositivo : GPU: 0 ", send_device_incarnation = 1, tensor_name =" edge_609_loss / mul ", tensor_type = DT_FLOAT, _device =" / trabajo: localhost / réplica : 0 / tarea: 0 / dispositivo : CPU : 0 "] ()]]

-
Estás recibiendo esto porque hiciste un comentario.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/tensorflow/tensorflow/issues/6698#issuecomment-451079405 ,
o silenciar el hilo
https://github.com/notifications/unsubscribe-auth/ABE215xY0OhbFjA_GhVtEIDl_IB4qQGmks5u_b9NgaJpZM4Lc7S1
.

Tuve el mismo problema en el sistema win10. pero se encuentra que es un problema de memoria. elimine la otra aplicación en ejecución que consume enormes recursos de memoria y pruébelo.

Tuve un problema similar en Windows 10 NVIDIA GEFORCE GTX 1050 y tan pronto como cerré todas las demás tareas en ejecución y volví a intentarlo como lo sugirió

Definitivamente relacionado con la memoria. Debe actualizar su RAM hasta 64 GB.

El viernes 18 de enero de 2019 a las 5:30 p.m., Samuel Nde [email protected] escribió:

Tuve un problema similar en Windows 10 NVIDIA GEFORCE GTX 1050 y tan pronto
cuando cerré todas las demás tareas en ejecución y lo intenté como lo sugirió @ xhm1014
https://github.com/xhm1014 arriba, mi código acaba de comenzar a ejecutarse como
ese. Creo que esto debe ser un problema relacionado con la memoria.

-
Estás recibiendo esto porque hiciste un comentario.
Responda a este correo electrónico directamente, véalo en GitHub
https://github.com/tensorflow/tensorflow/issues/6698#issuecomment-455441208 ,
o silenciar el hilo
https://github.com/notifications/unsubscribe-auth/ABE217cdDKUuRtdD9jJ_eh2tJWrm2fjeks5vEWnwgaJpZM4Lc7S1
.

Tuve el error y lo 'solucioné' cerrando mis múltiples instancias de Jupyter y cerrando otras aplicaciones. Soy nuevo en el trabajo con tensorflow en general, por lo que es probable que esto solo solucione mi problema.

E tensorflow / stream_executor / cuda / cuda_dnn.cc: 353] No se pudo crear el identificador cudnn: CUDNN_STATUS_INTERNAL_ERROR

Tuve este problema con 10.1 Cuda + cuDNN7.5 y TF 1.11 compilado desde la fuente con cuda. El script que estaba tratando de usar necesitaba estas líneas insertadas en algún lugar:
config = tf.ConfigProto() config.gpu_options.allow_growth = True

y luego más tarde:
sess = tf.Session(graph=detection_graph,config=config)

Hecho esto, muchos "errores de GPU sin memoria", pero la detección se realiza muy rápido, como supongo, cuando usamos GPU. ¡Gracias por compartir!

Me enfrenté a los mismos problemas y el uso debajo de la línea lo solucionó. marque aquí obtener detalles.
exportar LD_LIBRARY_PATH = $ LD_LIBRARY_PATH: / usr / local / cuda / extras / CUPTI / lib64

@EncodeTS Acabo de agregar un ejemplo mínimo reproducible a mi primera publicación. ¿Podría comprobar si reproduce el problema en su máquina? En mi máquina, funciona una capa convolucional pero no dos capas convolucionales, lo que me llevó a pensar que el problema podría deberse a algunas limitaciones de recursos.

En realidad, estoy trabajando en Ubuntu 18.04, no en macOS, pero parece que tiene sentido que pueda deberse a algunas limitaciones de recursos. Yo enfrenté el mismo problema en GTX 1050 ti (4 GB) pero el problema desapareció cuando ejecuto la misma arquitectura en GTX 1080 ti (11 GB). Aunque todos los entornos no son iguales entre los dos sistemas, hice todo lo posible utilizando el contenedor de la ventana acoplable.

Este problema generalmente está relacionado con la versión de cuda y la memoria de la GPU, si es anterior, ¡la forma más fácil es cambiar tu versión de cuda por Anaconda! si más tarde, puede encontrar algunas formas de resolver en otras respuestas.
Este problema generalmente está relacionado con la memoria de video y la versión cuda. ​​Si el método anterior para cambiar la memoria de la GPU no es válido, considere cambiar la versión cuda. ​​La forma más fácil es no preocuparse por la versión cuda instalada en el sistema, directamente debajo del entorno del proyecto en Anaconda Simplemente modifique la versión cuda y el pro-test será válido.

Si sigue teniendo este problema, intente lo siguiente. funcionó para mi
tf.config.gpu.set_per_process_memory_growth(True); tf.config.gpu.set_per_process_memory_fraction(0.4);

tensorflow 2 alfa
cuda 10.0
GTX 1650

Tengo un problema similar: CUDNN_STATUS_ALLOC_FAILED.
Me rompí la cabeza durante 3-4 horas. Finalmente arreglado.
esto de hecho funciona, como muchos lo mencionaron anteriormente:
config = tf.ConfigProto ()
config.gpu_options.allow_growth = Verdadero
sesión = tf.Session (config = config)

Pero la clave es escribirlo inmediatamente debajo de "import tensorflow as tf", lo cual no estaba haciendo. Lo había escrito después de todas las importaciones.

Puede ser que la versión de tensorflow-gpu tenga problemas, debe verificar sus propias versiones, intente una y otra vez, desinstale e instale ... tensorflow-gpu busque el número de versión correspondiente y luego desinstale y vuelva a instalar

funcionó para mí al agregar estas líneas de código al comienzo del script @Codersadis

agregue el siguiente código al principio del archivo .py, que resuelve mi problema.

de importación futura función_impresión, división
importar tensorflow como tf
desde keras.backend.tensorflow_backend import set_session
config = tf.ConfigProto ()
config.gpu_options.allow_growth = Verdadero
set_session (tf.Session (config = config))

Recibo el mismo error con tensorflow-gpu == 1.8.0 , cudnn version = 7.0.5 y cuda 9.1.85
, ubuntu 16.04 incluso después de agregar la solución sugerida anteriormente.
A continuación se muestra el seguimiento de la pila:

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)

Por favor ayuda

Tengo un problema similar: CUDNN_STATUS_ALLOC_FAILED.
Me rompí la cabeza durante 3-4 horas. Finalmente arreglado.
esto de hecho funciona, como muchos lo mencionaron anteriormente:
config = tf.ConfigProto ()
config.gpu_options.allow_growth = Verdadero
sesión = tf.Session (config = config)

Pero la clave es escribirlo inmediatamente debajo de "import tensorflow as tf", lo cual no estaba haciendo. Lo había escrito después de todas las importaciones.

gran respuesta, funcionó para mí !!

funcionó para mí al agregar estas líneas de código al comienzo del script @Codersadis
agregue el siguiente código al principio del archivo .py, que resuelve mi problema.
de importación futura función_impresión, división
importar tensorflow como tf
desde keras.backend.tensorflow_backend import set_session
config = tf.ConfigProto ()
config.gpu_options.allow_growth = Verdadero
set_session (tf.Session (config = config))

Recibo el mismo error con tensorflow-gpu == 1.8.0 , cudnn version = 7.0.5 y cuda 9.1.85
, ubuntu 16.04 incluso después de agregar la solución sugerida anteriormente.
A continuación se muestra el seguimiento de la pila:

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)

Por favor ayuda

Cambiar el controlador de Nvidia a 396+ me resolvió el problema.

Tiene que ver con la fracción de memoria disponible para cargar recursos de GPU para crear un identificador cudnn, también conocido como per_process_gpu_memory_fraction .
Reducir esta fracción de memoria por sí mismo resolverá el error.

> 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])

Use la fracción más pequeña que pueda caber en su memoria. (En el código, uso 0.7, puede comenzar con 0.3 o incluso más pequeño, luego aumentar hasta obtener el mismo error, ese es su límite).
Páselo a su tf.Session() o tf.train.MonitoredTrainingSession() o sv.managed_session() del Supervisor como config.

Esto debería permitir que su GPU cree un identificador cudnn para su código de TensorFlow.

Recibí el siguiente error con tensorflow 2.0 en mi entorno conda.

`` `2019-12-03 23: 48: 29.888625: I tensorflow / stream_executor / platform / default / dso_loader.cc: 44] Se abrió con éxito la biblioteca dinámica cudart64_100.dll
2019-12-03 23: 49: 06.381259: I tensorflow / stream_executor / platform / default / dso_loader.cc: 44] Se abrió correctamente la biblioteca dinámica nvcuda.dll
2019-12-03 23: 49: 07.220066: I tensorflow / core / common_runtime / gpu / gpu_device.cc: 1618] Se encontró el dispositivo 0 con las propiedades:
nombre: GeForce GTX 1660 Ti mayor: 7 menor: 5 memoria Velocidad de reloj (GHz): 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] Las bibliotecas de GPU están vinculadas estáticamente, omita la verificación de dlopen.
2019-12-03 23: 49: 07.247476: I tensorflow / core / common_runtime / gpu / gpu_device.cc: 1746] Adición de dispositivos gpu visibles: 0
2019-12-03 23: 49: 07.256881: I tensorflow / core / platform / cpu_feature_guard.cc: 142] Su CPU admite instrucciones para las que este binario de TensorFlow no se compiló para usar: AVX2
2019-12-03 23: 49: 07.269536: I tensorflow / core / common_runtime / gpu / gpu_device.cc: 1618] Se encontró el dispositivo 0 con las propiedades:
nombre: GeForce GTX 1660 Ti mayor: 7 menor: 5 memoria Velocidad de reloj (GHz): 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] Las bibliotecas de GPU están vinculadas estáticamente, omita la verificación de dlopen.
2019-12-03 23: 49: 07.295302: I tensorflow / core / common_runtime / gpu / gpu_device.cc: 1746] Adición de dispositivos gpu visibles: 0
2019-12-03 23: 49: 08.589865: I tensorflow / core / common_runtime / gpu / gpu_device.cc: 1159] Interconexión de dispositivos StreamExecutor con matriz de borde de fuerza 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] Creé el dispositivo TensorFlow (/ job: localhost / replica: 0 / task: 0 / device: GPU: 0 con 4627 MB de memoria) -> GPU física (dispositivo: 0, nombre: GeForce GTX 1660 Ti, id de bus pci: 0000: 01: 00.0, capacidad de cálculo: 7.5)
2019-12-03 23: 49: 58.521484: I tensorflow / stream_executor / platform / default / dso_loader.cc: 44] Biblioteca dinámica abierta con éxito cublas64_100.dll
2019-12-03 23: 49: 59.604517: I tensorflow / stream_executor / platform / default / dso_loader.cc: 44] Se abrió con éxito la biblioteca dinámica cudnn64_7.dll
2019-12-03 23: 50: 04.209110: E tensorflow / stream_executor / cuda / cuda_dnn.cc: 329] No se pudo crear el identificador cudnn: CUDNN_STATUS_NOT_INITIALIZED
2019-12-03 23: 50: 04.216670: E tensorflow / stream_executor / cuda / cuda_dnn.cc: 333] Error al recuperar la versión del controlador: No implementado: el kernel informó que la versión del controlador no se implementó en Windows
2019-12-03 23: 50: 04.226172: E tensorflow / stream_executor / cuda / cuda_dnn.cc: 329] No se pudo crear el identificador cudnn: CUDNN_STATUS_NOT_INITIALIZED
2019-12-03 23: 50: 04.234741: E tensorflow / stream_executor / cuda / cuda_dnn.cc: 333] Error al recuperar la versión del controlador: No implementado: el kernel informó que la versión del controlador no se implementó en Windows
2019-12-03 23: 50: 04.244958: W tensorflow / core / common_runtime / base_collective_executor.cc: 216] BaseCollectiveExecutor :: StartAbort Desconocido: No se pudo obtener el algoritmo de convolución. Esto probablemente se deba a que cuDNN no se pudo inicializar, así que intente ver si se imprimió un mensaje de registro de advertencia arriba.
[[{{nodo secuencial / 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], verdadero)

My output is now

2019-12-04 00: 10: 07.708573: I tensorflow / stream_executor / platform / default / dso_loader.cc: 44] Biblioteca dinámica abierta con éxito cudart64_100.dll
2019-12-04 00: 10: 11.643304: I tensorflow / stream_executor / platform / default / dso_loader.cc: 44] Se abrió correctamente la biblioteca dinámica nvcuda.dll
2019-12-04 00: 10: 12.753615: I tensorflow / core / common_runtime / gpu / gpu_device.cc: 1618] Se encontró el dispositivo 0 con las propiedades:
nombre: GeForce GTX 1660 Ti mayor: 7 menor: 5 memoria Velocidad de reloj (GHz): 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] Las bibliotecas de GPU están vinculadas estáticamente, omita la verificación de dlopen.
2019-12-04 00: 10: 12.783900: I tensorflow / core / common_runtime / gpu / gpu_device.cc: 1746] Adición de dispositivos gpu visibles: 0
2019-12-04 00: 10: 54.941468: I tensorflow / core / platform / cpu_feature_guard.cc: 142] Su CPU admite instrucciones para las que este binario de TensorFlow no se compiló para usar: AVX2
2019-12-04 00: 10: 55.372516: I tensorflow / core / common_runtime / gpu / gpu_device.cc: 1618] Se encontró el dispositivo 0 con las propiedades:
nombre: GeForce GTX 1660 Ti mayor: 7 menor: 5 memoria Velocidad de reloj (GHz): 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] Las bibliotecas de GPU están vinculadas estáticamente, omita la verificación de dlopen.
2019-12-04 00: 10: 55.406053: I tensorflow / core / common_runtime / gpu / gpu_device.cc: 1746] Adición de dispositivos gpu visibles: 0
2019-12-04 00: 10: 56.741665: I tensorflow / core / common_runtime / gpu / gpu_device.cc: 1159] Interconexión de dispositivos StreamExecutor con matriz de borde de fuerza 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] Creé el dispositivo TensorFlow (/ job: localhost / replica: 0 / task: 0 / device: GPU: 0 con 4627 MB de memoria) -> GPU física (dispositivo: 0, nombre: GeForce GTX 1660 Ti, id de bus pci: 0000: 01: 00.0, capacidad de cálculo: 7.5)
2019-12-04 00: 11: 08.281356: I tensorflow / stream_executor / platform / default / dso_loader.cc: 44] Biblioteca dinámica abierta con éxito cublas64_100.dll
2019-12-04 00: 11: 08.934804: I tensorflow / stream_executor / platform / default / dso_loader.cc: 44] Se abrió correctamente la biblioteca dinámica cudnn64_7.dll
2019-12-04 00: 11: 11.870237: W tensorflow / stream_executor / cuda / redzone_allocator.cc: 312] Interno: Invocar ptxas no es compatible con Windows
Depender del controlador para realizar la compilación ptx. Este mensaje solo se registrará una vez.
''

Como todos sugirieron, se debe al flujo tensorial que usa todas las GPU / GPU. Mi CNN se entrena sin errores ahora.

Estaba enfrentando el mismo problema cuando usaba la versión de tensorflow compatible con la comunidad dentro de un entorno conda (es decir, usando> conda install tensorflow-gpu)

Resulta que esta versión no es realmente buena en todas las situaciones (aunque la he estado usando en otras máquinas). La mejor versión para usar es la versión instalable de pip https://www.tensorflow.org/install/pip dentro de un entorno conda. Cuando hice esto, todo funcionó.

Eso me solucionó, ¡gracias!

Esto también me resolvió el problema.

GeForce GTX 1050, CUDA 10.0

Nota: esto es lo único que puedo encontrar que funciona en TF 2.0 por ahora. ¡Gracias!

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

Esto también me resolvió el problema.

GeForce GTX 1050, CUDA 10.0

Nota: esto es lo único que puedo encontrar que funciona en TF 2.0 por ahora. ¡Gracias!

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

Esto no hizo ninguna diferencia para mí ... TF 2.0, RTX 2060, CUDA 10.1, CuDNN 7.6

Esto es con 16 GB de RAM, 6 GB de memoria de video y un modelo básico de juguete MNIST con una capa de conv. Sin problemas de memoria, solo un seguimiento de la pila.

Sin problemas de GPU con Pytorch, como de costumbre

En mi caso, tengo dos máquinas, ambas con RTX 2080Ti, TF 2.1, CUDA 10.1, CuDNN 7.6. Uno funciona, el otro plantea el mencionado error. Ambas máquinas tienen la misma cantidad de RAM, 16 GB. Sin embargo, hay diferencias de hardware, como la CPU. Pero el problema solo ocurre cuando se usa la GPU.

En mi caso, tengo dos máquinas, ambas con RTX 2080Ti, TF 2.1, CUDA 10.1, CuDNN 7.6. Uno funciona, el otro plantea el mencionado error. Ambas máquinas tienen la misma cantidad de RAM, 16 GB. Sin embargo, hay diferencias de hardware, como la CPU. Pero el problema solo ocurre cuando se usa la GPU.

Misma plataforma, mismo problema

Si está utilizando la última versión de tensorflow y keras. Prueba esto desde aquí , funcionó para mí:

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)

Esta funciona para mí.
dispositivos_físicos = tf.config.list_dispositivos_físicos ('GPU')
tf.config.experimental.set_memory_growth (dispositivos_físicos [0], verdadero)

Esta funciona para mí.
dispositivos_físicos = tf.config.list_dispositivos_físicos ('GPU')
tf.config.experimental.set_memory_growth (dispositivos_físicos [0], verdadero)

Esto funcionó para mí. Gracias

@ Samaritan1011001 su solución funciona para mí muchas gracias.

¿Fue útil esta página
0 / 5 - 0 calificaciones