Tensorflow: Absturz: cuDNN-Handle konnte nicht erstellt werden, wenn Convnets verwendet werden

Erstellt am 6. Jan. 2017  ·  145Kommentare  ·  Quelle: tensorflow/tensorflow

Tensorflow (GPU) wurde erfolgreich importiert, aber beim Ausführen einer Sitzung mit einem Convolutional Neural Network (CNN) stürzt Python mit der folgenden Meldung ab:

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)

Das Problem bleibt bei jeder Kombination aus CUDA-Toolkit 7.5/8.0 und Tensorflow bestehen, die von pip/source installiert wurden. Testsitzungen, die keine CNNs verwenden, werden erfolgreich ausgeführt.

Welche verwandten GitHub-Probleme oder StackOverflow-Threads haben Sie gefunden, indem Sie im Internet nach Ihrem Problem gesucht haben?

Das Problem ähnelt https://github.com/tensorflow/tensorflow/issues/6586 , wo ich zuerst kommentiert habe. Aber da ich das Problem auf einem Mac habe, wurde mir vorgeschlagen, ein separates Problem zu öffnen.

Umweltinfos

Betriebssystem: macOS Sierra 10.12.2
Xcode Version 8.2 (8C38) (Als ich später CUDA 7.5 ausprobierte, installierte ich die Command Line Tools Version 7.3.1, da CUDA 7.5 die neueren Compiler nicht unterstützte.)
Python 3.5.2 (Anakonda)

Installierte Version von CUDA: Sowohl 8.0 (zunächst) als auch 7.5 ausprobiert (hier gemeldet, nur Toolkit – der Treiber ist immer noch 8.0)
Installierte Version von cuDNN: 5.1 (unterschiedliche Installationen je nach CUDA-Versionen)
(bitte fügen Sie die Ausgabe von 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

Ich habe versucht, sowohl von pip als auch von der Quelle zu installieren. Ich habe zuerst aus dem binären Pip-Paket installiert:

  1. Ein Link zum installierten Pip-Paket:
    tensorflow-gpu
  2. Die Ausgabe von python -c "import tensorflow; print(tensorflow.__version__)" .
    0.12.head

Später habe ich aus dem Quellcode installiert (das Pip-Paket wurde deinstalliert):

  1. Der Commit-Hash ( git rev-parse HEAD )
    d67c09d98a576e1fbf2f3609ddb842e53890f31c
  2. Die Ausgabe von bazel version

    Build-Label: 0.4.3-homebrew
    Build-Ziel: bazel-out/local-opt/bin/src/main/java/com/google/devtools/build/lib/bazel/BazelServer_deploy.jar
    Bauzeit: Do 22. Dez 15:20:15 2016 (1482420015)
    Build-Zeitstempel: 1482420015
    Zeitstempel als int erstellen: 1482420015

Geben Sie wenn möglich ein minimal reproduzierbares Beispiel an

Ich habe ein minimales Beispiel gemacht, indem ich das Netzwerk vereinfacht und die Trainingsdaten auf nur zwanzig Bilder und zwei Klassen für die Klassifizierung reduziert habe. issue.zip enthält den Python-Code und die Daten. Ich habe zwei Faltungsschichten geschrieben, weil ich fand, dass das Netzwerk mit nur einer Faltungsschicht problemlos läuft.

Vollständiges Protokoll mit CUDA 7.5 und Tensorflow aus Quellen kompiliert

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)

Vollständiges Protokoll mit CUDA 8.0 und Tensorflow installiert von 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

Hilfreichster Kommentar

Hier sind ein bisschen mehr Informationen darüber, wie ich es vorübergehend gelöst habe. Ich glaube, dass diese Probleme alle mit der GPU-Speicherzuweisung zusammenhängen und nichts mit den gemeldeten Fehlern zu tun haben. Davor gab es andere Fehler, die auf ein Problem mit der Speicherzuordnung hinweisen, aber das Programm schritt weiter und gab schließlich die cudnn-Fehler, die jeder bekommt. Der Grund, warum ich glaube, dass es manchmal funktioniert, ist, dass der verfügbare Speicher schwankt, wenn Sie die GPU für andere Dinge als Tensorflow verwenden, z. B. für Ihre primäre Anzeige. Manchmal können Sie zuordnen, was Sie brauchen, und manchmal nicht.

Von der API
https://www.tensorflow.org/versions/r0.12/how_tos/using_gpu/
„Standardmäßig ordnet TensorFlow fast den gesamten GPU-Speicher aller für den Prozess sichtbaren GPUs (vorbehaltlich CUDA_VISIBLE_DEVICES) zu. Dies geschieht, um die relativ kostbaren GPU-Speicherressourcen auf den Geräten effizienter zu nutzen, indem die Speicherfragmentierung reduziert wird.“

Ich denke, diese Standardzuweisung ist in irgendeiner Weise unterbrochen, was dazu führt, dass dieses unregelmäßige Verhalten und bestimmte Situationen funktionieren und andere fehlschlagen.

Ich habe dieses Problem gelöst, indem ich das Standardverhalten von TF geändert habe, um eine minimale Speichermenge zuzuweisen und nach Bedarf zu wachsen, wie auf der Webseite beschrieben.
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
session = tf.Session(config=config, ...)

Ich habe auch den alternativen Weg ausprobiert und konnte es zum Laufen bringen und scheiterte daran, experimentell einen Prozentsatz auszuwählen, der funktionierte. In meinem Fall waren es ungefähr 0,7.

config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0,4
session = tf.Session(config=config, ...)

Noch immer kein Wort von irgendjemandem aus dem TF-Team, das dies bestätigt, aber es ist einen Versuch wert, zu sehen, ob andere ein ähnliches Verhalten bestätigen können.

Alle 145 Kommentare

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)

Ich habe genau das gleiche Problem wie Sie mit CUDA8 und TF r0.12.1 getroffen.

@EncodeTS Ich habe meinem ersten Beitrag gerade ein minimal reproduzierbares Beispiel hinzugefügt. Könnten Sie überprüfen, ob das Problem auf Ihrem Gerät reproduziert wird? Auf meinem Computer funktioniert eine Faltungsschicht, aber nicht zwei Faltungsschichten, was mich zu der Annahme veranlasste, dass das Problem durch einige Ressourcenbeschränkungen verursacht werden könnte.

Ich kann bestätigen, dass das @ymfa- Minimalbeispiel unter MacOS NVidia 750 fehlschlägt, aber das gleiche Beispiel funktioniert auch unter Linux/Titan X

Das Minimalbeispiel funktioniert auf meinem Ubuntu. Es sieht so aus, als ob das Problem, auf das ich gestoßen war, eine sehr geringe Auftrittswahrscheinlichkeit auf meinem Computer hat.

Ich stoße auf das gleiche Problem. Der Graph läuft gut, wenn er auf die CPU gezwungen wird, ist aber auf der GPU abgestürzt.

Umfeld

Betriebssystem: macOS 10.12.2
GPU: GeForce GT 750M
TF: 0.12.1 (Pip-Installation)
Python: 3.6.0
CUDA: 8.0
cuDN: 5.1

(Ausgabe von 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

Beispiel

Das von @ymfa bereitgestellte
scheitern(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

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

passieren

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!

Automatisches Schließen aufgrund fehlender Aktivitäten in letzter Zeit. Bitte aktualisieren Sie das Problem, wenn neue Informationen verfügbar sind, und wir werden das Problem erneut öffnen. Vielen Dank!

Nicht so schnell, ich sehe diesen Absturz auch. Macbook Pro, Geforce 650. TF v1. Läuft über Jupyter-Kernel, die ich häufig neu starten muss. Vielleicht ist diese Grafikkarte einfach zu schwach? So wie der Op dieselbe Karte verwendet: wahrscheinlich.

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) 

Ich habe das gleiche Problem mit GTX 960m, cudnn5.1.5 und cuda-8.0.44.

Habe das gleiche Problem mit centOS, Titan X

Habe das gleiche Problem mit Ubuntu (14.04) und GRID K520 (aws g2.2)

Habe das gleiche Problem Windows 10 cudnn 5.1 cuda 8 gtx 1060. Das Programm funktioniert mit der CPU-Version von Tensor Flow, erhält aber die gleichen Fehler mit der GPU-Version.

Ich hatte das gleiche Problem mit gtx1060, win8.1, cuda8.0.60, cudnn5.0. Upgrade auf den neuesten stabilen tensorflow-gpu nightly build (derzeit http://ci.tensorflow.org/job/nightly-win/133/) und cudnn5.1. Problem gelöst.

Gleiches Problem hier.

Ich hatte dieses Problem mit den unten aufgeführten Softwareversionen, außer dass TF Version 1.0.0 war. Ich habe dann auf TF 1.0.1 aktualisiert. Ich habe das gleiche Programm einmal ausgeführt und es hat funktioniert . Ich habe es dann erneut ausgeführt und es hat nicht funktioniert - es hat den gleichen Fehler wie zuvor erzeugt.

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

habe das gleiche Problem mit gtx650, Ubuntu 16.04, CUDA Version 8.0.61, TF Version 1.0.0
es funktionierte gerade, gab aber einige Warnungen zu niedrigem Speicher aus. Allerdings lief es
Jetzt läuft es überhaupt nicht, was mir den gleichen Check fehlgeschlagen gibt: stream->parent()->GetConvolveAlgorithms(&algorithms) error

Habe das gleiche Problem mit gtx 1080 ti, Windows 10, CUDA Version 8.0.61, TF Version 1.0.1, 5.1 Cudann, cuda 8.0.61

Ich konnte ein Programm zum Laufen bringen, indem ich die GPU-Auslastung einschränkte. In meinem Fall mit einem 3 GB GTX 1060 unter Ubuntu 16.04 funktioniert es, wenn ich die GPU-Option per_process_gpu_memory_fraction auf .7 setze. Alles was höher ist, bekomme ich diese Fehler

E tensorflow/stream_executor/cuda/cuda_dnn.cc:397] konnte cudnn-Handle nicht erstellen: CUDNN_STATUS_INTERNAL_ERROR
E tensorflow/stream_executor/cuda/cuda_dnn.cc:364] konnte cudnn-Handle nicht zerstören: CUDNN_STATUS_BAD_PARAM
F tensorflow/core/kernels/conv_ops.cc:605] Prüfung fehlgeschlagen: stream->parent()->GetConvolveAlgorithms(&algorithms)

Es könnte sich um eine schlechte Fehlerberichterstattung von tensorflow handeln. Scheint völlig unabhängig zu sein. Vielleicht ist es ein Hinweis, das Problem besser zu lösen?

@zheng-xq gibt es ein offensichtliches Setup-Problem?

Gleiches Problem auch. Ich verwende 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] konnte cudnn-Handle nicht erstellen: CUDNN_STATUS_NOT_INITIALIZED
E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_dnn.cc:366] Fehler beim Abrufen der Treiberversion: Nicht implementiert: Kernel gemeldete Treiberversion nicht unter Windows implementiert
E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_dnn.cc:326] konnte cudnn-Handle nicht zerstören: CUDNN_STATUS_BAD_PARAM
F c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\kernels\conv_ops.cc:659] Prüfung fehlgeschlagen: stream->parent()->GetConvolveAlgorithms(&algorithms)

Wenn es irgendjemandem hilft, scheint es manchmal noch Zombie-Prozesse zu geben, die verhindern, dass tf wieder richtig startet und mir diesen Fehler gab. sie zu töten, um das Problem zu umgehen.

Hier sind ein bisschen mehr Informationen darüber, wie ich es vorübergehend gelöst habe. Ich glaube, dass diese Probleme alle mit der GPU-Speicherzuweisung zusammenhängen und nichts mit den gemeldeten Fehlern zu tun haben. Davor gab es andere Fehler, die auf ein Problem mit der Speicherzuordnung hinweisen, aber das Programm schritt weiter und gab schließlich die cudnn-Fehler, die jeder bekommt. Der Grund, warum ich glaube, dass es manchmal funktioniert, ist, dass der verfügbare Speicher schwankt, wenn Sie die GPU für andere Dinge als Tensorflow verwenden, z. B. für Ihre primäre Anzeige. Manchmal können Sie zuordnen, was Sie brauchen, und manchmal nicht.

Von der API
https://www.tensorflow.org/versions/r0.12/how_tos/using_gpu/
„Standardmäßig ordnet TensorFlow fast den gesamten GPU-Speicher aller für den Prozess sichtbaren GPUs (vorbehaltlich CUDA_VISIBLE_DEVICES) zu. Dies geschieht, um die relativ kostbaren GPU-Speicherressourcen auf den Geräten effizienter zu nutzen, indem die Speicherfragmentierung reduziert wird.“

Ich denke, diese Standardzuweisung ist in irgendeiner Weise unterbrochen, was dazu führt, dass dieses unregelmäßige Verhalten und bestimmte Situationen funktionieren und andere fehlschlagen.

Ich habe dieses Problem gelöst, indem ich das Standardverhalten von TF geändert habe, um eine minimale Speichermenge zuzuweisen und nach Bedarf zu wachsen, wie auf der Webseite beschrieben.
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
session = tf.Session(config=config, ...)

Ich habe auch den alternativen Weg ausprobiert und konnte es zum Laufen bringen und scheiterte daran, experimentell einen Prozentsatz auszuwählen, der funktionierte. In meinem Fall waren es ungefähr 0,7.

config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0,4
session = tf.Session(config=config, ...)

Noch immer kein Wort von irgendjemandem aus dem TF-Team, das dies bestätigt, aber es ist einen Versuch wert, zu sehen, ob andere ein ähnliches Verhalten bestätigen können.

Ich erhalte auch die Fehlermeldung CUDNN_STATUS_NOT_INITIALIZED . Hier ist das vollständige Fehlerprotokoll:

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)

Ich verwende Windows 10, CUDA 8.0, cuDNN 5.1 . Kann man etwas tun, um diese zu vermeiden? Ich konnte früher einige andere Tensorflow-Tests ausführen und es hat gut funktioniert (einschließlich conv op), aber jetzt funktioniert es bei diesem neuen Test nicht ...

@serans1 Auf welche Zombie-Prozesse beziehen Sie sich?

Bitte lassen Sie es mich wissen, wenn es dafür einen Workaround gibt. Dankeschön!

BEARBEITEN Dies könnte ein Anfängerfehler gewesen sein, aber ich werde es hier nur erwähnen, falls jemand anderes das gleiche Problem hat:
Mein Problem war, dass ich bereits eine Instanz eines Jupyter-Python-Notebooks ausgeführt hatte (dessen Zellen alle bereits ausgeführt wurden und daher in den Speicher geladen wurden) und auch ein anderer Prozess, der GPU-Speicher beanspruchte (minimiertes Videospiel). Als ich die Speicherauslastung meiner GPU überprüfte, lag sie daher bereits bei etwa 4+GB (50+%). Ich habe das Jupyter Notebook und die andere Anwendung geschlossen und meinen Tensorflow-Test erneut ausgeführt. Jetzt lief alles reibungslos :) Außerdem habe ich beim Laufen bemerkt, dass es in der Spitze bis zu 90% meines GPU-Speichers verbraucht, und daher macht es Sinn, warum es CUDNN nicht initialisieren konnte, wenn es in meiner Ausgangssituation weniger als 50% zur Verfügung hatte .

Sorry nochmal für meinen Fehler! Ich bin gerade erst am Anfang damit herumzuspielen :)

Das gleiche Problem, gibt es eine Lösung dafür?

I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:885] Gerät 0 mit Eigenschaften gefunden:
Name: GeForce GTX 960M
Major: 5 Minor: 0 MemoryClockRate (GHz) 1.176
pciBusID 0000:01:00.0
Gesamtspeicher: 4.00GiB
Freier Speicher: 3.35GiB
I 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] TensorFlow-Gerät erstellen (/gpu:0) -> (Gerät: 0, Name: GeForce GTX 960M, PCI-Bus-ID: 0000:01:00.0)
E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:586] NUMA-Knoten von /job:localhost/replica:0 konnte nicht identifiziert werden /task:0/gpu:0, Standardwert 0. Ihr Kernel wurde möglicherweise nicht mit NUMA-Unterstützung erstellt.
E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_dnn.cc:385] konnte cudnn-Handle nicht erstellen: CUDNN_STATUS_NOT_INITIALIZED
E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_dnn.cc:392] Fehler beim Abrufen der Treiberversion: Berechtigung verweigert: Treiberversionspfad konnte nicht zum Lesen geöffnet werden : /proc/driver/nvidia/version
E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_dnn.cc:352] konnte cudnn-Handle nicht zerstören: CUDNN_STATUS_BAD_PARAM
F c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\kernels\conv_ops.cc:532] Prüfung fehlgeschlagen: stream->parent()->GetConvolveAlgorithms(&algorithms)

Ich habe genau das gleiche Problem.
Aber ich kann meine Codes mit Root-Zugriff (mit sudo) ausführen.
Aktuell arbeite ich an Ubuntu 16.04 mit GTX 960.
Meine CUDA-Version ist 8.0 und ich verwende tensorflow 1.01

Windows 10 / Tensorflow 1.01
Ich habe es perfekt benutzt, aber jetzt passiert mir aus Versehen der gleiche Fehler

Name: GeForce GTX 1070
Major: 6 Minor: 1 SpeicherClockRate (GHz) 1.7715
pciBusID 0000:03:00.0
Gesamtspeicher: 8,00 GiB
Freier Speicher: 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: Ja
2017-05-08 21:12:16.106710: I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:977] TensorFlow-Gerät erstellen (/gpu:0) -> (Gerät: 0, Name: GeForce GTX 1070, PCI-Bus-ID: 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] konnte Cudnn-Handle nicht erstellen : 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] Fehler beim Abrufen der Treiberversion: Nicht implementiert: Kernel gemeldete Treiberversion nicht unter Windows implementiert
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] konnte Cudnn-Handle nicht zerstören : 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] Prüfung fehlgeschlagen: stream- >parent()->GetConvolveAlgorithms(&algorithms)

Die Methode von @strickon hat bei mir funktioniert. Anscheinend versucht Tensorflow, viel zu viele Ressourcen auf einmal zu beanspruchen, und kann dies nicht, was den Vorgang zum Absturz bringt. Ich habe konkret verwendet:

config.gpu_options.allow_growth = True

Das Bestätigen des Vorschlags von

Betreibe https://github.com/awjuliani/DeepRL-Agents/blob/master/Double-Dueling-DQN.ipynb und erhalte die in diesem Thread erwähnten Fehler beim ersten Aufruf von sess.run innerhalb des Update-Blocks (The Zeile: Q1 = sess.run(mainQN.predict,feed_dict={mainQN.scalarInput:np.vstack(trainBatch[:,3])}) .

Durch das Hinzufügen des allow_growth-Flags (wie unten beschrieben) habe ich diese Beule überwunden - der Code läuft derzeit im Hintergrund, wir werden sehen, wie weit er geht.

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

Stapel:

  • MacBook Pro mit Sierra 10.12.4 und NVIDIA GeForce GT 750M 2048 MB. Normalerweise haben Sie nur 1,7 GB frei.
  • TensorFlow 1.1 Verwenden von Anaconda-Installationsanweisungen.
  • Python 3.6, nicht virtuell (Anaconda)
  • CUDA 8 / cuDNN 5

Ich würde gerne mehr Statistiken auf Anfrage veröffentlichen.

Ich habe mit zwei Terminals gleichzeitig gearbeitet und hatte das gleiche Problem. Es wurde durch Schließen eines Terminals gelöst.

Automatisches Schließen aufgrund fehlender Aktivitäten in letzter Zeit. Bitte aktualisieren Sie das Problem, wenn neue Informationen verfügbar sind, und wir werden das Problem erneut öffnen. Vielen Dank!

Nachdem ich die von @strickon vorgeschlagenen Änderungen Infoprotokollen :

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)

Unsicher, ob Zusammenhang.

Gleicher Fehler hier.

Windows 10 x86_64, GeForce GTX 970, Treiber 376.53, Cuda 8.0, cuDNN 5.1., tensorflow-gpu 1.2.0 von pip, Python 3.6

Ich versuche, das Standardbeispiel aus dem Tutorial-Bereich der Website auszuführen:

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

python classify_image.py

Ich habe den gleichen Fehler:

`
```
(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] Die TensorFlow-Bibliothek wurde nicht kompiliert, um SSE-Anweisungen zu verwenden, aber diese sind auf Ihrem Computer verfügbar und können die CPU-Berechnungen beschleunigen.
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] Die TensorFlow-Bibliothek wurde nicht für die Verwendung von SSE2-Anweisungen kompiliert, aber diese sind auf Ihrem Computer verfügbar und können die CPU-Berechnungen beschleunigen.
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] Die TensorFlow-Bibliothek wurde nicht für die Verwendung von SSE3-Anweisungen kompiliert, aber diese sind auf Ihrem Computer verfügbar und können die CPU-Berechnungen beschleunigen.
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] Die TensorFlow-Bibliothek wurde nicht für die Verwendung von SSE4.1-Anweisungen kompiliert, aber diese sind auf Ihrem Computer verfügbar und können die CPU-Berechnungen beschleunigen.
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] Die TensorFlow-Bibliothek wurde nicht für die Verwendung von SSE4.2-Anweisungen kompiliert, aber diese sind auf Ihrem Computer verfügbar und können die CPU-Berechnungen beschleunigen.
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] Die TensorFlow-Bibliothek wurde nicht für die Verwendung von AVX-Anweisungen kompiliert, diese sind jedoch auf Ihrem Computer verfügbar und können die CPU-Berechnungen beschleunigen.
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] Die TensorFlow-Bibliothek wurde nicht für die Verwendung von AVX2-Anweisungen kompiliert, aber diese sind auf Ihrem Computer verfügbar und können die CPU-Berechnungen beschleunigen.
25.06.2017 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] Die TensorFlow-Bibliothek wurde nicht kompiliert, um FMA-Anweisungen zu verwenden, aber diese sind auf Ihrem Computer verfügbar und können die CPU-Berechnungen beschleunigen.
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] Gefunden Gerät 0 mit Eigenschaften:
Name: GeForce GTX 970
Major: 5 Minor: 2 SpeicherClockRate (GHz) 1.253
pciBusID 0000:01:00.0
Gesamtspeicher: 4.00GiB
Freier Speicher: 3.31GiB
25.06.2017 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 : Ja
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] Erstellen TensorFlow-Gerät (/gpu:0) -> (Gerät: 0, Name: GeForce GTX 970, PCI-Bus-ID: 0000:01:00.0)
2017-06-25 18:36:34.854555: W c:\tf_jenkins\home\workspace\release-win\m\windows-gpu\py\36\tensorflow\core\framework\op_def_util.cc:332] Op BatchNormWithGlobalNormalization is veraltet. Es wird in GraphDef Version 9 nicht mehr funktionieren. Verwenden Sie 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] konnte nicht erstellt werden cudnn-Handle: 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] Fehler beim Abrufen des Treibers Version: Nicht implementiert: Kernel gemeldete Treiberversion nicht unter Windows implementiert
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] konnte nicht zerstört werden cudnn-Handle: 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] Prüfung fehlgeschlagen: stream->parent()->GetConvolveAlgorithms(&algorithms)

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

````

In meinem Fall geschah dies, weil andere Tensorflow-Instanzen die GPU hielten. (Andere Skripte werden ausgeführt.)

Könnte ich eine bessere Fehlermeldung vorschlagen? Sagen Sie: "Fehler: andere tensorflow-Instanzen werden ausgeführt, während nur eine einzelne unterstützt wird."

Ich habe das gleiche Problem. Mit 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   

Hat es (zumindest für mich) gelöst. Die Fehlermeldung führt Sie nicht zum richtigen Problem. Ich hatte diesen Fehler aus 2 verschiedenen Quellen:

Zuerst (wie @lockywolf sagte):
Ich verwende Jupyter Notebook und manchmal gibt der TF-Kernel den GPU-Speicher nicht frei und Sie müssen den Jupyter neu starten, damit er wieder funktioniert . Dies geschieht im Allgemeinen nach Laufzeitfehlern oder unsachgemäßem Neustart des Kernels ...

Sekunde:
Manchmal wird man gierig mit dem GPU-Speicher und versucht Dinge wie diese:

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

Dies war fatal für meine Konfiguration und begann, diesen Fehler zu erhalten. Die Lösung bestand darin , die interaktive Sitzung wie folgt zu starten :
sess = tf.InteractiveSession()

System:

Ubuntu 14.04
GeForce GTX 780
CUDA-Treiberversion = 8.0
CUDNN-Version = 5.1
TensorFlow-Version = 1.2.1

Ich habe jetzt das gleiche Problem beim Ausführen meiner eigenen Skripte.
Ich denke, es ist der gleiche Grund wie @lockywolf beschrieben:

In meinem Fall geschah dies, weil andere Tensorflow-Instanzen die GPU hielten. (Andere Skripte werden ausgeführt.)

Ich hatte diesen Fehler ziemlich oft, aber unregelmäßig, dann bin ich dem Beispiel von

Danke schön!

Bearbeiten:
Neben der Lösung von @RawthiL folgte ich der Keras TF-Einführung, in der es heißt:

Wir sollten damit beginnen, eine TensorFlow-Sitzung zu erstellen und sie bei Keras zu registrieren. Dies bedeutet, dass Keras die von uns registrierte Sitzung verwendet, um alle intern erstellten Variablen zu initialisieren.

Tensorflow als tf importieren
sess = tf.Session()

aus keras import backend als K
K.set_session(sess)

Gleiches Problem. Ich habe den ganzen Tag bergauf gekämpft, um das zum Laufen zu bringen.

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

Ich habe festgestellt, dass das Zurücksetzen des Jupyter-Kernels in einigen Fällen nicht funktioniert. Tatsächlich ist es mir bei der Verwendung von Jupyterhub passiert.
Ich habe den Kernel neu gestartet, meine Virtualenv deaktiviert und der GPU-Speicher wurde immer noch von einem Prozess gehalten. Der Befehl nvidia-smi sagte, dass es keinen Prozess gab, der die GPU verwendet, und als ich versuchte, ihn mit sudo nvidia-smi --gpu-reset -i 0 (für den 0-GPU-Kern) zurückzusetzen, sagte er Folgendes:

Diese GPU kann nicht zurückgesetzt werden, da sie von einem anderen Prozess verwendet wird (zB CUDA-Anwendung, Grafikanwendung wie X-Server, Überwachungsanwendung wie andere Instanzen von nvidia-smi). Beenden Sie zuerst alle Prozesse, die diese GPU verwenden, und alle im System ausgeführten Rechenanwendungen (auch wenn sie auf anderen GPUs ausgeführt werden) und versuchen Sie dann erneut, die GPU zurückzusetzen.
vorzeitige Beendigung aufgrund früherer Fehler.

Es gab also einen Prozess, der die GPU hielt, und ich suchte mit sudo fuser -v /dev/nvidia* nach ihnen, der besagte, dass tatsächlich etwas die GPU hielt ... Python selbst ... Trick.
Ich bin vielleicht nicht der beste Weg, um dieses Problem zu lösen, aber es ist besser, als den Computer zurückzusetzen, wenn alle anderen Optionen fehlschlagen.

Habe das gleiche Problem. GPU ist GTX 1070 und CUDA 8.0 und CUDNN 5.1 für CUDA 8.0.

Das Problem hängt nicht vom Benutzercode ab, es hängt vom Hardware- oder Nvidia- oder Google-Softwarestatus ab. Dieser Fehler kann jederzeit steigen und ein Neustart kann ihn mit demselben Benutzercode beheben.

Gleiches Problem mit Windows 10, GTX770, CUDA 8.0, CUDNN 5.1, TF-GPU 1.1.0, nicht sicher, wo Sie die Gerätetreiberversion erhalten, aber der Windows-Geräte-Manager meldet 21.21.13.7651 für den Anzeigetreiber.

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)

Gleiches Problem mit Windows 10, GTX770, CUDA 8.0, CUDNN 5.1, TF-GPU 1.1.0, nicht sicher, wo Sie die Gerätetreiberversion erhalten, aber der Windows-Geräte-Manager meldet 21.21.13.7651 für den Anzeigetreiber.

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)

@ggranums Fix hat bei mir funktioniert:

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

In meinem Fall wurde das gleiche Problem durch die Aktualisierung des NVIDIA-GPU-Treibers behoben.

Ist dieses Problem vollständig gelöst. Ich verwende TF 1.3.0 unter Ubuntu 16.04 mit CUDA 8.0 und cuDNN 5.1. Ich habe Anaconda verwendet, um meine Pakete zu installieren. Zufällig vor 4 Tagen habe auch ich diesen Fehler erlebt

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)

Ich habe 4 1080ti-GPUs. Während der Ausführung meines Modells überwachte ich nvidia-smi und bekam

-------------------------------------------------- ---------------------------+
| Prozesse: GPU-Speicher |
| GPU PID-Typ Prozessname Verwendung |
|================================================ ============================|
| 0 1422 G /usr/lib/xorg/Xorg 279MiB |
| 0 3530 G compiz 195MiB |
| 0 11249 C /home/simon/anaconda3/bin/python 10157MiB |
| 1 11249 C /home/simon/anaconda3/bin/python 10611MiB |
| 2 11249 C /home/simon/anaconda3/bin/python 10611MiB |
| 3 11249 C /home/simon/anaconda3/bin/python 10611MiB |
+---------------------------------------------------------------- ----------------------------------------+

Aus irgendeinem Grund beansprucht Python also viel Speicher. Wenn ich das töte, tötet es natürlich mein Jupyter-Notizbuch. Ich habe keine Zombie-Prozesse laufen. Ich habe versucht.

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

was die GPU-Auslastung reduziert, aber ich erhalte immer noch den gleichen cuDDN-Handle-Fehler. Ich habe TF neu installiert. CUDA, cuDNN, Anaconda ohne Auswirkungen auf das Problem.

Warum tritt dieser Fehler zufällig auf und wie kann er behoben werden.

TensorFlow 1.3 basiert auf cuDNN 6.
Bitte aktualisieren Sie Ihre cuDNN-Installation.

Danke, Gunan - das macht leider keinen Unterschied. Selbst mit cuDNN 6 erhalte ich immer noch, dass cuDNN keinen Handle-Fehler erstellen kann. Auch das direkte Festlegen der GPUptions verhindert den Fehler nicht, reduziert jedoch die Menge des verwendeten GPU-Speichers. Der GPU-Speicher wird von Python belegt, wenn ich diese herunterfahre, schließt sie mein Jupyter-Notebook. Ich hänge jetzt seit fast 4 Tagen daran fest und scheine alle Vorschläge, die ich online gesehen habe, ausgeschöpft zu haben. Könnte das ein Problem mit TF 1.3 sein?

Nur für diejenigen, die davon verrückt werden:

Ich habe gelegentlich auch einen CUBLAS-Fehler erhalten. Also habe ich das gemacht:

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

und stellte fest, dass ich CUBLAS nicht initialisieren konnte

Als nächstes habe ich dies getan (basierend auf Ratschlägen)

sudo rm -f ~/.nv

Und es hat funktioniert. Cheers ..... das sind 4 verschwendete Tage. Hoffe das rettet jemand anderen

@SimonWalsh1000 Das hat funktioniert !! Danke

Überprüfen Sie Ihre .theanorc in Ihrem Home-Pfad (wenn Ubuntu) und setzen Sie das cnmem kleiner .... vielleicht cnmem = 0.8, und es hat jetzt für mich funktioniert

Ich habe es unter Windows 10 mit GTX 1070 perfekt funktioniert.
Ich habe cudnn 7.0.2 verwendet
Ein Downgrade auf vs 6.0 hat meine Probleme gelöst:

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

Habe den ganzen Installationsprozess hier gepostet:
http://klaatuveratanecto.com/installing-tensorflow-gpu-windows-10-running-image_retraining/

Hallo, ich habe die gleiche Frage. Ich fand jedoch den Grund dafür, dass ich Tensorflow zweimal gleichzeitig verwendet habe.

Ich habe zum Beispiel normalerweise das Jupyter-Notebook für das einfache Skript und den PyCharm für das Projekt verwendet. Wenn ich das Jupyter-Notebook nicht heruntergefahren hätte, könnte ich diesen Fehler im Pycharm treffen.

Wünschte, das könnte helfen.


Windows10 64,
NVIDIA TitanX ,
Treiber 385.41,
Cuda 8.0.60
Cudnn 6.0
Python 3.5.2
Tensorflow 1.3

Ich stimme @strickon zu : Es scheint ein Problem mit der Speicherzuweisung zu sein.
Ich hatte ein Notebook mit laufendem Tensorflow-Programm und habe versucht, Python + Tensorflow in einem anderen Windows-Terminal auszuführen, und habe den Fehler erhalten. Dann habe ich mein Notebook neu gestartet (GPU-Speicher freigeben) und versucht, das Python erneut auf dem Windows-Terminal auszuführen, und es hat funktioniert! Ich denke, dass tensorflow eine bessere Fehlermeldung liefern sollte, um den Benutzer mit einer detaillierteren Erklärung zu beraten.

Ich bin auf Windows 10, cuda 8 und cudnn 6 mit:

Name: Quadro K620
Major: 5 Minor: 0 MemoryClockRate (GHz) 1.124
pciBusID 0000:01:00.0
Gesamtspeicher: 2,00 GiB
Freier Speicher: 1,66GiB

So ziemlich die gleichen Schritte haben auch bei mir funktioniert, ich habe wenig Verständnis dafür, wie das funktioniert hat. Ich schließe einfach alle Fenster, geschlossenes Python-Terminal, das auf pycharm geöffnet wurde - einschließlich der Fenster, die durch die frühere Ausführung desselben Programms geöffnet wurden, um den Fortschritt im Training zu zeichnen und erneut zu öffnen und auszuführen - es funktioniert ohne Fehler. Die früher gemeldeten Fehler scheinen keinen direkten Hinweis zu geben ---

Hallo,
Ich hatte das gleiche Problem, das Ausführen von Python mit Sudo löste mein Problem.

@SimonWalsh1000 Du bist mein Held !! Bei mir funktioniert es auch!

@hesamaraghi Laufen mit sudo hat uns auch geholfen. Wir konnten als Nicht-Root-Benutzer laufen, indem wir unseren Nicht-Root-Benutzer zur nvidia-persistenced Gruppe hinzugefügt haben. Siehe meinen ursprünglichen Kommentar: https://github.com/tensorflow/tensorflow/issues/14048#issuecomment -340898847

Ich hatte das gleiche Problem in Ubuntu 16.04 und cuda-8.0 (mit GTX1080Ti). Ich möchte nur jeden von Ihnen mit dem gleichen Problem darüber informieren, dass die von @SimonWalsh1000 angegebene Lösung für mich perfekt funktioniert hat (dh das CUBLAS-Initialisierungsproblem wurde von sudo rm -rf ~/.nv/ gelöst). Also, vielen Dank @SimonWalsh1000 , es hat mich einige Stunden gekostet...

@SimonWalsh1000 Es funktioniert wirklich. Vielen Dank!

@SimonWalsh1000 es funktioniert wie ein Zauber, danke !!!!

Ich hatte das gleiche Problem unter Windows 10, CUDA 8.0, cuDNN 6.1 mit GTX1070Ti.
Ich finde den Grund: Ich habe Tensorflow-Code in der Annconda Spyder-IDE ausgeführt, danach führe ich einen anderen Tensorflow-Code in der Annconda-Eingabeaufforderung aus.
lösen Sie es, indem Sie die Spyder-IDE schließen
@lockywolf hat recht

Ich hatte das gleiche Problem. Ich versuche die Methode von @strickon , und ich kenne "nvidia-smi" nicht, vielleicht ist es ein Befehl unter Linux. Ich habe dieses Problem gelöst, indem ich cuDNN 6.0 für CUDA8.0 auf cuDNN 7.0 für CUDA8.0 aktualisiert habe

System am Anfang:

  • Windows10
  • CUDA8.0
  • cuDNN6.0
  • Anaconda3.5(python3.5)
  • GeForce 840M Major: 5 Minor: 0 SpeicherClockRate(GHz): 1.124
  • 2,00GiB freier Speicher: 1,66GiB

System nach gelöst:

  • Windows10
  • CUDA8.0
  • cuDNN7.0
  • Anaconda3.5(python3.5)
  • GeForce 840M Major: 5 Minor: 0 SpeicherClockRate(GHz): 1.124
  • 2,00GiB freier Speicher: 1,66GiB

Ich denke, dieses Problem kann durch die Nichtübereinstimmung der Version von Bibliothek und Hardware verursacht werden. @chleibig löst dies auch, indem Sie den GPU-Treiber aktualisieren. Hoffe das kann hilfreich sein.

Für mich hat das Setzen von: config.gpu_options.allow_growth = True in der Tensorflow-Sitzung das Problem behoben.
Cuda 8, tf 1.4, cudnn 6

Führen Sie dies aus, um das Problem zu beheben.

sudo rm -rf ~/.nv

selbe Frage. Gibt es eine Lösung um das Problem zu lösen?
Meine Situation ist:
Name: GeForce GTX 1080
totalMemory: 7,92GiB freeMemory: 2,50GiB
Tensorflow: GPU-1.4.0

Ich teste eine GPU, führe aber drei Tensorflow-Instanzen aus.
in meinem Code wie folgt:
gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.3)
sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options))

die anderen beiden tensorflow-Instanzen laufen gut, aber nur die letzte führt einen Fehler wie folgt aus:

E tensorflow/stream_executor/cuda/cuda_dnn.cc:371] konnte cudnn-Handle nicht erstellen: CUDNN_STATUS_INTERNAL_ERROR
E tensorflow/stream_executor/cuda/cuda_dnn.cc:338] konnte cudnn-Handle nicht zerstören: CUDNN_STATUS_BAD_PARAM
F tensorflow/core/kernels/conv_ops.cc:672] Prüfung fehlgeschlagen: stream->parent()->GetConvolveAlgorithms( conv_parameters.ShouldIncludeWinogradNonfusedAlgo(), &Algorithmen)

warum? Ist die GPU-Konfiguration zu klein: gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.3)
Ich bin mir nicht sicher. möchte einen Vorschlag. Ich werde versuchen.

Schau dir meine Lösung an....

Am 19. Dezember 2017 um 08:20 Uhr schrieb tbchj [email protected] :

selbe Frage. Gibt es eine Lösung um das Problem zu lösen?
Meine Situation ist:
Name: GeForce GTX 1080
totalMemory: 7,92GiB freeMemory: 2,50GiB
Tensorflow: GPU-1.4.0

Ich teste eine GPU, führe aber drei Tensorflow-Instanzen aus.
in meinem Code wie folgt:
gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.3)
sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options))

die anderen beiden Tensorflow-Instanzen laufen gut, aber nur die letzte läuft
Fehler wie folgt:

E tensorflow/stream_executor/cuda/cuda_dnn.cc:371] konnte cudnn nicht erstellen
Handle: CUDNN_STATUS_INTERNAL_ERROR
E tensorflow/stream_executor/cuda/cuda_dnn.cc:338] konnte nicht zerstört werden
cudnn-Handle: CUDNN_STATUS_BAD_PARAM
F tensorflow/core/kernels/conv_ops.cc:672] Prüfung fehlgeschlagen:
stream->parent()->GetConvolveAlgorithms( conv_parameters.
ShouldIncludeWinogradNonfusedAlgo(), &Algorithmen)

warum? Ist die GPU-Konfiguration zu klein: gpu_options = tf.GPUOptions(per_process_gpu_
memory_fraction=0.3)
Ich bin mir nicht sicher. möchte einen Vorschlag. Ich werde versuchen.


Sie erhalten dies, weil Sie erwähnt wurden.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/tensorflow/tensorflow/issues/6698#issuecomment-352670885 ,
oder den Thread stumm schalten
https://github.com/notifications/unsubscribe-auth/AJq-HpINYs1Uae6ghIW3qKCD56SUDhFeks5tB3HZgaJpZM4Lc7S1
.

--
Am besten
Simon

SLFWalsh MD MRCP FFRRCSI
[email protected]

In meinem Fall habe ich Fackel auf einem Hintergrund ausgeführt und habe das gleiche Problem.
Ich denke ... CUDNN_STATUS_INTERNAL_ERROR kann auftreten, wenn ein anderes Programm cudnn verwendet

In meinem Fall kann ich cudnn in einer ipython-Umgebung ausführen, aber ich habe die gleichen Fehlermeldungen erhalten, als ich versuchte, den Code in jupyter notebook auszuführen

Hallo, ich habe das gleiche Problem und keiner der Vorschläge hat mir bisher geholfen, es zu lösen.
Ich verwende einen Asus Zenbook Pro Laptop mit Windows 10 mit den folgenden Spezifikationen:

imagen

Meine GPU-Spezifikationen sind die folgenden:

imagen

Ich folge diesem Tutorial: https://www.tensorflow.org/get_started/mnist/pros, in dem Sie 1) eine Softmax-Regression und 2) ein mehrschichtiges CNN mit dem MNIST-Datensatz implementieren und trainieren müssen.

Das sind meine Codes: MNIST_Tutorial.zip . Die Zip-Datei enthält 2 Dateien: MNIST_softmax_regression.py und MNIST_multilayer_CNN.py.

1) Wenn ich MNIST_softmax_regression.py ausführe, funktioniert es gut:
imagen
Wie Sie sehen, ist die GPU gewöhnungsbedürftig und die endgültige Genauigkeit liegt wie im Tutorial erwartet bei etwa 92%.

2) Wenn ich jedoch MNIST_multilayer_CNN.py ausführe, stürzt Python ab:
imagen

Ich habe 2 Workarounds versucht, die auf vorherigen Vorschlägen basieren:

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

und

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

Keiner von ihnen hat funktioniert, obwohl der zweite die folgende Ausgabe erzeugt:

imagen

Wie Sie sehen, versucht tensorflow zunächst mehrmals Speicher zuzuweisen (CUBLAS_STATUS_ALLOC_FAILED), bis es anscheinend erfolgreich ist, aber dann erscheint der Fehler CUDNN_STATUS_NOT_INITIALIZED und alles schlägt erneut fehl.

Übrigens, ich habe tensorflow nach dem alternativen Ansatz am Ende dieser Anleitung installiert: http://www.python36.com/install-tensorflow-gpu-windows/
imagen

Ich habe dieses CUDA-Installationsprogramm verwendet:
imagen
imagen

Und habe diese .whl-Datei verwendet, um tensorflow zu installieren:
imagen

Hier noch ein paar Infos zu Python, Pip und Conda:
imagen

Jede Hilfe wird zutiefst geschätzt.
Danke im Voraus.

Hallo,
Ich habe das gleiche Problem auf zwei verschiedenen Maschinen:

Einrichtung 1:
Windows 10 Pro 64bit
GPU-Info
Cuda 8.0
cudnn 6.0
Tensorflow 1.4
Python 3.6.4

Einrichtung2:
Windows 10 Pro 64bit
GPU-Info
CUDA 8.0
cudnn 6.0
Tensorflow 1.4
Python 3.6.2

Irgendwelche Aktualisierungen?

Habe ein sehr ähnliches Setup wie oben und läuft auf:

Windows 10
GPU
Tensorflow 1.5
CUDA 9.0.176
cudnn 7
Python 3.6.4, Anaconda

Ich habe die Konfigurationsänderungen ausprobiert und erhalte immer noch die Fehlermeldungen "CUDNN_STATUS_NOT_INITIALIZED".

Ich bin mir nicht sicher, wo sich das Äquivalent des .nv-Ordners unter Windows befindet, daher konnte ich die @SimonWalsh1000- Lösung nicht

@HeinzBenjamin , Erfolg gehabt?

EDIT: Immer noch ratlos, könnte es daran liegen, dass ich Tensorflow 1.5 & CUDA 9 verwende?

Ich habe das gleiche Problem getroffen.
Ich habe jedoch festgestellt, dass mein Treiber nach der Installation von CUDA 9.0 nicht die neueste Version ist.
Versuchen Sie also, Ihren Nvdia-Treiber auf die neueste Version zu aktualisieren und starten Sie Ihren PC neu. Für mich geht das!

gestern hat mein Code einwandfrei funktioniert, heute morgen gab es ein Update für Ubuntu und jetzt produziert mein Code dies. nichts anderes hat sich geändert.

2018-02-11 07:54:57.097712: E tensorflow/stream_executor/cuda/cuda_dnn.cc:385] konnte cudnn-Handle nicht erstellen: CUDNN_STATUS_INTERNAL_ERROR
2018-02-11 07:54:57.097756: E tensorflow/stream_executor/cuda/cuda_dnn.cc:352] konnte cudnn-Handle nicht zerstören: CUDNN_STATUS_BAD_PARAM
2018-02-11 07:54:57.097767: F tensorflow/core/kernels/conv_ops.cc:667] Prüfung fehlgeschlagen: stream->parent()->GetConvolveAlgorithms( conv_parameters.ShouldIncludeWinogradNonfusedAlgo(), &algorithms)

Ich habe das System ein Dutzend Mal neu gestartet.
Nach einigen Neustarts änderte sich der Fehler in

2018-02-11 07:19:33.487404: I tensorflow/stream_executor/cuda/cuda_dnn.cc:393] möglicherweise unzureichende Treiberversion: 384.111.0 2018-02-11 07:19:33.487423: E tensorflow/stream_executor/cuda/ cuda_dnn.cc:352] konnte cudnn-Handle nicht zerstören: CUDNN_STATUS_BAD_PARAM 2018-02-11 07:19:33.487439: F tensorflow/core/kernels/conv_ops.cc:667] Prüfung fehlgeschlagen: stream->parent()->GetConvolveAlgorithms( conv_parameters.ShouldIncludeWinogradNonfusedAlgo(), &algorithms)

aber nach dem Upgrade auf 390.25 gibt es jetzt wieder den ersten Fehler.

Mein anderer Tensorflow-Code funktioniert einwandfrei.

Ich habe auch versucht, das nv-Verzeichnis zu entfernen, aber das hatte keine Wirkung

ubuntu 17.10, gtx 1060 6 GB

Ich habe diesen Fehler unter Windows 10 mit CUDA 9.0 und einem GT 750M erhalten. Ich habe ihn gelöst, indem ich die GPU-Auslastung auf 0.7 begrenzt habe mit: config.gpu_options.per_process_gpu_memory_fraction = 0.7

Wie jemand anderes geschrieben hat, stürzt alles, was höher als 0.7 ist, Python ab.

Nachdem ich auch die Dreieinigkeit der Fehler erhalten habe:

CUDNN_STATUS_NOT_INITIALIZED
conv_parameters.ShouldIncludeWinogradNonfusedAlgo(), &algorithms)

Versuchte @zzhang68 's Lösung ... Aktualisierte Treiber, nachdem 9.0 ältere Treiber installiert hatte.
_Und es hat funktioniert!_

Windows 10 | GTX 980 Ti
CUDA 9.0 (das mit veralteten Treibern geliefert wurde!!!!)
\cudnn-9.0-windows10-x64-v7\cuda\bin (cudann64_7.dll) in PATH

Python 3.6 Miniconda
tensorflow-gpu 1.5.0

stehe vor dem gleichen Problem. tf1.5 py2.7 Titan x cuda8.
config.gpu_options.allow_growth = True
nicht arbeiten

Ich habe diesen Fehler unter Windows 10 mit CUDA 9.0 und GTX 1060 erhalten.
Python 3.5
tensorflow-gpu 1.5.0
Ich finde eine einfache Möglichkeit, das Problem zu lösen: Aktualisieren Sie meinen NVIDIA-Anzeigetreiber auf die neueste Version, starten Sie den PC neu
dann hat es geklappt!

@SimonWalsh1000 , bei mir

Die Lösung von @strickon und @ggranum plus ein Treiber-Update hat dies für mich gelöst. Ich vermute, dass einige Leute angepasste Energiekonfigurationen haben, die einige Funktionen entleeren, bis sie benötigt werden.

Die Aktualisierung meines GPU-Treibers hat dieses Problem für mich gelöst. Mein GPU-Treiber war Dezember 2017 und der letzte war der 26. Februar 2018.

Sie benötigen den richtigen Tensorflow, die CUDA-Version, die cuDNN-Version und den GPU-Treiber, um dieses Problem zu vermeiden

meine spezifikation:
Tensorflow 1.6
cuDNN v7.0.4 (13. November 2017), für CUDA 9.0 (ich musste diese Version verwenden, damit mein TF funktioniert)

So habe ich es behoben. Ich hatte sowohl CUDA 9.1 als auch CUDA 9.0 installiert. Wie andere musste ich meine GPU-Treiber nach der Installation von CUDA (über das Programm Geforce Experience) erneut aktualisieren. Das Backend TensorFlow von Keras verwendet zum heutigen Zeitpunkt CUDA 9.0, also stellen Sie sicher, dass Sie es installiert haben. Laden Sie dann cuDNN 7.0.5 (nicht die neueste 7.1-Version) von https://developer.nvidia.com/rdp/cudnn-download herunter, extrahieren Sie es und kopieren Sie die Ordner bin, include usw. in Ihr C:\Programm Ordner Dateien\NVIDIA GPU Computing Toolkit\CUDA\v9.0. Jetzt sollte es funktionieren.

Vielen Dank für all diese Hilfe und nachdem ich versucht habe, mein cuCNN von cnDNN-9.1 in cnDNN-9.0 zu degradieren und es funktioniert.
Meine Umgebung ist Centos7 + CUDA 9.0 + Tensorflow 1.6

Gleicher Fehler bei Python3.5, Ubuntu 16.04, tf1.5
Das Aktualisieren des GPU-Treibers auf die Version 390.42 hat dieses Problem für mich behoben.

Hallo Leute,

Ich habe gerade das gleiche Problem
" E tensorflow/stream_executor/cuda/cuda_dnn.cc:385] konnte cudnn-Handle nicht erstellen: CUDNN_STATUS_INTERNAL_ERRORE tensorflow/stream_executor/cuda/cuda_dnn.cc:352] konnte cudnn-Handle nicht zerstören: CUDNN_STATUS_BAD_PARAMF tensorflow/core/kernels/conv_ops.cc:605] Prüfung fehlgeschlagen: stream->parent()->GetConvolveAlgorithms(&algorithms) "

und gelöst durch:
1- Aktualisieren des Treibers der NVIDIA Geforce920M
2- Richten Sie die tf-Sitzung wie folgt richtig ein:
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
sess = tf.Session(config=config)
3- Neustart des PCs

Danach bekam ich eine genauere Fehlermeldung:
"cuDNN7.1 gefunden, aber cuDNN7.0 erwartet. Upgrade"

Und gelöst durch:
Anstatt den Rest (tf,cuda,..) zu aktualisieren, um cuDNN zu erfüllen, habe ich cuDNN7.0 eher herabgestuft, um den Rest zu erfüllen.
(Herabstufen von cuDNN von 7.1 auf 7.0.4 ) und es hat gut funktioniert.

Ich bin auch auf diesen Fehler gestoßen, als ich The Cnn_Mnist.py ausgeführt habe

Umwelt INFO:

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

Fehler-INFO:

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)

Hoffe aufrichtig auf die Hilfe aller :D

In meinem Fall (Windows 10) wurde dieses Problem durch die Verwendung der falschen Version von cuDNN verursacht. Obwohl ich die offiziellen Anweisungen von TensorFlow genau befolgt habe, hatte ich versehentlich Version 7.0.5 für CUDA 9.1 heruntergeladen, während TF explizit CUDA 9.0 fordert.

Sobald ich den cuDNN-Fehler korrigiert habe, haben meine Convnets angefangen zu arbeiten 💯 👍 🥇 :)

Gleiches Problem tf 1.2, cuda 8.0, cudnn 5.1
Nvidia aktualisierte Treiber

Nun, ich habe es geschafft, den nvidia-Treiber auf die letzte Version gemäß cuda zu aktualisieren, und es funktioniert. Sie können diese Methode also ausprobieren.

Gut gut. Es kann nicht gut funktionieren. Das Problem tritt wieder auf

Verwendung: cudnn-9.0-windows10-x64-v7 und tensorflow-gpu==1.7.0

Tutorials\image\imagenet>python classify_image.py
schlägt fehl mit Fehler: Cudnn-Handle konnte nicht erstellt werden: CUDNN_STATUS_INTERNAL_ERROR

Das Hinzufügen der drei Codezeilen von ggranum oben löst das Problem

Für mich bestand das Problem darin, die falsche cudnn lib zu verwenden
Ich habe cudnn für cuda 9.1 verwendet, als ich cuda 9.0 hatte. Also habe ich cudnn für cuda 9.0 neu installiert und alles hat funktioniert.

Habe das gleiche Problem mit Win10/Anaconda3/tf-1.3/keras-2.1.3
Fügen Sie den folgenden Code ganz am Anfang der .py-Datei hinzu, der mein Problem löst.

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
Das funktioniert bei mir :)

Danke @zzhang68 . Deine Lösung hat bei mir funktioniert.

Das Hinzufügen am Anfang der Datei hat bei mir funktioniert:

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

GTX 1070. Bekam dieses Problem. Mein Treiber wurde zuletzt 2017 aktualisiert. Aktualisiert auf den neuesten Treiber (Mai 2018), setzte meinen Computer zurück und bekam das Problem nicht mehr. Hoffe das hilft

funktioniert bei mir auch mit der @zzhang68- Lösung.
Ubuntu16.04, tensorflow1.7, nvidia1080, cuda9.0, cudnn7.05.
Nach dem Aktualisieren des Treibers auf 390.59 ist das Problem verschwunden.

Eine weitere Option für Win10 mit Tensorflow-CPU...versuchen

def run_inference_for_single_image(Bild, Grafik):
mit graph.as_default():
config = tf.ConfigProto(
device_count = {'GPU': 0}
)
mit tf.Session(config=config) als sess:

@lwd1132438569 Darf ich fragen, welche "neueste Version" du meinst? Ich habe dieses Problem auch mit meinem Ubuntu, und ich habe Python 3.5.2, CUDA 9.0, tensorflow-gpu 1.9.0, der Treiber ist derzeit 390.48.
Ich möchte es versuchen, aber ich befürchte, dass tensorflow die 'neueste' Version jetzt nicht unterstützt....
Danke1

@vburca vielen Dank. Ich wusste nicht, dass ein anderes Jupyter-Notebook den GPU-Speicher verbrauchen würde. Danke vielmals!!!

Ich stand vor dem gleichen Problem. In meinem Fall habe ich die Version von tensorflow herabgestuft und sie hat für meine Anwendung funktioniert.

Ich habe das gleiche Problem gefunden. In meinem Fall war dieser Grund ein Mangel an Systemspeicher. Als ich die Ausführung einer anderen App beendet hatte, war dieses Problem verschwunden.

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 für CUDA9.0
TensorFlow 1.10.1
Einen einfachen Tensorflow wie hallo world problemlos ausführen.
Nirgendwo zu wissen, warum das passiert..................

definitiv cuda-bezogenes Speicherproblem, beenden Sie alle anderen cuda-bezogenen Prozesse und trainieren / testen Sie Ihr Modell, das das Problem lösen sollte

@drproy2k- Lösung scheint auch für mich effektiv zu sein. Das Problem war, dass ich eine andere Jupyter-Notebook-Instanz mit Keras ausgeführt habe und versucht habe, das Keras-Training in Pycharm auszuführen. Das einfache Schließen des Jupyter-Notebooks und das Beenden dieses Prozesses löste dieses Problem.

[Gelöst] In meinem Fall hatte ich CUDA v9.2 und das entsprechende cuDNN installiert, aber cuDNN speziell für CUDA v9.0, das tensorflow benötigt, nicht korrekt installiert.

Stellen Sie sicher, dass Sie die richtige Version von cuDNN von hier herunterladen: https://developer.nvidia.com/rdp/cudnn-archive

und NICHT der von hier: https://developer.nvidia.com/cudnn

Der goldene Trick, alles neu starten, hat bei mir funktioniert.

Neustart hat bei mir auch geholfen
(Aber eine Erklärung, warum das passiert, wäre wirklich nett)

cuDNN

Ich stand vor dem gleichen Problem. Modelle mit Faltungsschichten würden nicht funktionieren.
Ich habe cuDNN Version 7.0 für CUDA 9.0 heruntergeladen. Nach dem Ersetzen der Datei cudnn64_7.dll kann ich Convnets problemlos verwenden.

Version der DLL verursacht Probleme => 6.14.11.9020
Version der DLL, die das Problem gelöst hat => 6.14.11.9000
Tensorflow-GPU-Version=> 1.11.00
CUDA-Version=> 9.0
Python-Version=> 3.5
Betriebssystem=> Windows 10
Andere Schritte => Erstellen Sie eine BAT-Datei zum Anhängen an die PATH-Variable und starten Sie dann CMD.EXE mit der Option /k
danke allen.

Ich konnte ein Programm zum Laufen bringen, indem ich die GPU-Auslastung einschränkte. In meinem Fall mit einem 3 GB GTX 1060 unter Ubuntu 16.04 funktioniert es, wenn ich die GPU-Option per_process_gpu_memory_fraction auf .7 setze. Alles was höher ist, bekomme ich diese Fehler

E tensorflow/stream_executor/cuda/cuda_dnn.cc:397] konnte cudnn-Handle nicht erstellen: CUDNN_STATUS_INTERNAL_ERROR
E tensorflow/stream_executor/cuda/cuda_dnn.cc:364] konnte cudnn-Handle nicht zerstören: CUDNN_STATUS_BAD_PARAM
F tensorflow/core/kernels/conv_ops.cc:605] Prüfung fehlgeschlagen: stream->parent()->GetConvolveAlgorithms(&algorithms)

Es könnte sich um eine schlechte Fehlerberichterstattung von tensorflow handeln. Scheint völlig unabhängig zu sein. Vielleicht ist es ein Hinweis, das Problem besser zu lösen?

Super, wenn ich die gpu_memory_fraction von 0,8 auf 0,7 verringere, funktioniert es!

Ich hatte dieses Problem, nachdem ich tensorflow-gpu versehentlich von Version 1.6.0 auf 1.18.0 aktualisiert hatte. Dies führte zu Instabilität aufgrund der Versionen von CUDA und cuDNN. Die Lösung war ein Rollback auf tensorflow-gpu 1.6.0.

Das war die Lösung meiner Probleme:

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

Jedes Mal , wenn Sie beginnen , mit Blick auf diese Art von Fragen , mit denen, bevor Sie Ihre NVIDIA Abhängigkeiten aktualisieren, immer versuchen , das Problem zu lösen , indem sie die Versionen von tensorflow zu deinstallieren und eine Version kompatibel mit CUDA Installation Abhängigkeiten zuerst.

Schritt 1: Überprüfen Sie die Versionen Ihrer Tensorflow-Pakete. Wenn Sie eine GPU haben, empfehle ich, die CPU-Version von tensorflow zu deinstallieren, um Konflikte zu vermeiden.

pip list | grep tensorflow

Schritt 2: Deinstallieren von tensorflow-gpu.

pip uninstall tensorflow

Schritt 3: Überprüfen Sie Ihre CUDA- und cuDNN-Versionen. Möglicherweise müssen Sie diese Pfade anpassen.

-- CUDA
cat /usr/local/cuda/version.txt
Falls dies fehlschlägt, suchen Sie Ihre cuda-Versionstextdatei mit:
sudo find / -name version.txt

-- cuDNN
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
Falls dies fehlschlägt, suchen Sie Ihre cuda-Versionstextdatei mit:
sudo find / -name cudnn.h

Schritt 4: Überprüfen Sie, ob Ihre tensorflow-gpu-, cuda- und cudnn-Versionen mit dieser Tabelle übereinstimmen.
image

In meinem Fall brauchte ich tensorflow-gpu 1.6.0 , um die anderen Anforderungen zu erfüllen.

Also habe ich diese Version installiert mit:
pip install tensorflow-gpu==1.6.0
Das sind die Spezifikationen, die funktioniert haben!

Betriebssystem: Ubuntu 16.04
CUDA-Version: 9.0, V9.0.176
cuDNN-Version: 7.0
Tensorflow-GPU-Version: 1.6.0
Python-Version: 3.5.0

Viel Glück!

In meinem Fall habe ich vergessen, Jupyter Notebook zu schließen, als ich anfing, einen anderen Code im VS-Code auszuführen. Jupyter Notebook schließen hat das Problem behoben.

Ich stand vor dem gleichen Problem.
In meinem Fall habe ich Jupyter Notebook ausgeführt, während ich mein Netzwerk trainiert habe.
Das Schließen des Jupyter-Notebooks hat mein Problem behoben.

(Ich denke, es könnte etwas mit zu hohen Anforderungen an meine GPU zu tun haben)

Hoffe das hat geholfen!

Hallo, Leute, ich hatte die gleichen Probleme. Ich habe win10 tensorflow-gpu1.8.0 cuda 9.0 NVIDA gtx1050Ti verwendet. Wenn ich die Version von Cudann von 7.0 auf 7.1 ändere, wurde das Problem gelöst

Ich stand heute vor dem gleichen Problem (gtx1080, cuda 9.2, tfversion = 1.12.0). In meinem Fall habe ich also Jupyter notebook ausgeführt und dann versucht, mein anderes Skript auszuführen, und dann wurde der Fehler ausgegeben. Was gelöst ist, ist, wie @RoytenBerge sagte, das Herunterfahren des Jupyter-Kernals.

Es hat bei mir funktioniert, als ich diese Codezeilen am Anfang des Skripts @Codersadis . hinzugefügt habe

Fügen Sie den folgenden Code ganz am Anfang der .py-Datei hinzu, der mein Problem löst.

aus __zukunft__ import_print_function, division
Tensorflow als tf importieren
aus keras.backend.tensorflow_backend import set_session
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
set_session(tf.Session(config=config))

@drproy2k danke, bei mir hat es auch funktioniert. Ich habe Anaconda-Eingabeaufforderung ausgeführt, während Spyder ausgeführt wird. Nachdem ich Spyder heruntergefahren habe, hat es perfekt funktioniert!

Dieser Fehler ist auf ein RAM-Speicherproblem zurückzuführen. Schlagen Sie vor, auf 32 GB oder 64 GB DDR3- oder DDR4-RAM zu erhöhen.
Reduzieren Sie auch die Menge/Größe der Daten, die abgeleitet werden.

Es ist nicht die GPU. Ich habe 2 x 1080Ti-Karten in SLI.

Ich habe die Installationsanleitung der Version befolgt, um dies zu beheben -
https://www.tensorflow.org/install/source#tested_source_configurations. Die kompatible Konfiguration:-
TF 1.12
TF-GPU 1.9
CUDA 8

gleiches Problem mit GeForce GTX 970, CUDNN 7.4.1, CUDA 9.0.176, TF-gpu 1.12.0

Ich hatte das gleiche Problem, als ich die von der Community unterstützte Version von tensorflow in einer Conda-Umgebung verwendet habe (dh mit > conda install tensorflow-gpu )

Es stellte sich heraus, dass diese Version nicht in allen Situationen gut ist (obwohl ich sie auf anderen Computern verwendet habe). Die beste zu verwendende Version ist die installierbare pip-Version https://www.tensorflow.org/install/pip in einer Conda-Umgebung. Als ich das gemacht habe, hat alles funktioniert.

Ich wusste nicht, dass ich die Cuda 10.0-Version der CUDNN-Bibliothek neben der CUDA 9.0 installiert hatte, die ich gerade installiert hatte. Nachdem ich das V10 CUDNN heruntergeladen und durch das V9.0 CUDNN ersetzt hatte, funktionierte alles einwandfrei!
Dies war ein übersehen Fehlschlagen Dinge richtig zu installieren, und rückblickend kann ich sehen , warum ... Wenn Sie es bis hierher geschafft haben und sind müde von experimentieren, ich einen Blog - Post am geschrieben habe https: //aaronjencks.blogspot .com/2019/03/the-ultimate-guide-to-installing.html , das Sie durch den gesamten Prozess führt, um Tensorflow und alle seine Abhängigkeiten von Anfang bis Ende zum Laufen zu bringen

@kheffah habe das gleiche Problem in Conda. Verwenden Sie bereits pip für die Installation von TF und Keras.
GPU GT 840M, Computing-kompatibel 5.0, CUDA 9, cuDNN 7.4.2, TF 1.12.0. Windows 8 x64

Testcode läuft einwandfrei

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)

Dies ist der Fehler im Spyder. Versuchen Sie bereits den Speicher 0.7 und den Wachstumstrick. kein Glück

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

Wechseln Sie zu Tensorflow 1.7

Am Do., 3. Jan. 2019, 19:29 Uhr hat maxi.wu < [email protected] geschrieben:

@kheffah https://github.com/kheffah habe das gleiche Problem in Conda.
Verwenden Sie bereits pip für die Installation von TF und Keras.
GPU GT 840M, Computing-kompatibel 5.0, CUDA 9, cuDNN 7.4.2, TF 1.12.0.
Windows 8 x64

Testcode läuft einwandfrei

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

Dies ist der Fehler im Spyder. Versuchen Sie bereits den Speicher 0.7 und den Wachstumstrick.
kein Glück

classifier.fit_generator(training_set,
steps_per_epoch=32,
Epochen=25,
ausführlich=1,
validierung_daten=test_set,
Validierung_Schritte=6.25)
Epoche 1/25
Traceback (letzter Anruf zuletzt):

Datei "", Zeile 11, in
Validierung_Schritte=6.25)

Datei "c:\Users\maxi.wu\AppData\Local\conda\conda\envs\tfgpu\lib\site-packages\keras\legacy\interfaces.py", Zeile 91, im Wrapper
return func( args, * kwargs)

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

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

Datei "c:\Users\maxi.wu\AppData\Local\conda\conda\envs\tfgpu\lib\site-packages\keras\engine\training.py", Zeile 1217, in train_on_batch
Ausgänge = self.train_function(ins)

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

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

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

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

UnknownError: Der Faltungsalgorithmus konnte nicht abgerufen werden. Dies liegt wahrscheinlich daran, dass cuDNN nicht initialisiert werden konnte. Versuchen Sie also zu sehen, ob oben eine Warnprotokollmeldung ausgegeben wurde.
[[{{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/ replik :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 "]()]]


Sie erhalten dies, weil Sie einen Kommentar abgegeben haben.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/tensorflow/tensorflow/issues/6698#issuecomment-451079405 ,
oder den Thread stumm schalten
https://github.com/notifications/unsubscribe-auth/ABE215xY0OhbFjA_GhVtEIDl_IB4qQGmks5u_b9NgaJpZM4Lc7S1
.

Ich hatte das gleiche Problem auf dem Win10-System. aber es wird festgestellt, dass es ein Speicherproblem ist. Beenden Sie die andere laufende App, die riesige Speicherressourcen verbraucht, und probieren Sie es aus.

Ich hatte ein ähnliches Problem unter Windows 10 NVIDIA GEFORCE GTX 1050 und sobald ich alle anderen laufenden Aufgaben geschlossen und es wie von @xhm1014 oben vorgeschlagen erneut

Definitiv speicherbezogen. Sie sollten Ihren Arbeitsspeicher auf 64 GB aufrüsten.

Am Freitag, den 18. Januar 2019 um 17:30 Uhr schrieb Samuel Nde [email protected] :

Ich hatte ein ähnliches Problem unter Windows 10 NVIDIA GEFORCE GTX 1050 und so bald
da ich alle anderen laufenden Aufgaben geschlossen und es wie von @xhm1014 vorgeschlagen erneut versucht habe
https://github.com/xhm1014 oben, mein Code hat gerade angefangen zu laufen wie
das. Ich denke, das muss ein Speicherproblem sein.


Sie erhalten dies, weil Sie einen Kommentar abgegeben haben.
Antworten Sie direkt auf diese E-Mail und zeigen Sie sie auf GitHub an
https://github.com/tensorflow/tensorflow/issues/6698#issuecomment-455441208 ,
oder den Thread stumm schalten
https://github.com/notifications/unsubscribe-auth/ABE217cdDKUuRtdD9jJ_eh2tJWrm2fjeks5vEWnwgaJpZM4Lc7S1
.

Ich hatte den Fehler und habe ihn "behoben", indem ich meine mehreren Instanzen von Jupyter und andere Anwendungen geschlossen habe. Ich bin neu in der Arbeit mit Tensorflow im Allgemeinen, daher ist es wahrscheinlich, dass dies nur mein Problem behoben hat.

E tensorflow/stream_executor/cuda/cuda_dnn.cc:353] Cudnn-Handle konnte nicht erstellt werden: CUDNN_STATUS_INTERNAL_ERROR

Ich hatte dieses Problem mit 10.1 Cuda+cuDNN7.5 und TF 1.11, die mit cuda aus dem Quellcode kompiliert wurden. Das Skript, das ich verwenden wollte, benötigte diese Zeilen irgendwo eingefügt:
config = tf.ConfigProto() config.gpu_options.allow_growth = True

und dann später:
sess = tf.Session(graph=detection_graph,config=config)

Dies getan, viele "GPU-Fehler" - aber die Erkennung geht sehr schnell weiter, wie ich vermute, dass es bei der Verwendung von GPUs sollte. Danke für das Teilen!

Ich hatte die gleichen Probleme. Die Verwendung der folgenden Zeile hat es behoben. Überprüfen Sie hier, um Details zu erhalten.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/extras/CUPTI/lib64

@EncodeTS Ich habe meinem ersten Beitrag gerade ein minimal reproduzierbares Beispiel hinzugefügt. Könnten Sie überprüfen, ob das Problem auf Ihrem Gerät reproduziert wird? Auf meinem Computer funktioniert eine Faltungsschicht, aber nicht zwei Faltungsschichten, was mich zu der Annahme veranlasste, dass das Problem durch einige Ressourcenbeschränkungen verursacht werden könnte.

Eigentlich arbeite ich an Ubuntu 18.04, nicht an macOS, aber es scheint sinnvoll zu sein, dass es durch einige Ressourcenbeschränkungen verursacht werden könnte. Ich hatte entweder das gleiche Problem auf GTX 1050 ti (4 GB), aber das Problem ist verschwunden, als ich dieselbe Architektur auf GTX 1080 ti (11 GB) verwende. Obwohl nicht alle Umgebungen zwischen den beiden Systemen gleich sind, habe ich mein Bestes versucht, indem ich den Docker-Container verwendet habe.

Dieses Problem hängt im Allgemeinen mit der Version des cuda- und GPU-Speichers zusammen. Wenn früher, ist es am einfachsten, Ihre cuda-Version von Anaconda zu ändern! Wenn später, finden Sie in anderen Antworten einige Lösungsmöglichkeiten.
Dieses Problem hängt im Allgemeinen mit dem Videospeicher und der Cuda-Version zusammen. Wenn die oben beschriebene Methode zum Ändern des GPU-Speichers ungültig ist, ziehen Sie in Betracht, die Cuda-Version zu ändern. Am einfachsten ist es, sich keine Gedanken darüber zu machen, welche Cuda-Version im System installiert ist, direkt unter dem Projektumgebung in Anaconda Ändern Sie einfach die cuda-Version und der Pro-Test ist gültig.

Wenn dieses Problem weiterhin auftritt, versuchen Sie Folgendes. bei mir hat es funktioniert
tf.config.gpu.set_per_process_memory_growth(True); tf.config.gpu.set_per_process_memory_fraction(0.4);

Tensorflow 2 alpha
cuda 10.0
GTX 1650

Ich habe ein ähnliches Problem: CUDNN_STATUS_ALLOC_FAILED.
Ich habe mir 3-4 Stunden den Kopf gebrochen. Endlich behoben.
das funktioniert tatsächlich, wie oben von vielen erwähnt:
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
session = tf.Session(config=config)

Aber der Schlüssel ist, es direkt unter "tensorflow als tf importieren" zu schreiben, was ich nicht getan habe. Ich hatte es nach all den Importen geschrieben.

Möglicherweise hat die tensorflow-gpu-Version Probleme, Sie sollten Ihre eigenen Versionen überprüfen, immer wieder versuchen, deinstallieren und installieren ... tensorflow-gpu die entsprechende Versionsnummer finden und dann deinstallieren und neu installieren

Es hat bei mir funktioniert, als ich diese Codezeilen am Anfang des Skripts @Codersadis . hinzugefügt habe

Fügen Sie den folgenden Code ganz am Anfang der .py-Datei hinzu, der mein Problem löst.

aus zukünftigem Import print_function, division
Tensorflow als tf importieren
aus keras.backend.tensorflow_backend import set_session
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
set_session(tf.Session(config=config))

Ich erhalte den gleichen Fehler mit tensorflow-gpu == 1.8.0 , cudnn version = 7.0.5 und cuda 9.1.85
, ubuntu 16.04 auch nachdem ich die oben vorgeschlagene Lösung hinzugefügt habe.
Nachfolgend der Stack-Trace:

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)

Bitte helft

Ich habe ein ähnliches Problem: CUDNN_STATUS_ALLOC_FAILED.
Ich habe mir 3-4 Stunden den Kopf gebrochen. Endlich behoben.
das funktioniert tatsächlich, wie oben von vielen erwähnt:
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
session = tf.Session(config=config)

Aber der Schlüssel ist, es direkt unter "tensorflow als tf importieren" zu schreiben, was ich nicht getan habe. Ich hatte es nach all den Importen geschrieben.

tolle Antwort, hat bei mir funktioniert !!

Es hat bei mir funktioniert, als ich diese Codezeilen am Anfang des Skripts @Codersadis . hinzugefügt habe
Fügen Sie den folgenden Code ganz am Anfang der .py-Datei hinzu, der mein Problem löst.
aus zukünftigem Import print_function, division
Tensorflow als tf importieren
aus keras.backend.tensorflow_backend import set_session
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
set_session(tf.Session(config=config))

Ich erhalte den gleichen Fehler mit tensorflow-gpu == 1.8.0 , cudnn version = 7.0.5 und cuda 9.1.85
, ubuntu 16.04 auch nachdem ich die oben vorgeschlagene Lösung hinzugefügt habe.
Nachfolgend der Stack-Trace:

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)

Bitte helft

Das Ändern des Nvidia-Treibers auf 396+ hat das Problem für mich behoben.

Es hat mit dem Speicheranteil zu tun, der verfügbar ist, um GPU-Ressourcen zu laden, um ein cudnn-Handle zu erstellen, auch bekannt als per_process_gpu_memory_fraction .
Wenn Sie diesen Speicheranteil selbst reduzieren, wird der Fehler behoben.

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

Verwenden Sie einen so kleinen Bruch, wie er in Ihr Gedächtnis passen könnte. (Im Code verwende ich 0.7, Sie können mit 0.3 oder noch kleiner beginnen und dann erhöhen, bis Sie den gleichen Fehler erhalten, das ist Ihre Grenze.)
Übergeben Sie es als Konfiguration an Ihr tf.Session() oder tf.train.MonitoredTrainingSession() oder Supervisor's sv.managed_session() .

Dies sollte Ihrer GPU ermöglichen, ein cudnn-Handle für Ihren TensorFlow-Code zu erstellen.

Ich habe den folgenden Fehler mit tensorflow 2.0 in meiner Conda-Umgebung erhalten.

```2019-12-03 23:48:29.888625: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Dynamische Bibliothek cudart64_100.dll erfolgreich geöffnet
03.12.2019 23:49:06.381259: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Dynamische Bibliothek nvcuda.dll erfolgreich geöffnet
03.12.2019 23:49:07.220066: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1618] Gerät 0 mit Eigenschaften gefunden:
Name: GeForce GTX 1660 Ti Major: 7 Minor: 5 MemoryClockRate (GHz): 1.59
pciBusID: 0000:01:00.0
03.12.2019 23:49:07.236411: I tensorflow/stream_executor/platform/default/dlopen_checker_stub.cc:25] GPU-Bibliotheken sind statisch verlinkt, dlopen check überspringen.
03.12.2019 23:49:07.247476: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1746] Sichtbare GPU-Geräte hinzufügen: 0
03.12.2019 23:49:07.256881: I tensorflow/core/platform/cpu_feature_guard.cc:142] Ihre CPU unterstützt Anweisungen, dass diese TensorFlow-Binärdatei nicht für die Verwendung kompiliert wurde: AVX2
03.12.2019 23:49:07.269536: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1618] Gerät 0 mit Eigenschaften gefunden:
Name: GeForce GTX 1660 Ti Major: 7 Minor: 5 MemoryClockRate (GHz): 1.59
pciBusID: 0000:01:00.0
03.12.2019 23:49:07.281954: I tensorflow/stream_executor/platform/default/dlopen_checker_stub.cc:25] GPU-Bibliotheken sind statisch verlinkt, dlopen check überspringen.
03.12.2019 23:49:07.295302: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1746] Sichtbare GPU-Geräte hinzufügen: 0
03.12.2019 23:49:08.589865: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1159] Geräteverbindung StreamExecutor mit Stärke 1 Kantenmatrix:
03.12.2019 23:49:08.599121: Ich tensorflow/core/common_runtime/gpu/gpu_device.cc:1165] 0
03.12.2019 23:49:08.610543: Ich tensorflow/core/common_runtime/gpu/gpu_device.cc:1178] 0: N
2019-12-03 23:49:08.616005: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1304] TensorFlow-Gerät erstellt (/job:localhost/replica:0/task:0/device:GPU:0 mit 4627 MB Speicher) -> physische GPU (Gerät: 0, Name: GeForce GTX 1660 Ti, PCI-Bus-ID: 0000:01:00.0, Rechenleistung: 7.5)
03.12.2019 23:49:58.521484: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Dynamische Bibliothek cublas64_100.dll erfolgreich geöffnet
03.12.2019 23:49:59.604517: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Dynamische Bibliothek cudnn64_7.dll erfolgreich geöffnet
03.12.2019 23:50:04.209110: E tensorflow/stream_executor/cuda/cuda_dnn.cc:329] Cudnn-Handle konnte nicht erstellt werden: CUDNN_STATUS_NOT_INITIALIZED
03.12.2019 23:50:04.216670: E tensorflow/stream_executor/cuda/cuda_dnn.cc:333] Fehler beim Abrufen der Treiberversion: Nicht implementiert: Kernel hat gemeldete Treiberversion unter Windows nicht implementiert
03.12.2019 23:50:04.226172: E tensorflow/stream_executor/cuda/cuda_dnn.cc:329] Cudnn-Handle konnte nicht erstellt werden: CUDNN_STATUS_NOT_INITIALIZED
03.12.2019 23:50:04.234741: E tensorflow/stream_executor/cuda/cuda_dnn.cc:333] Fehler beim Abrufen der Treiberversion: Nicht implementiert: Kernel hat gemeldete Treiberversion unter Windows nicht implementiert
03.12.2019 23:50:04.244958: W tensorflow/core/common_runtime/base_collective_executor.cc:216] BaseCollectiveExecutor::StartAbort Unknown: Der Faltungsalgorithmus konnte nicht abgerufen werden. Dies liegt wahrscheinlich daran, dass cuDNN nicht initialisiert werden konnte. Versuchen Sie also zu sehen, ob oben eine Warnprotokollmeldung ausgegeben wurde.
[[{{Knotensequenz/conv2d/Conv2D}}]]

so i added the following code to my CNN

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

My output is now

2019-12-04 00:10:07.708573: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Dynamische Bibliothek cudart64_100.dll erfolgreich geöffnet
2019-12-04 00:10:11.643304: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Dynamische Bibliothek nvcuda.dll erfolgreich geöffnet
2019-12-04 00:10:12.753615: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1618] Gerät 0 mit Eigenschaften gefunden:
Name: GeForce GTX 1660 Ti Major: 7 Minor: 5 MemoryClockRate (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] GPU-Bibliotheken sind statisch verlinkt, dlopen check überspringen.
2019-12-04 00:10:12.783900: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1746] Sichtbare GPU-Geräte hinzufügen: 0
2019-12-04 00:10:54.941468: I tensorflow/core/platform/cpu_feature_guard.cc:142] Ihre CPU unterstützt Anweisungen, dass diese TensorFlow-Binärdatei nicht für die Verwendung kompiliert wurde: AVX2
2019-12-04 00:10:55.372516: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1618] Gerät 0 mit Eigenschaften gefunden:
Name: GeForce GTX 1660 Ti Major: 7 Minor: 5 MemoryClockRate (GHz): 1.59
pciBusID: 0000:01:00.0
04.12.2019 00:10:55.383385: I tensorflow/stream_executor/platform/default/dlopen_checker_stub.cc:25] GPU-Bibliotheken sind statisch verknüpft, überspringen Sie die Dlopen-Prüfung.
2019-12-04 00:10:55.406053: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1746] Sichtbare GPU-Geräte hinzufügen: 0
2019-12-04 00:10:56.741665: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1159] Geräteverbindung StreamExecutor mit Stärke 1 Kantenmatrix:
2019-12-04 00:10:56.747255: Ich tensorflow/core/common_runtime/gpu/gpu_device.cc:1165] 0
2019-12-04 00:10:56.752302: Ich tensorflow/core/common_runtime/gpu/gpu_device.cc:1178] 0: N
2019-12-04 00:10:56.756861: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1304] TensorFlow-Gerät erstellt (/job:localhost/replica:0/task:0/device:GPU:0 mit 4627 MB Speicher) -> physische GPU (Gerät: 0, Name: GeForce GTX 1660 Ti, PCI-Bus-ID: 0000:01:00.0, Rechenleistung: 7.5)
2019-12-04 00:11:08.281356: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Dynamische Bibliothek cublas64_100.dll erfolgreich geöffnet
2019-12-04 00:11:08.934804: I tensorflow/stream_executor/platform/default/dso_loader.cc:44] Dynamische Bibliothek cudnn64_7.dll erfolgreich geöffnet
2019-12-04 00:11:11.870237: W tensorflow/stream_executor/cuda/redzone_allocator.cc:312] Intern: Aufruf von ptxas wird unter Windows nicht unterstützt
Sich auf den Treiber verlassen, um die ptx-Kompilierung durchzuführen. Diese Nachricht wird nur einmal protokolliert.
```

Wie alle vorgeschlagen haben, liegt es daran, dass Tensorflow alle GPUs / GPUs verwendet. Mein CNN trainiert jetzt ohne Fehler.

Ich hatte das gleiche Problem, als ich die von der Community unterstützte Version von tensorflow in einer Conda-Umgebung verwendet habe (dh mit > conda install tensorflow-gpu )

Es stellte sich heraus, dass diese Version nicht in allen Situationen gut ist (obwohl ich sie auf anderen Computern verwendet habe). Die beste zu verwendende Version ist die installierbare pip-Version https://www.tensorflow.org/install/pip in einer Conda-Umgebung. Als ich das gemacht habe, hat alles funktioniert.

Das hat sich für mich gelöst, danke!

Damit war das Problem auch bei mir gelöst.

GeForce GTX 1050, CUDA 10.0

Hinweis: Dies ist das einzige, was ich derzeit in TF 2.0 finden kann. Vielen Dank!

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

Damit war das Problem auch bei mir gelöst.

GeForce GTX 1050, CUDA 10.0

Hinweis: Dies ist das einzige, was ich derzeit in TF 2.0 finden kann. Vielen Dank!

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

Für mich hat das keinen Unterschied gemacht... TF 2.0, RTX 2060, CUDA 10.1, CuDNN 7.6

Dies ist mit 16 GB RAM, 6 GB Videospeicher und einem einfachen MNIST-Spielzeugmodell mit einer Conv-Schicht. Keine Speicherprobleme, nur ein Stacktrace.

Mit Pytorch wie gewohnt überhaupt keine GPU-Probleme

In meinem Fall habe ich zwei Maschinen, beide mit RTX 2080Ti, TF 2.1, CUDA 10.1, CuDNN 7.6. Das eine funktioniert, das andere löst den oben genannten Fehler aus. Beide Maschinen haben die gleiche Menge an RAM, 16 GB. Es gibt jedoch Hardwareunterschiede, wie die CPU. Aber das Problem tritt nur bei Verwendung der GPU auf.

In meinem Fall habe ich zwei Maschinen, beide mit RTX 2080Ti, TF 2.1, CUDA 10.1, CuDNN 7.6. Das eine funktioniert, das andere löst den oben genannten Fehler aus. Beide Maschinen haben die gleiche Menge an RAM, 16 GB. Es gibt jedoch Hardwareunterschiede, wie die CPU. Aber das Problem tritt nur bei Verwendung der GPU auf.

Gleiche Plattform, gleiches Problem

Wenn Sie das neueste Tensorflow und Keras verwenden. Probiere das hier aus , bei mir hat es funktioniert:

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)

Dieser funktioniert für mich.
physische_devices = tf.config.list_physical_devices('GPU')
tf.config.experimental.set_memory_growth(physical_devices[0], True)

Dieser funktioniert für mich.
physische_devices = tf.config.list_physical_devices('GPU')
tf.config.experimental.set_memory_growth(physical_devices[0], True)

Das hat bei mir funktioniert. Vielen Dank

@ Samaritan1011001 Ihre Lösung funktioniert für mich vielen Dank.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen