Tensorflow(GPU)は正常にインポートされましたが、畳み込みニューラルネットワーク(CNN)を含むセッションを実行すると、Pythonがクラッシュして次のメッセージが表示されます。
E tensorflow/stream_executor/cuda/cuda_dnn.cc:385] could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
E tensorflow/stream_executor/cuda/cuda_dnn.cc:352] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM
F tensorflow/core/kernels/conv_ops.cc:605] Check failed: stream->parent()->GetConvolveAlgorithms(&algorithms)
この問題は、CUDAツールキット7.5 /8.0とpip / sourceからインストールされたTensorflowの任意の組み合わせで解決しません。 CNNを使用しないテストセッションは正常に実行されます。
この問題は、私が最初にコメントしたhttps://github.com/tensorflow/tensorflow/issues/6586に似てい
オペレーティングシステム:macOS Sierra 10.12.2
Xcodeバージョン8.2(8C38)(後でCUDA 7.5を試したとき、CUDA 7.5には最新のコンパイラーのサポートがなかったため、コマンドラインツールバージョン7.3.1をインストールしました。)
Python 3.5.2(anaconda)
インストールされたバージョンのCUDA:8.0(最初に)と7.5の両方を試しました(ここで報告されています、ツールキットのみ-ドライバーはまだ8.0です)
cuDNNのインストール済みバージョン:5.1(CUDAバージョンに応じて異なるインストール)
( ls -l /path/to/cuda/lib/libcud*
の出力を添付してください):
lrwxr-xr-x 1 root wheel 33 5 Jan 20:33 /usr/local/cuda/lib/libcuda.1.dylib -> /usr/local/cuda/lib/libcuda.dylib
-rwxr-xr-x@ 1 root wheel 8280 13 Apr 2016 /usr/local/cuda/lib/libcuda.dylib
lrwxr-xr-x@ 1 root wheel 45 13 Apr 2016 /usr/local/cuda/lib/libcudadevrt.a -> /Developer/NVIDIA/CUDA-7.5/lib/libcudadevrt.a
lrwxr-xr-x@ 1 root wheel 50 13 Apr 2016 /usr/local/cuda/lib/libcudart.7.5.dylib -> /Developer/NVIDIA/CUDA-7.5/lib/libcudart.7.5.dylib
lrwxr-xr-x@ 1 root wheel 46 13 Apr 2016 /usr/local/cuda/lib/libcudart.dylib -> /Developer/NVIDIA/CUDA-7.5/lib/libcudart.dylib
lrwxr-xr-x@ 1 root wheel 49 13 Apr 2016 /usr/local/cuda/lib/libcudart_static.a -> /Developer/NVIDIA/CUDA-7.5/lib/libcudart_static.a
lrwxr-xr-x 1 root wheel 16 5 Jan 17:14 /usr/local/cuda/lib/libcudnn.5 -> libcudnn.5.dylib
-rwxr-xr-x@ 1 ymfa staff 58975112 10 Jun 2016 /usr/local/cuda/lib/libcudnn.5.dylib
lrwxr-xr-x@ 1 ymfa staff 16 10 Jun 2016 /usr/local/cuda/lib/libcudnn.dylib -> libcudnn.5.dylib
lrwxr-xr-x 1 root wheel 16 5 Jan 17:14 /usr/local/cuda/lib/libcudnn5.dylib -> libcudnn.5.dylib
-rw-r--r--@ 1 ymfa staff 56392320 10 Jun 2016 /usr/local/cuda/lib/libcudnn_static.a
pipとsourceの両方からインストールしてみました。 私は最初にバイナリpipパッケージからインストールしました:
tensorflow-gpu
python -c "import tensorflow; print(tensorflow.__version__)"
からの出力。0.12.head
後でソースからインストールしました(pipパッケージはアンインストールされました):
git rev-parse HEAD
)d67c09d98a576e1fbf2f3609ddb842e53890f31c
bazel version
の出力
ビルドラベル:0.4.3-自作
ビルドターゲット:bazel-out / local-opt / bin / src / main / java / com / google / devtools / build / lib / bazel / BazelServer_deploy.jar
ビルド時間:2016年12月22日木曜日15:20:15(1482420015)
ビルドタイムスタンプ:1482420015
タイムスタンプをintとしてビルド:1482420015
ネットワークを単純化し、トレーニングデータを分類用に20枚の画像と2つのクラスに減らすことで、最小限の例を作成しました。 issue.zipには、Pythonコードとデータが含まれています。 畳み込み層が1つしかないネットワークが問題なく実行されていることがわかったため、2つの畳み込み層を作成しました。
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)
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)
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcurand.so locally
I tensorflow/core/common_runtime/gpu/gpu_device.cc:885] Found device 0 with properties:
name: GeForce GTX 1080
major: 6 minor: 1 memoryClockRate (GHz) 1.835
pciBusID 0000:02:00.0
Total memory: 7.92GiB
Free memory: 3.76GiB
I tensorflow/core/common_runtime/gpu/gpu_device.cc:906] DMA: 0
I tensorflow/core/common_runtime/gpu/gpu_device.cc:916] 0: Y
I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 1080, pci bus id: 0000:02:00.0)
E tensorflow/stream_executor/cuda/cuda_dnn.cc:385] could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
E tensorflow/stream_executor/cuda/cuda_dnn.cc:352] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM
F tensorflow/core/kernels/conv_ops.cc:532] Check failed: stream->parent()->GetConvolveAlgorithms(&algorithms)
CUDA8とTFr0.12.1で発生したのとまったく同じ問題に遭遇しました。
@EncodeTS最初の投稿に再現可能な最小限の例を追加しました。 それがあなたのマシンで問題を再現するかどうかを確認できますか? 私のマシンでは、1つの畳み込み層は機能しますが、2つの畳み込み層は機能しません。そのため、問題の原因はリソースの制限にあるのではないかと考えました。
@ymfaの最小限の例がTitanXでも機能します
最小限の例は私のUbuntuで動作します。 私が遭遇した問題は、私のコンピューターで発生する可能性が非常に低いようです。
同じ問題が発生しています。 CPUに強制するとグラフは正常に実行されますが、GPUでクラッシュします。
OS:macOS 10.12.2
GPU:GeForce GT 750M
TF:0.12.1(pipインストール)
Python:3.6.0
CUDA:8.0
cuDNN:5.1
( ls -l /path/to/cuda/lib/libcud*
出力):
lrwxr-xr-x 1 root wheel 33 Dec 14 14:25 /usr/local/cuda/lib/libcuda.1.dylib -> /usr/local/cuda/lib/libcuda.dylib
-rwxr-xr-x 1 root wheel 13504 Dec 2 16:48 /usr/local/cuda/lib/libcuda.dylib
lrwxr-xr-x 1 root wheel 45 Nov 3 11:40 /usr/local/cuda/lib/libcudadevrt.a -> /Developer/NVIDIA/CUDA-8.0/lib/libcudadevrt.a
lrwxr-xr-x 1 root wheel 50 Nov 3 11:40 /usr/local/cuda/lib/libcudart.8.0.dylib -> /Developer/NVIDIA/CUDA-8.0/lib/libcudart.8.0.dylib
lrwxr-xr-x 1 root wheel 46 Nov 3 11:40 /usr/local/cuda/lib/libcudart.dylib -> /Developer/NVIDIA/CUDA-8.0/lib/libcudart.dylib
lrwxr-xr-x 1 root wheel 49 Nov 3 11:40 /usr/local/cuda/lib/libcudart_static.a -> /Developer/NVIDIA/CUDA-8.0/lib/libcudart_static.a
lrwxr-xr-x 1 root wheel 47 Dec 14 10:21 /usr/local/cuda/lib/libcudnn.5.dylib -> /Developer/NVIDIA/CUDA-8.0/lib/libcudnn.5.dylib
lrwxr-xr-x 1 root wheel 45 Dec 14 10:21 /usr/local/cuda/lib/libcudnn.dylib -> /Developer/NVIDIA/CUDA-8.0/lib/libcudnn.dylib
lrwxr-xr-x 1 root wheel 48 Dec 14 10:21 /usr/local/cuda/lib/libcudnn_static.a -> /Developer/NVIDIA/CUDA-8.0/lib/libcudnn_static.a
@ymfaによって提供される最小限の例は、私のセットアップでは失敗し、成功します。 以下は、生成された3つの出力です。
fail(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
fail(2)
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcublas.dylib locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcudnn.dylib locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcufft.dylib locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcuda.1.dylib locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcurand.dylib locally
I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:901] OS X does not support NUMA - returning NUMA node zero
I tensorflow/core/common_runtime/gpu/gpu_device.cc:885] Found device 0 with properties:
name: GeForce GT 750M
major: 3 minor: 0 memoryClockRate (GHz) 0.9255
pciBusID 0000:01:00.0
Total memory: 2.00GiB
Free memory: 1.53GiB
I tensorflow/core/common_runtime/gpu/gpu_device.cc:906] DMA: 0
I tensorflow/core/common_runtime/gpu/gpu_device.cc:916] 0: Y
I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GT 750M, pci bus id: 0000:01:00.0)
Training...
E tensorflow/stream_executor/cuda/cuda_blas.cc:372] failed to create cublas handle: CUBLAS_STATUS_NOT_INITIALIZED
W tensorflow/stream_executor/stream.cc:1390] attempting to perform BLAS operation using StreamExecutor without BLAS support
Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1021, in _do_call
return fn(*args)
File "/usr/local/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1003, in _run_fn
status, run_metadata)
File "/usr/local/Cellar/python3/3.6.0/Frameworks/Python.framework/Versions/3.6/lib/python3.6/contextlib.py", line 89, in __exit__
next(self.gen)
File "/usr/local/lib/python3.6/site-packages/tensorflow/python/framework/errors_impl.py", line 469, in raise_exception_on_not_ok_status
pywrap_tensorflow.TF_GetCode(status))
tensorflow.python.framework.errors_impl.InternalError: Blas SGEMM launch failed : a.shape=(20, 400), b.shape=(400, 2), m=20, n=2, k=400
[[Node: MatMul = MatMul[T=DT_FLOAT, transpose_a=false, transpose_b=false, _device="/job:localhost/replica:0/task:0/gpu:0"](Flatten/Reshape, Variable_4/read)]]
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "issue.py", line 52, in <module>
sess.run(training_operation, feed_dict={x: X, y: Y})
File "/usr/local/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 766, in run
run_metadata_ptr)
File "/usr/local/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 964, in _run
feed_dict_string, options, run_metadata)
File "/usr/local/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1014, in _do_run
target_list, options, run_metadata)
File "/usr/local/lib/python3.6/site-packages/tensorflow/python/client/session.py", line 1034, in _do_call
raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.InternalError: Blas SGEMM launch failed : a.shape=(20, 400), b.shape=(400, 2), m=20, n=2, k=400
[[Node: MatMul = MatMul[T=DT_FLOAT, transpose_a=false, transpose_b=false, _device="/job:localhost/replica:0/task:0/gpu:0"](Flatten/Reshape, Variable_4/read)]]
Caused by op 'MatMul', defined at:
File "issue.py", line 43, in <module>
logits = SimpleNet(x)
File "issue.py", line 34, in SimpleNet
logits = tf.matmul(fc1, fc1_W) + fc1_b
File "/usr/local/lib/python3.6/site-packages/tensorflow/python/ops/math_ops.py", line 1729, in matmul
a, b, transpose_a=transpose_a, transpose_b=transpose_b, name=name)
File "/usr/local/lib/python3.6/site-packages/tensorflow/python/ops/gen_math_ops.py", line 1442, in _mat_mul
transpose_b=transpose_b, name=name)
File "/usr/local/lib/python3.6/site-packages/tensorflow/python/framework/op_def_library.py", line 759, in apply_op
op_def=op_def)
File "/usr/local/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 2240, in create_op
original_op=self._default_original_op, op_def=op_def)
File "/usr/local/lib/python3.6/site-packages/tensorflow/python/framework/ops.py", line 1128, in __init__
self._traceback = _extract_stack()
InternalError (see above for traceback): Blas SGEMM launch failed : a.shape=(20, 400), b.shape=(400, 2), m=20, n=2, k=400
[[Node: MatMul = MatMul[T=DT_FLOAT, transpose_a=false, transpose_b=false, _device="/job:localhost/replica:0/task:0/gpu:0"](Flatten/Reshape, Variable_4/read)]]
合格
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcublas.dylib locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcudnn.dylib locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcufft.dylib locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcuda.1.dylib locally
I tensorflow/stream_executor/dso_loader.cc:128] successfully opened CUDA library libcurand.dylib locally
I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:901] OS X does not support NUMA - returning NUMA node zero
I tensorflow/core/common_runtime/gpu/gpu_device.cc:885] Found device 0 with properties:
name: GeForce GT 750M
major: 3 minor: 0 memoryClockRate (GHz) 0.9255
pciBusID 0000:01:00.0
Total memory: 2.00GiB
Free memory: 1.71GiB
I tensorflow/core/common_runtime/gpu/gpu_device.cc:906] DMA: 0
I tensorflow/core/common_runtime/gpu/gpu_device.cc:916] 0: Y
I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GT 750M, pci bus id: 0000:01:00.0)
Training...
Training complete!
最近のアクティビティがないため、自動的に閉じます。 新しい情報が利用可能になり次第、問題を更新してください。問題を再開します。 ありがとう!
それほど速くはありませんが、このクラッシュも見られます。 Macbook pro、geforce650。TFv1。 頻繁に再起動する必要があるjupyterカーネルを介して実行しています。 たぶん、このグラフィックカードは弱すぎますか? 作戦が同じカードをどのように使用しているかを見ると、おそらくそうです。
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcublas.8.0.dylib locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcudnn.5.dylib locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcufft.8.0.dylib locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcuda.1.dylib locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcurand.8.0.dylib locally
...
I tensorflow/core/common_runtime/gpu/gpu_device.cc:885] Found device 0 with properties:
name: GeForce GT 650M
major: 3 minor: 0 memoryClockRate (GHz) 0.9
pciBusID 0000:01:00.0
Total memory: 1023.69MiB
Free memory: 870.46MiB
I tensorflow/core/common_runtime/gpu/gpu_device.cc:906] DMA: 0
I tensorflow/core/common_runtime/gpu/gpu_device.cc:916] 0: Y
I tensorflow/core/common_runtime/gpu/gpu_device.cc:975] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GT 650M, pci bus id: 0000:01:00.0)
E tensorflow/stream_executor/cuda/cuda_dnn.cc:397] could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
E tensorflow/stream_executor/cuda/cuda_dnn.cc:364] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM
F tensorflow/core/kernels/conv_ops.cc:605] Check failed: stream->parent()->GetConvolveAlgorithms(&algorithms)
GTX 960m、cudnn5.1.5、cuda-8.0.44でも同じ問題が発生します。
centOS、titanXでも同じ問題があります
ubuntu(14.04)とGRID K520(aws g2.2)でも同じ問題が発生します
同じ問題が発生しますwindows10 cudnn 5.1 cuda 8 gtx1060。プログラムはcpuバージョンのテンソルフローで動作しますが、gpuバージョンでも同じエラーが発生します。
gtx1060、win8.1、cuda8.0.60、cudnn5.0でも同じ問題が発生しました。 最新の安定したtensorflow-gpuナイトリービルド(現在はhttp://ci.tensorflow.org/job/nightly-win/133/)とcudnn5.1にアップグレードされました。 問題が解決しました。
ここで同じ問題。
TFがバージョン1.0.0であったことを除いて、以下にリストされているソフトウェアバージョンでこの問題が発生していました。 その後、TF1.0.1にアップグレードしました。 同じプログラムを一度実行したところ、うまくいきました。 その後、もう一度実行しましたが、機能しませんでした。以前と同じエラーが発生しました。
Tensorflow-gpu 1.0.1
Mac OS X 10.12.3
Cuda 8.0.61
CuDNN 5.1
GeForce GT 750M
gtx650、ubuntu 16.04、CUDAバージョン8.0.61、TFバージョン1.0.0でも同じ問題が発生します
ちょうど今は機能していましたが、メモリ不足の警告が表示されました。 しかし、それは実行されていました
今ではまったく実行されず、同じチェックに失敗しました:stream-> parent()-> GetConvolveAlgorithms(&algorithms)エラー
gtx 1080 ti、windows 10、CUDAバージョン8.0.61、TFバージョン1.0.1、5.1 Cudann、cuda8.0.61で同じ問題が発生する
GPUの使用を制限することで、プログラムを動作させることができました。 私の場合、ubuntu16.04で3gbgtx 1060を使用している場合、gpuオプションper_process_gpu_memory_fractionを.7に設定すると機能します。 それ以上の場合、これらのエラーが発生します
E tensorflow / stream_executor / cuda / cuda_dnn.cc:397]はcudnnハンドルを作成できませんでした:CUDNN_STATUS_INTERNAL_ERROR
E tensorflow / stream_executor / cuda / cuda_dnn.cc:364] cudnnハンドルを破棄できませんでした:CUDNN_STATUS_BAD_PARAM
F tensorflow / core / kernels / conv_ops.cc:605]チェックに失敗しました:stream-> parent()-> GetConvolveAlgorithms(&algorithms)
これは、テンソルフローによる不正なエラー報告の場合である可能性があります。 完全に無関係のようです。 たぶんそれはこれをより良い方法で解決するための手がかりですか?
@ zheng-xq明らかなセットアップの問題はありますか?
同じ問題も。 私はWindows10、GTX1070、CUDA 8.0、cuDNN5.1を使用しています。
E c:\ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ stream_executor \ cuda \ cuda_dnn.cc:359] cudnnハンドルを作成できませんでした:CUDNN_STATUS_NOT_INITIALIZED
E c:\ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ stream_executor \ cuda \ cuda_dnn.cc:366]ドライバーバージョンの取得中にエラーが発生しました:未実装:カーネルが報告したドライバーバージョンがWindowsに実装されていません
E c:\ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ stream_executor \ cuda \ cuda_dnn.cc:326] cudnnハンドルを破棄できませんでした:CUDNN_STATUS_BAD_PARAM
F c:\ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ core \ kernels \ conv_ops.cc:659]チェックに失敗しました:stream-> parent()-> GetConvolveAlgorithms(&algorithms)
それが誰かを助けるなら、時々tfが正しく再開するのを妨げるゾンビプロセスが残っているようで、私にこのエラーを与えました。 それらを殺すことは問題を回避します。
これが私が一時的にそれを解決した方法についてもう少し情報です。 これらの問題はすべてGPUメモリ割り当てに関連しており、報告されているエラーとは何の関係もないと思います。 この前に、ある種のメモリ割り当ての問題を示す他のエラーがありましたが、プログラムは進行し続け、最終的には誰もが取得しているcudnnエラーが発生しました。 時々動作すると思う理由は、プライマリディスプレイなど、テンソルフロー以外の目的でGPUを使用すると、使用可能なメモリが変動するためです。 必要なものを割り当てることができる場合とできない場合があります。
APIから
https://www.tensorflow.org/versions/r0.12/how_tos/using_gpu/
「デフォルトでは、TensorFlowはプロセスに表示されるすべてのGPU(CUDA_VISIBLE_DEVICESの対象)のほぼすべてのGPUメモリをマッピングします。これは、メモリの断片化を減らすことで、デバイス上の比較的貴重なGPUメモリリソースをより効率的に使用するために行われます。」
このデフォルトの割り当ては、この不安定な動作や特定の状況が機能し、他の状況が失敗する原因となる何らかの方法で壊れていると思います。
TFのデフォルトの動作を変更して最小量のメモリを割り当て、Webページで詳しく説明されているように必要に応じて拡張することで、この問題を解決しました。
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
セッション= tf.Session(config = config、...)
私も別の方法を試しましたが、それを機能させることができ、機能するパーセンテージを実験的に選択することで失敗しました。 私の場合、それは約.7になりました。
config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.4
セッション= tf.Session(config = config、...)
TFチームの誰からもこれを確認する言葉はまだありませんが、他の人が同様の動作を確認できるかどうかを確認する価値があります。
CUDNN_STATUS_NOT_INITIALIZED
エラーも発生します。 完全なエラーログは次のとおりです。
2017-04-26 00:08:57.526234: I c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\common_runtime\gpu\gpu_device.cc:977] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 1080, pci bus id: 0000:01:00.0)
2017-04-26 00:09:01.111706: E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_dnn.cc:359] could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED
2017-04-26 00:09:01.111805: E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_dnn.cc:366] error retrieving driver version: Unimplemented: kernel reported driver version not implemented on Windows
2017-04-26 00:09:01.114040: E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_dnn.cc:326] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM
2017-04-26 00:09:01.114232: F c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\kernels\conv_ops.cc:659] Check failed: stream->parent()->GetConvolveAlgorithms(&algorithms)
私はWindows10、CUDA 8.0、cuDNN5.1を使用しています。 これらを回避するために何かできることはありますか? 以前に他のいくつかのテンソルフローテストを実行することができ、それは正常に機能しました(conv opを含む)が、現在はこの新しいテストでは機能しません...
@ serans1どのゾンビプロセスを参照していますか?
これに対する回避策があるかどうか私に知らせてください。 ありがとうございました!
編集これは初心者の間違いだったかもしれませんが、他の誰かが同じ問題で実行された場合に備えて、ここで言及します:
私の問題は、Jupyter Python Notebookのインスタンス(セルはすべてすでに実行されているため、メモリにロードされている)と、GPUメモリ(最小化されたビデオゲーム)を使用していた他のプロセスをすでに実行していたことでした。 したがって、GPUのメモリ使用量を確認したところ、すでに約4 GB + GB(50 +%)でした。 Jupyter Notebookと他のアプリケーションを閉じて、テンソルフローテストを再実行しました。 これですべてがスムーズに実行されました:)また、実行中に、ピーク時にGPUメモリの最大90%を使用していることに気付きました。したがって、最初の状況で使用可能なCUDNNが50%未満だったのに、なぜCUDNNを初期化できなかったのかがわかります。 。
私の間違いでもう一度申し訳ありません! 私はこれで遊んでいるところです:)
同じ問題、それに対する解決策はありますか?
I c:\ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ core \ common_runtime \ gpu \ gpu_device.cc:885]プロパティを持つデバイス0が見つかりました:
名前:GeForce GTX 960M
メジャー:5マイナー:0 memoryClockRate(GHz)1.176
pciBusID 0000:01:00.0
総メモリ:4.00GiB
空きメモリ: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デバイスの作成(/ gpu:0)->(デバイス: 0、名前:GeForce GTX 960M、pciバス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] / job:localhost / reply0のNUMAノードを識別できませんでした/ task:0 / gpu:0、デフォルトは0。カーネルがNUMAサポートで構築されていない可能性があります。
E c:\ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ stream_executor \ cuda \ cuda_dnn.cc:385] cudnnハンドルを作成できませんでした:CUDNN_STATUS_NOT_INITIALIZED
E c:\ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ stream_executor \ cuda \ cuda_dnn.cc:392]ドライバーバージョンの取得中にエラーが発生しました:アクセスが拒否されました:読み取り用のドライバーバージョンパスを開くことができませんでした:/ proc / driver / nvidia / version
E c:\ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ stream_executor \ cuda \ cuda_dnn.cc:352] cudnnハンドルを破棄できませんでした:CUDNN_STATUS_BAD_PARAM
F c:\ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ core \ kernels \ conv_ops.cc:532]チェックに失敗しました:stream-> parent()-> GetConvolveAlgorithms(&algorithms)
私はまったく同じ問題を抱えています。
ただし、rootアクセス(sudoを使用)でコードを実行できます。
現在、GTX960を搭載したUbuntu16.04に取り組んでいます。
私のCUDAバージョンは8.0で、tensorflow1.01を使用しています
Windows 10 / Tensorflow 1.01
私はそれを完璧に使用していましたが、今では偶然に同じエラーが発生します
名前:GeForce GTX 1070
メジャー:6マイナー:1 memoryClockRate(GHz)1.7715
pciBusID 0000:03:00.0
総メモリ:8.00GiB
空きメモリ:6.68GiB
2017-05-08 21:12:16.103654:I c:\ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ core \ common_runtime \ gpu \ gpu_device.cc:908] DMA:0
2017-05-08 21:12:16.105184:I c:\ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ core \ common_runtime \ gpu \ gpu_device.cc:918] 0:Y
2017-05-08 21:12:16.106710:I c:\ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ core \ common_runtime \ gpu \ gpu_device.cc:977]TensorFlowデバイスを作成しています(/ gpu:0)->(デバイス:0、名前:GeForce GTX 1070、pciバス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]cudnnハンドルを作成できませんでした:CUDNN_STATUS_NOT_INITIALIZED
2017-05-08 21:12:24.395177:E c:\ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ stream_executor \ cuda \ cuda_dnn.cc:366]ドライバーバージョンの取得中にエラーが発生しました:未実装:カーネルが報告したドライバーバージョンがWindowsに実装されていません
2017-05-08 21:12:24.396636:E c:\ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ stream_executor \ cuda \ cuda_dnn.cc:326]cudnnハンドルを破棄できませんでした:CUDNN_STATUS_BAD_PARAM
2017-05-08 21:12:24.396846:F c:\ tf_jenkins \ home \ workspace \ release-win \ device \ gpu \ os \ windows \ tensorflow \ core \ kernels \ conv_ops.cc:659]チェックに失敗しました:stream- > parent()-> GetConvolveAlgorithms(&algorithms)
@strickonの方法は私のために働いた。 tensorflowが一度に多くのリソースを占有しようとしていて、操作をクラッシュさせることができないようです。 私は特に使用しました:
config.gpu_options.allow_growth = True
@strickonの提案を確認することは私にとっては
https://github.com/awjuliani/DeepRL-Agents/blob/master/Double-Dueling-DQN.ipynbを実行していて、更新ブロック内のsess.runへの最初の呼び出しでこのスレッドに記載されているエラーが発生していました(行: Q1 = sess.run(mainQN.predict,feed_dict={mainQN.scalarInput:np.vstack(trainBatch[:,3])})
。
allow_growthフラグを追加すると(以下のように)、このバンプを乗り越えることができました。コードは現在バックグラウンドで実行されており、どこまで進んでいるかがわかります。
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
sess = tf.Session(config=config)
スタック:
リクエストに応じて、より多くの統計情報をダンプしても問題ありません。
私は同時に2つの端末で作業していて、同じ問題を抱えていました。 1つの端末を閉じることで解決しました。
最近のアクティビティがないため、自動的に閉じます。 新しい情報が利用可能になり次第、問題を更新してください。問題を再開します。 ありがとう!
@strickonによって提案された変更を実装した後、新しい情報ログのセットが表示されるようになりました。
2017-06-23 04:45:57.156787: I c:\tf_jenkins\home\workspace\release-win\m\windows-gpu\py\35\tensorflow\core\common_runtime\gpu\pool_allocator.cc:247] PoolAllocator: After 3205 get requests, put_count=2333 evicted_count=1000 eviction_rate=0.428633 and unsatisfied allocation rate=0.615289
2017-06-23 04:45:57.156880: I c:\tf_jenkins\home\workspace\release-win\m\windows-gpu\py\35\tensorflow\core\common_runtime\gpu\pool_allocator.cc:259] Raising pool_size_limit_ from 100 to 110
step 0 - loss = 5.632, (19.351 sec/step)
関連するかどうかわからない。
ここでも同じエラー。
Windows 10 x86_64、GeForce GTX 970、ドライバー376.53、Cuda 8.0、cuDNN 5.1。、tensorflow-pipのgpu 1.2.0、python 3.6
Webサイトのチュートリアルセクションからデフォルトの例を実行しようとしています。
https://www.tensorflow.org/tutorials/image_recognition
python classify_image.py
同じエラーがあります:
`
`` `
(C:\ ProgramData \ Anaconda3)C:\ Users \ Locky \GoogleДиск\ MachineLearning \ Tensorflow-Tutorials \ Repo \ models \ tutorials \ image \ imagenet> python classify_image.py
2017-06-25 18:36:32.318287:W c:\ tf_jenkins \ home \ workspace \ release-win \ m \ windows-gpu \ py \ 36 \ tensorflow \ core \ platform \ cpu_feature_guard.cc:45]TensorFlowライブラリSSE命令を使用するようにコンパイルされていませんが、これらはマシンで利用可能であり、CPU計算を高速化する可能性があります。
2017-06-25 18:36:32.318514:W c:\ tf_jenkins \ home \ workspace \ release-win \ m \ windows-gpu \ py \ 36 \ tensorflow \ core \ platform \ cpu_feature_guard.cc:45]TensorFlowライブラリSSE2命令を使用するようにコンパイルされていませんが、これらはマシンで利用可能であり、CPU計算を高速化する可能性があります。
2017-06-25 18:36:32.323556:W c:\ tf_jenkins \ home \ workspace \ release-win \ m \ windows-gpu \ py \ 36 \ tensorflow \ core \ platform \ cpu_feature_guard.cc:45]TensorFlowライブラリSSE3命令を使用するようにコンパイルされていませんが、これらはマシンで利用可能であり、CPU計算を高速化する可能性があります。
2017-06-25 18:36:32.323719:W c:\ tf_jenkins \ home \ workspace \ release-win \ m \ windows-gpu \ py \ 36 \ tensorflow \ core \ platform \ cpu_feature_guard.cc:45]TensorFlowライブラリSSE4.1命令を使用するようにコンパイルされていませんが、これらはマシンで利用可能であり、CPU計算を高速化する可能性があります。
2017-06-25 18:36:32.323834:W c:\ tf_jenkins \ home \ workspace \ release-win \ m \ windows-gpu \ py \ 36 \ tensorflow \ core \ platform \ cpu_feature_guard.cc:45]TensorFlowライブラリSSE4.2命令を使用するようにコンパイルされていませんが、これらはマシンで利用可能であり、CPU計算を高速化する可能性があります。
2017-06-25 18:36:32.323930:W c:\ tf_jenkins \ home \ workspace \ release-win \ m \ windows-gpu \ py \ 36 \ tensorflow \ core \ platform \ cpu_feature_guard.cc:45]TensorFlowライブラリAVX命令を使用するようにコンパイルされていませんが、これらはマシンで利用可能であり、CPU計算を高速化する可能性があります。
2017-06-25 18:36:32.324205:W c:\ tf_jenkins \ home \ workspace \ release-win \ m \ windows-gpu \ py \ 36 \ tensorflow \ core \ platform \ cpu_feature_guard.cc:45]TensorFlowライブラリAVX2命令を使用するようにコンパイルされていませんが、これらはマシンで利用可能であり、CPU計算を高速化する可能性があります。
2017-06-25 18:36:32.324351:W c:\ tf_jenkins \ home \ workspace \ release-win \ m \ windows-gpu \ py \ 36 \ tensorflow \ core \ platform \ cpu_feature_guard.cc:45]TensorFlowライブラリFMA命令を使用するようにコンパイルされていませんが、これらはマシンで利用可能であり、CPU計算を高速化する可能性があります。
2017-06-25 18:36:32.707933:I c:\ tf_jenkins \ home \ workspace \ release-win \ m \ windows-gpu \ py \ 36 \ tensorflow \ core \ common_runtime \ gpu \ gpu_device.cc:940]見つかりましたプロパティを持つデバイス0:
名前:GeForce GTX 970
メジャー:5マイナー:2 memoryClockRate(GHz)1.253
pciBusID 0000:01:00.0
総メモリ:4.00GiB
空きメモリ:3.31GiB
2017-06-25 18:36:32.708332:I c:\ tf_jenkins \ home \ workspace \ release-win \ m \ windows-gpu \ py \ 36 \ tensorflow \ core \ common_runtime \ gpu \ gpu_device.cc:961] DMA :0
2017-06-25 18:36:32.713764:I c:\ tf_jenkins \ home \ workspace \ release-win \ m \ windows-gpu \ py \ 36 \ tensorflow \ core \ common_runtime \ gpu \ gpu_device.cc:971] 0 :Y
2017-06-25 18:36:32.713991:I c:\ tf_jenkins \ home \ workspace \ release-win \ m \ windows-gpu \ py \ 36 \ tensorflow \ core \ common_runtime \ gpu \ gpu_device.cc:1030]作成中TensorFlowデバイス(/ gpu:0)->(デバイス:0、名前:GeForce GTX 970、pciバス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非推奨。 GraphDefバージョン9では機能しなくなります。tf.nn.batch_normalization()を使用してください。
2017-06-25 18:36:35.836895:E c:\ tf_jenkins \ home \ workspace \ release-win \ m \ windows-gpu \ py \ 36 \ tensorflow \ stream_executor \ cuda \ cuda_dnn.cc:359]を作成できませんでしたcudnnハンドル:CUDNN_STATUS_NOT_INITIALIZED
2017-06-25 18:36:35.837068:E c:\ tf_jenkins \ home \ workspace \ release-win \ m \ windows-gpu \ py \ 36 \ tensorflow \ stream_executor \ cuda \ cuda_dnn.cc:366]ドライバーの取得エラーバージョン:未実装:カーネルが報告したドライバーのバージョンがWindowsに実装されていません
2017-06-25 18:36:35.841593:E c:\ tf_jenkins \ home \ workspace \ release-win \ m \ windows-gpu \ py \ 36 \ tensorflow \ stream_executor \ cuda \ cuda_dnn.cc:326]を破棄できませんでしたcudnnハンドル:CUDNN_STATUS_BAD_PARAM
2017-06-25 18:36:35.841690:F c:\ tf_jenkins \ home \ workspace \ release-win \ m \ windows-gpu \ py \ 36 \ tensorflow \ core \ kernels \ conv_ops.cc:671]チェックに失敗しました: stream-> parent()-> GetConvolveAlgorithms(&algorithms)
(C:\ ProgramData \ Anaconda3)C:\ Users \ Locky \GoogleДиск\ MachineLearning \ Tensorflow-Tutorials \ Repo \ models \ tutorials \ image \ imagenet>
「」
私の場合、これは他のテンソルフローインスタンスがGPUを保持していたために発生しました。 (他のスクリプトが実行されています。)
より良いエラーメッセージを提案できますか? 「エラー:他のテンソルフローインスタンスが実行されていますが、サポートされているのは1つだけです」と言います。
同じ問題があります。 macOS 10.12.5 GT 750M2GBを実行している
python neural_style.py --content /Users/qinyuhang/Pictures/0.jpeg --styles IMG_1105.JPG --output 1.out.jpg --iterations 500
2017-07-05 22:16:54.531699: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:857] OS X does not support NUMA - returning NUMA node zero
2017-07-05 22:16:54.532257: I tensorflow/core/common_runtime/gpu/gpu_device.cc:940] Found device 0 with properties:
name: GeForce GT 750M
major: 3 minor: 0 memoryClockRate (GHz) 0.9255
pciBusID 0000:01:00.0
Total memory: 2.00GiB
Free memory: 1.54GiB
2017-07-05 22:16:54.532435: I tensorflow/core/common_runtime/gpu/gpu_device.cc:961] DMA: 0
2017-07-05 22:16:54.532461: I tensorflow/core/common_runtime/gpu/gpu_device.cc:971] 0: Y
2017-07-05 22:16:54.532471: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1030] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GT 750M, pci bus id: 0000:01:00.0)
2017-07-05 22:17:07.284016: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1030] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GT 750M, pci bus id: 0000:01:00.0)
2017-07-05 22:17:44.973549: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1030] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GT 750M, pci bus id: 0000:01:00.0)
Optimization started...
Iteration 1/ 500
2017-07-05 22:17:47.485948: E tensorflow/stream_executor/cuda/cuda_dnn.cc:359] could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
2017-07-05 22:17:47.485977: E tensorflow/stream_executor/cuda/cuda_dnn.cc:326] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM
2017-07-05 22:17:47.485983: F tensorflow/core/kernels/conv_ops.cc:671] Check failed: stream->parent()->GetConvolveAlgorithms(&algorithms)
[1] 66448 abort python neural_style.py --content /Users/qinyuhang/Pictures/0.jpeg --styles
それを解決しました(少なくとも私にとっては)。 エラーメッセージは正しい問題につながりません。 2つの異なるソースからこのエラーが発生しました:
最初に( @lockywolfが言ったように):
私はjupyterノートブックを使用していますが、TFカーネルがGPUメモリを解放しないことがあり、jupyterを再起動して再び動作させる必要があります。 これは通常、実行時エラーまたは不適切なカーネルの再起動後に発生します...
2番:
GPUメモリに貪欲になり、次のようなことを試すことがあります。
gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.9)
sess = tf.InteractiveSession(config=tf.ConfigProto(gpu_options=gpu_options))
これは私の構成にとって致命的であり、このエラーが発生し始めました。 解決策は、デフォルトの方法を
sess = tf.InteractiveSession()
システム:
Ubuntu 14.04
GeForce GTX 780
CUDAドライバーバージョン= 8.0
CUDNNバージョン= 5.1
TensorFlowバージョン= 1.2.1
私は今、自分のスクリプトを実行しているのと同じ問題を抱えています。
@lockywolfが説明したのと同じ理由だと思います:
私の場合、これは他のテンソルフローインスタンスがGPUを保持していたために発生しました。 (他のスクリプトが実行されています。)
このエラーは頻繁に発生しましたが、不規則でした。その後、
乾杯!
編集:
@RawthiLのソリューションのほかに、 紹介に従って次のように述べています。
TensorFlowセッションを作成し、それをKerasに登録することから始めます。 これは、Kerasが登録したセッションを使用して、内部で作成するすべての変数を初期化することを意味します。
tensorflowをtfとしてインポートします
sess = tf.Session()kerasからKとしてバックエンドをインポートします
K.set_session(sess)
同じ問題。 これを一日中機能させるために上り坂で戦ってきました。
$ ~/neural-style$ python neural_style.py --content ~/Documents/8UhFDcjT.jpg --styles ~/Documents/9odz6-jbngd.png --output ./Documents/Scott.png
2017-07-26 20:57:08.373361: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
2017-07-26 20:57:08.373397: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
2017-07-26 20:57:08.373413: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
2017-07-26 20:57:08.373417: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.
2017-07-26 20:57:08.373421: W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations.
2017-07-26 20:57:08.431319: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:893] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2017-07-26 20:57:08.431630: I tensorflow/core/common_runtime/gpu/gpu_device.cc:940] Found device 0 with properties:
name: GeForce GTX 870M
major: 3 minor: 0 memoryClockRate (GHz) 0.967
pciBusID 0000:01:00.0
Total memory: 2.95GiB
Free memory: 2.53GiB
2017-07-26 20:57:08.431664: I tensorflow/core/common_runtime/gpu/gpu_device.cc:961] DMA: 0
2017-07-26 20:57:08.431674: I tensorflow/core/common_runtime/gpu/gpu_device.cc:971] 0: Y
2017-07-26 20:57:08.431690: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1030] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 870M, pci bus id: 0000:01:00.0)
2017-07-26 20:57:11.692616: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1030] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 870M, pci bus id: 0000:01:00.0)
2017-07-26 20:57:19.800938: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1030] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 870M, pci bus id: 0000:01:00.0)
Optimization started...
Iteration 1/1000
2017-07-26 20:57:20.535515: E tensorflow/stream_executor/cuda/cuda_dnn.cc:359] could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
2017-07-26 20:57:20.535573: E tensorflow/stream_executor/cuda/cuda_dnn.cc:326] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM
2017-07-26 20:57:20.535588: F tensorflow/core/kernels/conv_ops.cc:671] Check failed: stream->parent()->GetConvolveAlgorithms(&algorithms)
場合によっては、jupyterカーネルをリセットしても機能しないことがわかりました。 実はjupyterhubを使っているときに起こったのです。
カーネルを再起動し、virtualenvを非アクティブ化しましたが、GPUメモリはまだいくつかのプロセスによって保持されていました。 nvidia-smi
コマンドは、GPUを使用するプロセスがないことを示し、 sudo nvidia-smi --gpu-reset -i 0
(0 gpuコアの場合)でリセットしようとすると、次のようになりました。
他のプロセス(CUDAアプリケーション、Xサーバーなどのグラフィックアプリケーション、nvidia-smiの他のインスタンスなどの監視アプリケーション)で使用されているため、このGPUをリセットできません。 最初に、このGPUを使用するすべてのプロセスと、システムで実行されているすべてのコンピューティングアプリケーションを強制終了してから(他のGPUで実行されている場合でも)、GPUのリセットを再試行してください。
以前のエラーのために早期に終了します。
そのため、GPUを保持するプロセスがいくつかあり、 sudo fuser -v /dev/nvidia*
を使用してそれらを探しました。これは、GPUを保持する何かが実際にあることを示しています... python自体...それを強制終了し、virtualenvとjupyterを再起動しました。騙す。
私はこれを解決する最善の方法ではないかもしれませんが、他のすべてのオプションが失敗したときにコンピューターをリセットするよりはましです。
同じ問題があります。 GPUは、GTX1070とCUDA8.0、およびCUDA8.0のCUDNN5.1です。
問題はユーザーコードに依存せず、ハードウェア、Nvidia、またはGoogleソフトウェアの状態に依存します。 このエラーはいつでも発生し始める可能性があり、再起動すると同じユーザーコードで修正できます。
Windows 10、GTX770、CUDA 8.0、CUDNN 5.1、TF-GPU 1.1.0で同じ問題が発生し、デバイスドライバーのバージョンをどこで入手できるかわからないが、Windowsデバイスマネージャーはディスプレイドライバーについて21.21.13.7651を報告します。
connect 84557d348c06492e80ff0304d516367b
2017-08-11 15:51:41.974028: E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_dnn.cc:359] could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED
2017-08-11 15:51:41.974536: E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_dnn.cc:366] error retrieving driver version: Unimplemented: kernel reported driver version not implemented on Windows
2017-08-11 15:51:41.974923: E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_dnn.cc:326] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM
2017-08-11 15:51:41.975194: F c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\kernels\conv_ops.cc:659] Check failed: stream->parent()->GetConvolveAlgorithms(&algorithms)
Windows 10、GTX770、CUDA 8.0、CUDNN 5.1、TF-GPU 1.1.0で同じ問題が発生し、デバイスドライバーのバージョンをどこで入手できるかわからないが、Windowsデバイスマネージャーはディスプレイドライバーについて21.21.13.7651を報告します。
connect 84557d348c06492e80ff0304d516367b
2017-08-11 15:51:41.974028: E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_dnn.cc:359] could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED
2017-08-11 15:51:41.974536: E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_dnn.cc:366] error retrieving driver version: Unimplemented: kernel reported driver version not implemented on Windows
2017-08-11 15:51:41.974923: E c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\stream_executor\cuda\cuda_dnn.cc:326] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM
2017-08-11 15:51:41.975194: F c:\tf_jenkins\home\workspace\release-win\device\gpu\os\windows\tensorflow\core\kernels\conv_ops.cc:659] Check failed: stream->parent()->GetConvolveAlgorithms(&algorithms)
@ggranumの修正は私のために働いた:
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
sess = tf.Session(config=config)
私の場合、NVIDIAGPUドライバーを更新することで同じ問題が解決されました。
この問題は完全に解決されましたか。 CUDA8.0とcuDNN5.1を搭載したUbuntu16.04でTF1.3.0を実行しています。 Anacondaを使用してパッケージをインストールしました。 ランダムに4日前、私もこのエラーを経験しました
name: GeForce GTX 1080 Ti
major: 6 minor: 1 memoryClockRate (GHz) 1.582
pciBusID 0000:05:00.0
Total memory: 10.91GiB
Free memory: 10.30GiB
2017-09-05 07:47:05.397839: W tensorflow/stream_executor/cuda/cuda_driver.cc:523] A non-primary context 0x30028e0 exists before initializing the StreamExecutor. We haven't verified StreamExecutor works with that.
2017-09-05 07:47:05.401343: I tensorflow/core/common_runtime/gpu/gpu_device.cc:955] Found device 1 with properties:
name: GeForce GTX 1080 Ti
major: 6 minor: 1 memoryClockRate (GHz) 1.582
pciBusID 0000:06:00.0
Total memory: 10.91GiB
Free memory: 10.75GiB
2017-09-05 07:47:05.658932: W tensorflow/stream_executor/cuda/cuda_driver.cc:523] A non-primary context 0x2ffe910 exists before initializing the StreamExecutor. We haven't verified StreamExecutor works with that.
2017-09-05 07:47:05.659690: I tensorflow/core/common_runtime/gpu/gpu_device.cc:955] Found device 2 with properties:
name: GeForce GTX 1080 Ti
major: 6 minor: 1 memoryClockRate (GHz) 1.582
pciBusID 0000:09:00.0
Total memory: 10.91GiB
Free memory: 10.75GiB
2017-09-05 07:47:05.898536: W tensorflow/stream_executor/cuda/cuda_driver.cc:523] A non-primary context 0x2ffa940 exists before initializing the StreamExecutor. We haven't verified StreamExecutor works with that.
2017-09-05 07:47:05.899294: I tensorflow/core/common_runtime/gpu/gpu_device.cc:955] Found device 3 with properties:
name: GeForce GTX 1080 Ti
major: 6 minor: 1 memoryClockRate (GHz) 1.582
pciBusID 0000:0a:00.0
Total memory: 10.91GiB
Free memory: 10.75GiB
2017-09-05 07:47:05.903197: I tensorflow/core/common_runtime/gpu/gpu_device.cc:976] DMA: 0 1 2 3
2017-09-05 07:47:05.903209: I tensorflow/core/common_runtime/gpu/gpu_device.cc:986] 0: Y Y Y Y
2017-09-05 07:47:05.903215: I tensorflow/core/common_runtime/gpu/gpu_device.cc:986] 1: Y Y Y Y
2017-09-05 07:47:05.903218: I tensorflow/core/common_runtime/gpu/gpu_device.cc:986] 2: Y Y Y Y
2017-09-05 07:47:05.903223: I tensorflow/core/common_runtime/gpu/gpu_device.cc:986] 3: Y Y Y Y
2017-09-05 07:47:05.903236: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1045] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 1080 Ti, pci bus id: 0000:05:00.0)
2017-09-05 07:47:05.903242: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1045] Creating TensorFlow device (/gpu:1) -> (device: 1, name: GeForce GTX 1080 Ti, pci bus id: 0000:06:00.0)
2017-09-05 07:47:05.903248: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1045] Creating TensorFlow device (/gpu:2) -> (device: 2, name: GeForce GTX 1080 Ti, pci bus id: 0000:09:00.0)
2017-09-05 07:47:05.903252: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1045] Creating TensorFlow device (/gpu:3) -> (device: 3, name: GeForce GTX 1080 Ti, pci bus id: 0000:0a:00.0)
2017-09-05 07:47:20.297138: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1045] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 1080 Ti, pci bus id: 0000:05:00.0)
2017-09-05 07:47:20.297190: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1045] Creating TensorFlow device (/gpu:1) -> (device: 1, name: GeForce GTX 1080 Ti, pci bus id: 0000:06:00.0)
2017-09-05 07:47:20.297206: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1045] Creating TensorFlow device (/gpu:2) -> (device: 2, name: GeForce GTX 1080 Ti, pci bus id: 0000:09:00.0)
2017-09-05 07:47:20.297220: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1045] Creating TensorFlow device (/gpu:3) -> (device: 3, name: GeForce GTX 1080 Ti, pci bus id: 0000:0a:00.0)
2017-09-05 07:47:24.845499: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1045] Creating TensorFlow device (/gpu:0) -> (device: 0, name: GeForce GTX 1080 Ti, pci bus id: 0000:05:00.0)
2017-09-05 07:47:24.845534: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1045] Creating TensorFlow device (/gpu:1) -> (device: 1, name: GeForce GTX 1080 Ti, pci bus id: 0000:06:00.0)
2017-09-05 07:47:24.845542: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1045] Creating TensorFlow device (/gpu:2) -> (device: 2, name: GeForce GTX 1080 Ti, pci bus id: 0000:09:00.0)
2017-09-05 07:47:24.845548: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1045] Creating TensorFlow device (/gpu:3) -> (device: 3, name: GeForce GTX 1080 Ti, pci bus id: 0000:0a:00.0)
2017-09-05 07:47:34.884524: E tensorflow/stream_executor/cuda/cuda_dnn.cc:371] could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
2017-09-05 07:47:34.884597: E tensorflow/stream_executor/cuda/cuda_dnn.cc:338] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM
2017-09-05 07:47:34.884616: F tensorflow/core/kernels/conv_ops.cc:672] Check failed: stream->parent()->GetConvolveAlgorithms( conv_parameters.ShouldIncludeWinogradNonfusedAlgo<T>(), &algorithms)
私は4つの1080tiGPUを持っています。 モデルの実行中に、nvidia-smiを監視し、
-------------------------------------------------- --------------------------- +
| プロセス:GPUメモリ|
| GPUPIDタイププロセス名使用法|
| ================================================= ============================ |
| 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 |
+ ------------------------------------------------- ---------------------------- +
そのため、何らかの理由でPythonがメモリを占有しています。 もちろん、これを殺すと、jupyterノートブックも殺されます。 ゾンビプロセスを実行していません。 私が試してみました。
gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.1)
sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options))
これはGPUの使用量を減らしますが、それでも同じcuDDNハンドルエラーが発生します。 TFを再インストールしました。 問題に影響を与えないCUDA、cuDNN、Anaconda。
このエラーがランダムに発生するのはなぜですか。また、これをどのように解決できますか。
TensorFlow1.3はcuDNN6に対して構築されています。
cuDNNインストールをアップグレードしてください。
おかげで、グナン-残念ながら、それは何の違いもありません。 cuDNN 6を使用しても、cuDNNでハンドルエラーを作成できません。 GPUptionsを直接設定しても、使用されるGPUメモリの量は減りますが、エラーを防ぐことはできません。 GPUメモリはPythonによって使用されているため、これをシャットダウンすると、Jupyterノートブックが閉じます。 私はこれに4日近く立ち往生していて、オンラインで見たすべての提案を使い果たしたようです。 これはTF1.3の問題でしょうか?
これに腹を立てている人のためだけに:
たまにCUBLASエラーも発生しました。 だから私はこれをしました:
cd /usr/local/cuda/samples/7_CUDALibraries/simpleCUBLAS
make
./simpleCUBLAS
そして、CUBLASを初期化できないことを発見しました
だから次に私はこれをしました(アドバイスに基づいて)
sudo rm -f ~/.nv
そしてそれはうまくいった。 乾杯.....それは4日が無駄になりました。 これが他の誰かを救うことを願っています
@ SimonWalsh1000それは
ホームパス(Ubuntuの場合)で.theanorcを確認し、cnmemを小さく設定します....多分cnmem = 0.8で、今はうまくいきました
私はそれをGTX1070を搭載したWindows10で完全に機能させました。
私はcudnn7.0.2を使用していました
vs 6.0にダウングレードすると、問題が解決しました。
cuda_8.0.61_win10.exe
cudnn-8.0-windows10-x64-v6.0.zip
python-3.6.2-amd64.exe
インストールプロセス全体をここに投稿しました:
http://klaatuveratanecto.com/installing-tensorflow-gpu-windows-10-running-image_retraining/
こんにちは、私は同じ質問を受けました。 ただし、その理由は、テンソルフローを同時に2回使用したためです。
たとえば、私は通常、単純なスクリプトにはJupyterノートブックを使用し、プロジェクトにはPyCharmを使用しました。 jupyterノートブックをシャットダウンしなかった場合、Pycharmでこのエラーが発生する可能性があります。
これがお役に立てば幸いです。
WIndows10 64、
NVIDIA TitanX、
ドライバー385.41
Cuda 8.0.60
Cudnn 6.0
Python 3.5.2
Tensorflow 1.3
@strickonに同意し
tensorflowプログラムを実行しているノートブックを持っていて、別のWindowsターミナルでpython + tensorflowを実行しようとすると、エラーが発生しました。 次に、ノートブックを再起動し(GPUメモリを解放)、WindowsターミナルでPythonを再度実行しようとしましたが、機能しました。 tensorflowは、より詳細な説明をユーザーにアドバイスするためのより良いエラーメッセージを提供する必要があると思います。
私はWindows10、cuda 8、cudnn 6を使用しています:
名前:Quadro K620
メジャー:5マイナー:0 memoryClockRate(GHz)1.124
pciBusID 0000:01:00.0
総メモリ:2.00GiB
空きメモリ:1.66GiB
私にとってもほぼ同じ手順でうまくいきましたが、それがどのように機能したかはほとんどわかりません。 私はすべてのウィンドウを閉じ、pycharmで開いたPythonターミナルを閉じました-トレーニングの進行状況をプロットし、再度開いて実行するために同じプログラムの以前の実行によって開かれたウィンドウを含みます-それはエラーなしで動作します。 報告された以前のエラーは直接的な手がかりを与えていないようです---
こんにちは、
私も同じ問題を抱えていました。sudoでpythonを実行すると問題が解決しました。
@ SimonWalsh1000あなたは私のヒーローです!! それは私にも役立ちます!
@hesamaraghi sudo
実行することも私たちを助けました。 非rootユーザーをnvidia-persistenced
グループに追加することで、非rootとして実行することができました。 私の元のコメントを参照してください: https :
Ubuntu 16.04とcuda-8.0(GTX1080Tiを使用)でも同じ問題が発生しました。 @ SimonWalsh1000によって与えられた解決策が私のために完全に機能したことを同じ問題であなたに知らせたいと思います(つまり、CUBLAS初期化問題はsudo rm -rf ~/.nv/
によって解決されました)。 だから、 @ SimonWalsh1000に感謝し
@ SimonWalsh1000それは本当に機能します。 本当にありがとう!
@ SimonWalsh1000それは魅力のように機能します、ありがとう!!!!
Windows 10、CUDA 8.0、GTX1070Tiを搭載したcuDNN6.1でも同じ問題が発生しました。
理由がわかりました。anncondaspyderIDEでテンソルフローコードを実行した後、anncondaプロンプトで別のテンソルフローコードを実行しました。
spyderIDEを閉じて解決します
@lockywolfは正しい
私も同じ問題を抱えていました。 @strickonの方法を試しましたが、「nvidia-smi」についてはわかりません。おそらくLinuxのコマンドです。 CUDA8.0のcuDNN6.0をCUDA8.0のcuDNN7.0に更新することで、この問題を解決しました。
開始時のシステム:
解決後のシステム:
この問題は、ライブラリとハードウェアのバージョンの不一致が原因である可能性があると思います。 @chleibigは、GPUドライバーを更新することでこれも解決します。 これがお役に立てば幸いです。
私にとっては、次のように入力します。config.gpu_options.allow_growth = Tensorflowセッションで
Cuda 8、tf 1.4、cudnn 6
これを実行すると、問題が修正されます。
sudo rm -rf〜 / .nv
同じ質問。 問題を解決するための解決策はありますか?
私の状況は次のとおりです。
名前:GeForce GTX 1080
totalMemory:7.92GiB freeMemory:2.50GiB
テンソルフロー:gpu-1.4.0
1つのGPUをテストしていますが、3つのテンソルフローインスタンスを実行しています。
このような私のコードでは:
gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction = 0.3)
sess = tf.Session(config = tf.ConfigProto(gpu_options = gpu_options))
他の2つのテンソルフローインスタンスは正常に実行されていますが、最後の1つだけが次のようなエラーを実行します。
E tensorflow / stream_executor / cuda / cuda_dnn.cc:371] cudnnハンドルを作成できませんでした:CUDNN_STATUS_INTERNAL_ERROR
E tensorflow / stream_executor / cuda / cuda_dnn.cc:338] cudnnハンドルを破棄できませんでした:CUDNN_STATUS_BAD_PARAM
F tensorflow / core / kernels / conv_ops.cc:672]チェックに失敗しました:stream-> parent()-> GetConvolveAlgorithms(conv_parameters.ShouldIncludeWinogradNonfusedAlgo
どうして? gpu構成が小さすぎますか:gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction = 0.3)
わからない。 いくつかの提案が必要です。 私が試してみます。
私の解決策をチェックしてください...
午前8時20分に2017年12月19日、tbchj [email protected]は書きました:
同じ質問。 問題を解決するための解決策はありますか?
私の状況は次のとおりです。
名前:GeForce GTX 1080
totalMemory:7.92GiB freeMemory:2.50GiB
テンソルフロー:gpu-1.4.01つのGPUをテストしていますが、3つのテンソルフローインスタンスを実行しています。
このような私のコードでは:
gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction = 0.3)
sess = tf.Session(config = tf.ConfigProto(gpu_options = gpu_options))他の2つのテンソルフローインスタンスは正常に実行されていますが、最後の1つだけが実行されています
このようなエラー:E tensorflow / stream_executor / cuda / cuda_dnn.cc:371]はcudnnを作成できませんでした
ハンドル:CUDNN_STATUS_INTERNAL_ERROR
E tensorflow / stream_executor / cuda / cuda_dnn.cc:338]は破棄できませんでした
cudnnハンドル:CUDNN_STATUS_BAD_PARAM
F tensorflow / core / kernels / conv_ops.cc:672]チェックに失敗しました:
stream-> parent()-> GetConvolveAlgorithms(conv_parameters。
shouldIncludeWinogradNonfusedAlgo()、&algorithms)どうして? gpu構成が小さすぎますか:gpu_options = tf.GPUOptions(per_process_gpu_
memory_fraction = 0.3)
わからない。 いくつかの提案が必要です。 私が試してみます。—
あなたが言及されたのであなたはこれを受け取っています。
このメールに直接返信し、GitHubで表示してください
https://github.com/tensorflow/tensorflow/issues/6698#issuecomment-352670885 、
またはスレッドをミュートします
https://github.com/notifications/unsubscribe-auth/AJq-HpINYs1Uae6ghIW3qKCD56SUDhFeks5tB3HZgaJpZM4Lc7S1
。
-
一番
サイモン
SLFWalsh MD MRCP FFRRCSI
[email protected]
私の場合、私はバックグラウンドでトーチを実行していて、同じ問題を抱えています。
私は思う... CUDNN_STATUS_INTERNAL_ERRORは、cudnnを使用している他のプログラムが発生する可能性があります
私の場合、ipython環境でcudnnを実行できますが、jupyternotebookでコードを実行しようとすると同じエラーメッセージが表示されます。
こんにちは、私は同じ問題を抱えています、そしてこれまでのところ提案のどれも私がそれを解決するのを助けませんでした。
次の仕様のWindows10でAsusZenbookProラップトップを使用しています。
私のGPUスペックは次のとおりです。
私はこのチュートリアルに従っています:https://www.tensorflow.org/get_started/mnist/pros、ここでは1)ソフトマックス回帰と2)MNISTデータセットを使用した多層CNNを実装してトレーニングする必要があります。
これらは私のコードです: MNIST_Tutorial.zip 。 zipには、MNIST_softmax_regression.pyとMNIST_multilayer_CNN.pyの2つのファイルがあります。
1)MNIST_softmax_regression.pyを実行すると、正常に動作します。
ご覧のとおり、GPUが使用されており、チュートリアルによると、最終的な精度は予想どおり約92%です。
2)ただし、MNIST_multilayer_CNN.pyを実行すると、Pythonがクラッシュします。
以前の提案に基づいて2つの回避策を試しました。
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
with tf.Session(config=config) as sess:
と
config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.8
with tf.Session(config=config) as sess:
2つ目は次の出力を生成しますが、いずれも機能しませんでした。
ご覧のとおり、tensorflowは最初にメモリの割り当てを複数回試行し(CUBLAS_STATUS_ALLOC_FAILED)、明らかに成功しますが、その後CUDNN_STATUS_NOT_INITIALIZEDエラーが表示され、すべてが再び失敗します。
ところで、私はこれらの手順の最後にある代替アプローチに従ってtensorflowをインストールしました:http://www.python36.com/install-tensorflow-gpu-windows/
私はこのCUDAインストーラーを使用しました:
そして、この.whlファイルを使用してtensorflowをインストールしました。
Python、pip、condaに関する詳細情報は次のとおりです。
どんな助けでも深く感謝します。
前もって感謝します。
上記と非常によく似た設定を行い、次の場所で実行します。
ウィンドウズ10
GPU
tensorflow 1.5
CUDA 9.0.176
cudnn 7
Python 3.6.4、anaconda
構成を変更しようとしましたが、「CUDNN_STATUS_NOT_INITIALIZED」のエラーセットが引き続き表示されます。
.nvフォルダーに相当するものがWindowsのどこにあるかわからないため、 @ SimonWalsh1000ソリューションを実行できませんでした。
@HeinzBenjamin 、成功しましたか?
編集:まだ困惑しています、それは私がテンソルフロー1.5とCUDA9を使用しているためでしょうか?
私は同じ問題に遭遇しました。
しかし、CUDA 9.0をインストールした後、私のドライバーは最新バージョンではないことがわかりました。
したがって、Nvdiaドライバーを最新バージョンに更新して、PCを再起動してみてください。 わたしにはできる!
昨日私のコードは問題なく動作していました。今朝ubuntuにアップデートがあり、今では私のコードがこれを生成します。 他に何も変わっていません。
2018-02-11 07:54:57.097712:E tensorflow / stream_executor / cuda / cuda_dnn.cc:385] cudnnハンドルを作成できませんでした:CUDNN_STATUS_INTERNAL_ERROR
2018-02-11 07:54:57.097756:E tensorflow / stream_executor / cuda / cuda_dnn.cc:352] cudnnハンドルを破棄できませんでした:CUDNN_STATUS_BAD_PARAM
2018-02-11 07:54:57.097767:F tensorflow / core / kernels / conv_ops.cc:667]チェックに失敗しました:stream-> parent()-> GetConvolveAlgorithms(conv_parameters.ShouldIncludeWinogradNonfusedAlgo()、&algorithms)
システムを12回再起動しました。
数回再起動すると、エラーは次のように変わりました。
2018-02-11 07:19:33.487404:I tensorflow / stream_executor / cuda / cuda_dnn.cc:393]ドライバーバージョンが不十分である可能性があります:384.111.0 2018-02-11 07:19:33.487423:E tensorflow / stream_executor / cuda / cuda_dnn.cc:352] cudnnハンドルを破棄できませんでした:CUDNN_STATUS_BAD_PARAM 2018-02-11 07:19:33.487439:F tensorflow / core / kernels / conv_ops.cc:667]チェックに失敗しました:stream-> parent()-> GetConvolveAlgorithms( conv_parameters.ShouldIncludeWinogradNonfusedAlgo()、&algorithms)
しかし、390.25にアップグレードした後、最初のエラーが再び発生するようになりました。
私の他のテンソルフローコードは問題なく動作します。
私もnvディレクトリを削除しようとしましたが、効果はありませんでした
ubuntu 17.10、gtx 1060 6gb
CUDA9.0とGT750Mを搭載したWindows10でこのエラーが発生しました。次のように、GPUの使用量を0.7に制限することで解決しました:config.gpu_options.per_process_gpu_memory_fraction = 0.7
他の誰かが投稿したように、0.7より高いものはPythonをクラッシュさせます。
エラーの三位一体も受け取った後:
CUDNN_STATUS_NOT_INITIALIZED
conv_parameters.ShouldIncludeWinogradNonfusedAlgo(), &algorithms)
@ zzhang68のソリューションを試しました... 9.0が古いドライバーをインストールした後にドライバーを更新しました。
_そしてそれはうまくいきました!_
Windows 10 | GTX 980 Ti
CUDA 9.0 (古いドライバーが付属しています!!!!)
PATH内の\ cudnn-9.0-windows10-x64-v7 \ cuda \ bin(cudann64_7.dll)
Python 3.6 miniconda
tensorflow-gpu 1.5.0
同じ問題に直面しています。 tf1.5 py2.7 titan xcuda8。
config.gpu_options.allow_growth = True
うまくいかない
CUDA9.0およびGTX1060を搭載したWindows10でこのエラーが発生しました。
Python 3.5
tensorflow-gpu 1.5.0
私はそれを解決する簡単な方法を見つけました:NVIDIAディスプレイドライバーを最新バージョンに更新し、PCを再起動します
それからそれはうまくいきました!
@ SimonWalsh1000 、それは本当に私のために働きます、どうもありがとう!
@strickonと@ggranumのソリューションに加えて、ドライバーの更新により、これが解決されました。 私の推測では、一部の人々は、必要になるまで一部の機能を収縮させるカスタマイズされた電源構成を持っています。
GPUドライバーを更新すると、この問題が解決しました。 私のGPUドライバーは2017年12月で、最新のものは2018年2月26日でした。
この問題を回避するには、正しいテンソルフロー、CUDAバージョン、cuDNNバージョン、およびgpuドライバーが必要です。
私の仕様:
tensorflow 1.6
cuDNN v7.0.4(2017年11月13日)、CUDA 9.0用(TFを機能させるにはこのバージョンを使用する必要がありました)
これが私がそれを修正した方法です。 CUDA9.1とCUDA9.0の両方をインストールしました。 他の人と同じように、CUDAをインストールした後(Geforce Experienceプログラムを介して)、GPUドライバーを再度アップグレードする必要がありました。 KerasのバックエンドTensorFlowは、今日の日付でCUDA 9.0を使用しているため、インストールされていることを確認してください。 その後、からダウンロードcuDNN 7.0.5(最新ではない7.1版) https://developer.nvidia.com/rdp/cudnn-downloadし、それを抽出し、ビンをコピーし、含まれ、あなたのCにオーバーなどのフォルダ:\プログラムFiles \ NVIDIA GPU Computing Toolkit \ CUDA \ v9.0フォルダー。 これで動作するはずです。
このすべての助けに感謝し、私がcuCNNをcnDNN-9.1からcnDNN-9.0に分解しようとした後、それは機能します。
私の環境はCentos7 + CUDA 9.0 + Tensorflow1.6です
Python3.5、ubuntu 16.04、tf1.5で同じエラー
GPUドライバーをバージョン390.42に更新すると、この問題が解決しました。
こんにちは、みんな、
私はちょうど同じ問題を抱えています
"E tensorflow / stream_executor / cuda / cuda_dnn.cc:385]はcudnnハンドルを作成できませんでした:CUDNN_STATUS_INTERNAL_ERRORE tensorflow / stream_executor / cuda / cuda_dnn.cc:352] cudnnハンドルを破棄できませんでした:CUDNN_STATUS_BAD_PARAMF tensorflow / core / kernels / conv_ops.cc:605]チェックに失敗しました:stream-> parent()-> GetConvolveAlgorithms(&algorithms) "
解決策:
1- NVIDIAGeforce920Mのドライバーを更新する
2-次のようにtfセッションを適切に設定します。
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
sess = tf.Session(config = config)
3-PCの再起動
その後、より正確なエラーメッセージが表示されました。
「cuDNN7.1が見つかりましたが、cuDNN7.0が必要です。アップグレードしてください。」
そして解決する:
残りの部分(tf、cuda、..)をアップグレードしてcuDNNに合わせる代わりに、cuDNN7.0をアップグレードして残りの部分に合わせました。
(cuDNNを7.1から7.0.4にダウングレード)そしてそれはうまくいきました。
Cnn_Mnist.pyを実行しているときにもこのエラーが発生し
| NVIDIA-SMI 385.54 Driver Version: 385.54 |
|-------------------------------+----------------------+----------------------+
| GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 GeForce 920MX WDDM | 00000000:01:00.0 Off | N/A |
| N/A 37C P0 N/A / N/A | 84MiB / 2048MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 11988 C ...naconda3\envs\tensorflow_GPU\python.exe N/A |
+-----------------------------------------------------------------------------+
2018-03-20 13:38:27.439071: E C:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\35\tensorflow\stream_executor\cuda\cuda_dnn.cc:385] could not create cudnn handle: CUDNN_STATUS_INTERNAL_ERROR
2018-03-20 13:38:27.443473: E C:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\35\tensorflow\stream_executor\cuda\cuda_dnn.cc:352] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM
2018-03-20 13:38:27.449591: F C:\tf_jenkins\workspace\rel-win\M\windows-gpu\PY\35\tensorflow\core\kernels\conv_ops.cc:717] Check failed: stream->parent()->GetConvolveAlgorithms( conv_parameters.ShouldIncludeWinogradNonfusedAlgo<T>(), &algorithms)
私の場合(Windows 10)、この問題は間違ったバージョンのcuDNNを使用したことが原因でした。 TensorFlowの公式の指示に厳密に従いましたが、誤ってCUDA 9.1のバージョン7.0.5をダウンロードしましたが、TFはCUDA9.0を明示的に呼び出しています。
cuDNNの間違いを修正するとすぐに、私のconvnetが機能し始めました💯👍🥇:)
同じ問題tf1.2、cuda 8.0、cudnn 5.1
Nvidiaがドライバーを更新
さて、cudaによるとnvidiaドライバーを最後のバージョンに更新することができました、そしてそれは動作します。 したがって、この方法を試すことができます。
まあまあ。 それはうまく機能しません。 問題が再び発生します
使用:cudnn-9.0-windows10-x64-v7およびtensorflow-gpu == 1.7.0
tutorials \ image \ imagenet> python classify_image.py
エラーで失敗します:cudnnハンドルを作成できませんでした:CUDNN_STATUS_INTERNAL_ERROR
上記のggranumから3行のコードを追加すると、問題が解決します
私にとって問題は間違ったcudnnlibを使用することでした
私はcuda9.0を持っていたときにcuda9.1にcudnnを使用しました。 だから私はcuda9.0用のcudnnを再インストールし、すべてがうまくいきました。
Win10 / Anaconda3 / tf-1.3 /keras-2.1.3で同じ問題が発生しました
次のコードを.pyファイルの先頭に追加すると、問題が解決します。
from __future__ import print_function, division
import tensorflow as tf
from keras.backend.tensorflow_backend import set_session
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
set_session(tf.Session(config=config))
@ serans1
これは私のために働きます:)
ありがとう@ zzhang68 。 あなたの解決策は私のために働いた。
ファイルの先頭にこれを追加すると、うまくいきました。
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
sess = tf.Session(config = config)
GTX1070。この問題が発生していました。 私のドライバーは2017年に最後に更新されました。最新のドライバー(2018年5月)に更新し、コンピューターをリセットして問題の発生を停止しました。 お役に立てれば
@ zzhang68ソリューションでも
Ubuntu16.04、tensorflow1.7、nvidia1080、cuda9.0、cudnn7.05。
ドライバーを390.59に更新した後、問題は解消されました。
tensorflowCPUを使用したwin10の別のオプション... try
def run_inference_for_single_image(image、graph):
graph.as_default()を使用:
config = tf.ConfigProto(
device_count = {'GPU':0}
)。
sessとしてtf.Session(config = config)を使用:
@ lwd1132438569 「最新バージョン」とはどういう意味ですか? Ubuntuでもこの問題が発生し、python 3.5.2、CUDA 9.0、tensorflow-gpu 1.9.0があり、ドライバーは現在390.48です。
試してみたいのですが、テンソルフローは現在「最新」バージョンをサポートしていないのではないかと思います。
ありがとう1
@vburcaありがとうございます。 別のjupyternoteboookを使用するとGPUメモリが使い果たされることに気づきませんでした。 どうもありがとう!!!
私も同じ問題に直面しました。 私の場合、テンソルフローのバージョンをダウングレードしましたが、アプリケーションで機能しました。
私は同じ問題を見つけました。 私の場合、その理由はシステムメモリの不足でした。 他のアプリの実行を終了したとき、その問題は解消されていました。
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
CUDA9.0のCUDNN7.1
TensorFlow 1.10.1
helloworldのような単純なテンソルフローを問題なく実行します。
なぜこれが起こるのかわからない.................
間違いなくcuda関連のメモリの問題、他のすべてのcuda関連のプロセスを強制終了し、urモデルをトレーニング/テストします。これで問題が解決するはずです。
@ drproy2kソリューションは私にも効果的だと
黄金のトリック、すべてを再起動して、私のために働いた。
再起動は私にもトリックをしました👍
(しかし、なぜこれが起こるのかについての説明は本当に素晴らしいでしょう)
cuDNN
私も同じ問題に直面していました。 畳み込みレイヤーのあるモデルは機能しません。
CUDA9.0用のcuDNNバージョン7.0をダウンロードしました。 ファイルcudnn64_7.dllを置き換えた後、面倒なことなくconvnetsを使用できます。
問題の原因となるDLLのバージョン=> 6.14.11.9020
問題を解決したDLLのバージョン=> 6.14.11.9000
TensorflowGPUバージョン=>
CUDAバージョン=> 9.0
Pythonバージョン=> 3.5
OS => Windows 10
その他の手順=> PATH変数に追加するBATファイルを作成し、/ kオプションを指定してCMD.EXEを起動します
皆さんありがとう。
GPUの使用を制限することで、プログラムを動作させることができました。 私の場合、ubuntu16.04で3gbgtx 1060を使用している場合、gpuオプションper_process_gpu_memory_fractionを.7に設定すると機能します。 それ以上の場合、これらのエラーが発生します
E tensorflow / stream_executor / cuda / cuda_dnn.cc:397]はcudnnハンドルを作成できませんでした:CUDNN_STATUS_INTERNAL_ERROR
E tensorflow / stream_executor / cuda / cuda_dnn.cc:364] cudnnハンドルを破棄できませんでした:CUDNN_STATUS_BAD_PARAM
F tensorflow / core / kernels / conv_ops.cc:605]チェックに失敗しました:stream-> parent()-> GetConvolveAlgorithms(&algorithms)これは、テンソルフローによる不正なエラー報告の場合である可能性があります。 完全に無関係のようです。 たぶんそれはこれをより良い方法で解決するための手がかりですか?
gpu_memory_fractionを0.8から0.7に減らすと、動作を開始します。
誤ってtensorflow-gpuをバージョン1.6.0から1.18.0に
これが私の問題の解決策でした:
あなたがあなたのNVIDIAの依存関係をアップグレードする前に、問題のこの種を対向する対向起動するたびに、常にtensorflowのバージョンをアンインストールし、あなたのCUDAは最初の依存関係と互換性のあるバージョンをインストールすることで問題を解決しようとします。
ステップ1:テンソルフローパッケージのバージョンを確認します。 GPUを使用している場合は、競合を回避するために、テンソルフローのCPUバージョンをアンインストールすることをお勧めします。
pip list | grep tensorflow
ステップ2: tensorflow-gpuをアンインストールします。
pip uninstall tensorflow
ステップ3: CUDAとcuDNNのバージョンを確認します。 これらのパスを調整する必要がある場合があります。
--CUDA
cat /usr/local/cuda/version.txt
これが失敗した場合は、以下を使用してcudaバージョンのテキストファイルを見つけます。
sudo find / -name version.txt
--cuDNN
cat /usr/local/cuda/include/cudnn.h | grep CUDNN_MAJOR -A 2
これが失敗した場合は、以下を使用してcudaバージョンのテキストファイルを見つけます。
sudo find / -name cudnn.h
ステップ4: tensorflow-gpu、cuda、cudnnのバージョンがこのテーブルと一致するかどうかを確認します。
私の場合、他の要件を満たすためにtensorflow-gpu1.6.0が必要
だから私はこのバージョンを使用してインストールしました:
pip install tensorflow-gpu==1.6.0
これらはうまくいった仕様です!
OS: Ubuntu 16.04
CUDAバージョン: 9.0、V9.0.176
cuDNNバージョン: 7.0
Tensorflow-gpuバージョン: 1.6.0
Pythonバージョン: 3.5.0
幸運を!
私の場合、VSコードで別のコードを実行し始めたときにjupyter Notebookを閉じるのを忘れていましたが、jupyternotebookを閉じると問題が修正されました。
私はこれと同じ問題に直面しました。
私の場合、ネットワークのトレーニング中にJupyterノートブックを実行していました。
Jupyterノートブックを閉じると、問題が解決しました。
(GPUの要求が高すぎると何かをしなければならないかもしれないと思います)
これがお役に立てば幸いです。
こんにちは、みんな、私は同じ問題に直面しました.i win10 tensorflow-gpu1.8.0 cuda 9.0 NVIDA gtx1050Tiを使用して、cudannのバージョンを7.0から7.1に変更すると、問題は解決しました
私は今日同じ問題に直面しました(gtx1080、cuda 9.2、tfversion = 1.12.0)。 したがって、私の場合は、Jupyter Notebookを実行していて、他のスクリプトを実行しようとしました。そのときにエラーがスローされました。 解決したのは、 @ RoytenBergeが言ったように、jupyterカーネルをシャットダウンすることです。
これらのコード行をスクリプト@Codersadisの先頭に追加すると、うまくいきました。
次のコードを.pyファイルの先頭に追加すると、問題が解決します。
from __future__ import print_function、division
tensorflowをtfとしてインポートします
keras.backend.tensorflow_backendからインポートset_session
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
set_session(tf.Session(config = config))
@ drproy2kありがとう、それは私にとっても
このエラーは、RAMメモリの問題が原因です。 32GBまたは64GBのDDR3またはDDR4RAMに増やすことをお勧めします。
また、推測されるデータの量/サイズを減らします。
それはGPUではありません。 SLIに2枚の1080Tiカードがあります。
私はこれを解決するためにバージョンインストールガイドに従いました-
https://www.tensorflow.org/install/source#tested_source_configurations。 互換性のある構成:-
TF 1.12
TF-GPU 1.9
CUDA 8
GeForce GTX 970、CUDNN 7.4.1、CUDA 9.0.176、TF-gpu1.12.0で同じ問題
コミュニティでサポートされているバージョンのtensorflowをconda環境内で使用する場合(つまり、> conda install tensorflow-gpuを使用する場合)、同じ問題に直面していました。
このバージョンは、すべての状況で実際に適切であるとは限りません(他のマシンで使用している場合でも)。 使用するのに最適なバージョンは、conda環境内のpipインストール可能バージョンhttps://www.tensorflow.org/install/pipです。 私がこれをしたとき、すべてがうまくいきました。
現在インストールしているCUDA9.0と一緒にCuda10.0バージョンのCUDNNlibがインストールされていることに気づきませんでした。 V10CUDNNをダウンロードしてV9.0CUDNNに置き換えると、すべてが正常に機能しました。
これは、正しくインストールできなかったことによる見落としでした。振り返ってみると、その理由がわかります...ここまで進んで実験にうんざりしている場合は、 https://aaronjencks.blogspotにブログ投稿を書きました/ the-ultimate-guide-to- installing.htmlは、テンソルフローとそのすべての依存関係を最初から最後まで機能させるプロセス全体を順を追って説明します。
@kheffahはconda内で同じ問題を抱えています。 TFとKerasのインストールにはすでにpipを使用しています。
GPU GT 840M、コンピューティング互換5.0、CUDA 9、cuDNN 7.4.2、TF1.12.0。 Windows 8 x64
テストコードは問題なく実行されます
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
c = tf.matmul(a, b)
これはspyderのエラーです。 すでにメモリ0.7と成長トリックを試してみてください。 運がない
classifier.fit_generator(training_set,
steps_per_epoch=32,
epochs=25,
verbose=1,
validation_data=test_set,
validation_steps=6.25)
Epoch 1/25
Traceback (most recent call last):
File "<ipython-input-4-6d704090deaf>", line 11, in <module>
validation_steps=6.25)
File "c:\Users\maxi.wu\AppData\Local\conda\conda\envs\tfgpu\lib\site-packages\keras\legacy\interfaces.py", line 91, in wrapper
return func(*args, **kwargs)
File "c:\Users\maxi.wu\AppData\Local\conda\conda\envs\tfgpu\lib\site-packages\keras\engine\training.py", line 1418, in fit_generator
initial_epoch=initial_epoch)
File "c:\Users\maxi.wu\AppData\Local\conda\conda\envs\tfgpu\lib\site-packages\keras\engine\training_generator.py", line 217, in fit_generator
class_weight=class_weight)
File "c:\Users\maxi.wu\AppData\Local\conda\conda\envs\tfgpu\lib\site-packages\keras\engine\training.py", line 1217, in train_on_batch
outputs = self.train_function(ins)
File "c:\Users\maxi.wu\AppData\Local\conda\conda\envs\tfgpu\lib\site-packages\keras\backend\tensorflow_backend.py", line 2715, in __call__
return self._call(inputs)
File "c:\Users\maxi.wu\AppData\Local\conda\conda\envs\tfgpu\lib\site-packages\keras\backend\tensorflow_backend.py", line 2675, in _call
fetched = self._callable_fn(*array_vals)
File "c:\Users\maxi.wu\AppData\Local\conda\conda\envs\tfgpu\lib\site-packages\tensorflow\python\client\session.py", line 1439, in __call__
run_metadata_ptr)
File "c:\Users\maxi.wu\AppData\Local\conda\conda\envs\tfgpu\lib\site-packages\tensorflow\python\framework\errors_impl.py", line 528, in __exit__
c_api.TF_GetCode(self.status.status))
UnknownError: Failed to get convolution algorithm. This is probably because cuDNN failed to initialize, so try looking to see if a warning log message was printed above.
[[{{node conv2d_1/convolution}} = Conv2D[T=DT_FLOAT, _class=["loc:@training/Adam/gradients/conv2d_1/convolution_grad/Conv2DBackpropFilter"], data_format="NCHW", dilations=[1, 1, 1, 1], padding="VALID", strides=[1, 1, 1, 1], use_cudnn_on_gpu=true, _device="/job:localhost/replica:0/task:0/device:GPU:0"](training/Adam/gradients/conv2d_1/convolution_grad/Conv2DBackpropFilter-0-TransposeNHWCToNCHW-LayoutOptimizer, conv2d_1/kernel/read)]]
[[{{node loss/mul/_91}} = _Recv[client_terminated=false, recv_device="/job:localhost/replica:0/task:0/device:CPU:0", send_device="/job:localhost/replica:0/task:0/device:GPU:0", send_device_incarnation=1, tensor_name="edge_609_loss/mul", tensor_type=DT_FLOAT, _device="/job:localhost/replica:0/task:0/device:CPU:0"]()]]
tensorflow1.7に切り替えます
2019年1月3日木曜日、19:29 maxi.wu < [email protected]は次のように書いています。
@kheffahhttps ://github.com/kheffahがconda内で同じ問題を抱えています。
TFとKerasのインストールにはすでにpipを使用しています。
GPU GT 840M、コンピューティング互換5.0、CUDA 9、cuDNN 7.4.2、TF1.12.0。
Windows 8 x64テストコードは問題なく実行されます
a = tf.constant([1.0、2.0、3.0、4.0、5.0、6.0]、shape = [2、3]、name = 'a')
b = tf.constant([1.0、2.0、3.0、4.0、5.0、6.0]、shape = [3、2]、name = 'b')
c = tf.matmul(a、b)これはspyderのエラーです。 すでにメモリ0.7と成長トリックを試してみてください。
運がないclassifier.fit_generator(training_set、
Steps_per_epoch = 32、
エポック= 25、
verbose = 1、
validate_data = test_set、
validate_steps = 6.25)
エポック1/25
トレースバック(最後の最後の呼び出し):ファイル "
"、11行目、
validate_steps = 6.25)ファイル "c:\ Users \ maxi.wu \ AppData \ Local \ conda \ conda \ envs \ tfgpu \ lib \ site-packages \ keras \ Legacy \ interfaces.py"、行91、ラッパー
func( args、* kwargs)を返しますファイル "c:\ Users \ maxi.wu \ AppData \ Local \ conda \ conda \ envs \ tfgpu \ lib \ site-packages \ keras \ engine \ training.py"、行1418、fit_generator
initial_epoch = initial_epoch)ファイル "c:\ Users \ maxi.wu \ AppData \ Local \ conda \ conda \ envs \ tfgpu \ lib \ site-packages \ keras \ engine \ training_generator.py"、行217、fit_generator
class_weight = class_weight)ファイル "c:\ Users \ maxi.wu \ AppData \ Local \ conda \ conda \ envs \ tfgpu \ lib \ site-packages \ keras \ engine \ training.py"、行1217、train_on_batch
出力= self.train_function(ins)ファイル "c:\ Users \ maxi.wu \ AppData \ Local \ conda \ conda \ envs \ tfgpu \ lib \ site-packages \ keras \ backend \ tensorflow_backend.py"、2715行目、__ call__
self._call(inputs)を返しますファイル "c:\ Users \ maxi.wu \ AppData \ Local \ conda \ conda \ envs \ tfgpu \ lib \ site-packages \ keras \ backend \ tensorflow_backend.py"、2675行目、_call
フェッチ済み= self._callable_fn(* array_vals)ファイル "c:\ Users \ maxi.wu \ AppData \ Local \ conda \ conda \ envs \ tfgpu \ lib \ site-packages \ tensorflow \ python \ client \ session.py"、1439行目、__ call__
run_metadata_ptr)ファイル "c:\ Users \ maxi.wu \ AppData \ Local \ conda \ conda \ envs \ tfgpu \ lib \ site-packages \ tensorflow \ python \ framework \ errors_impl.py"、行528、__ exit__
c_api.TF_GetCode(self.status.status))UnknownError:畳み込みアルゴリズムの取得に失敗しました。 これは、cuDNNが初期化に失敗したことが原因である可能性があるため、警告ログメッセージが上に出力されているかどうかを確認してください。
[[{{node conv2d_1 / convolution}} = Conv2D [T = DT_FLOAT、_class = [" loc:@ training / Adam / 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 / reply: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_terinated = false、recv_device = "/ job:localhost / reply:0 / task:0 / device : CPU:0 "、send_device = "/ job:localhost /レプリカ:0 /タスク:0 /デバイス: GPU:0 "、send_device_incarnation = 1、tensor_name =" edge_609_loss / mul "、tensor_type = DT_FLOAT、_device =" / job:localhost / Replica:0 / task:0 / device : CPU :0 "]()]]—
あなたがコメントしたのであなたはこれを受け取っています。
このメールに直接返信し、GitHubで表示してください
https://github.com/tensorflow/tensorflow/issues/6698#issuecomment-451079405 、
またはスレッドをミュートします
https://github.com/notifications/unsubscribe-auth/ABE215xY0OhbFjA_GhVtEIDl_IB4qQGmks5u_b9NgaJpZM4Lc7S1
。
私はwin10システムでも同じ問題を抱えていました。 しかし、それはメモリの問題であることがわかりました。 膨大なメモリリソースを消費する他の実行中のアプリを強制終了して、試してみてください。
Windows 10 NVIDIA GEFORCE GTX 1050でも同様の問題が発生し、実行中の他のすべてのタスクを閉じて、上記の@ xhm1014で提案されているように再試行すると、コードがそのように実行され始めました。 これはメモリ関連の問題だと思います。
間違いなくメモリ関連。 RAMを64GBまでアップグレードする必要があります。
金には、2019年1月18日5:30 PMサミュエルんでで[email protected]書きました:
Windows 10 NVIDIA GEFORCE GTX1050でも同様の問題が発生しました。
実行中の他のすべてのタスクを閉じ、@ xhm1014の提案に従って再試行したため
上記のhttps://github.com/xhm1014 、私のコードはちょうど次のように実行を開始しました
それ。 これはメモリ関連の問題だと思います。—
あなたがコメントしたのであなたはこれを受け取っています。
このメールに直接返信し、GitHubで表示してください
https://github.com/tensorflow/tensorflow/issues/6698#issuecomment-455441208 、
またはスレッドをミュートします
https://github.com/notifications/unsubscribe-auth/ABE217cdDKUuRtdD9jJ_eh2tJWrm2fjeks5vEWnwgaJpZM4Lc7S1
。
エラーが発生したので、Jupyterの複数のインスタンスを閉じて、他のアプリケーションを閉じることで「修正」しました。 私は一般的にテンソルフローを使用するのは初めてなので、これで問題が解決しただけである可能性があります。
E tensorflow / stream_executor / cuda / cuda_dnn.cc:353] cudnnハンドルを作成できませんでした:CUDNN_STATUS_INTERNAL_ERROR
この問題は、cudaを使用してソースからコンパイルされた10.1 Cuda + cuDNN7.5およびTF1.11で発生しました。 私が使用しようとしたスクリプトでは、次の行をどこかに挿入する必要がありました。
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
そして後で:
sess = tf.Session(graph=detection_graph,config=config)
これで、多くの「GPUのメモリ不足エラー」が発生しましたが、GPUを使用している場合は、検出が非常に迅速に行われます。 共有してくれてありがとう!
私は同じ問題に直面しました。以下の行を使用すると修正されました。 詳細はこちらをご覧ください。
エクスポートLD_LIBRARY_PATH = $ LD_LIBRARY_PATH:/ usr / local / cuda / extras / CUPTI / lib64
@EncodeTS最初の投稿に再現可能な最小限の例を追加しました。 それがあなたのマシンで問題を再現するかどうかを確認できますか? 私のマシンでは、1つの畳み込み層は機能しますが、2つの畳み込み層は機能しません。そのため、問題の原因はリソースの制限にあるのではないかと考えました。
実際、私はmacOSではなくUbuntu 18.04で作業していますが、これはいくつかのリソース制限が原因である可能性があることは理にかなっているようです。 私はGTX1050 ti(4 GB)で同じ問題に直面しましたが、GTX 1080 ti(11 GB)で同じアーキテクチャを実行すると問題は解決しました。 2つのシステム間ですべての環境が同じというわけではありませんが、Dockerコンテナを利用して最善を尽くしました。
この問題は一般にcudaとGPUメモリのバージョンに関連しています。前者の場合、最も簡単な方法はAnacondaでcudaバージョンを変更することです。 後で、他の答えで解決するいくつかの方法を見つけることができます。
この問題は通常、ビデオメモリとcudaバージョンに関連しています。GPUメモリを変更する上記の方法が無効な場合は、cudaバージョンを変更することを検討してください。最も簡単な方法は、システムの直下にインストールされているcudaバージョンを気にしないことです。 Anacondaのプロジェクト環境cudaバージョンを変更するだけで、プロテストが有効になります。
それでもこの問題が発生する場合は、次のことを試してください。 それは私のために働いた
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
同様の問題があります:CUDNN_STATUS_ALLOC_FAILED。
私は3-4時間頭を骨折した。 最終的に修正されました。
多くの人が上で述べたように、これは確かに機能します:
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
セッション= tf.Session(config = config)
しかし、重要なのは、私が行っていなかった
tensorflow-gpuバージョンに問題がある可能性があります。自分のバージョンを何度も確認し、アンインストールしてインストールする必要があります... tensorflow-gpuは対応するバージョン番号を見つけてから、アンインストールして再インストールします
これらのコード行をスクリプト@Codersadisの先頭に追加すると、うまくいきました。
次のコードを.pyファイルの先頭に追加すると、問題が解決します。
将来のインポートからprint_function、division
tensorflowをtfとしてインポートします
keras.backend.tensorflow_backendからインポートset_session
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
set_session(tf.Session(config = config))
tensorflow-gpu == 1.8.0
、 cudnn version = 7.0.5
、 cuda 9.1.85
でも同じエラーが発生します
、上記の提案されたソリューションを追加した後でも、 ubuntu 16.04
。
スタックトレースは次のとおりです。
INFO - Waveunet Training - Running command 'run'
INFO - Waveunet Training - Started
SCRIPT START
EPOCH: 0
Dataset ready!
Training...
Sep_Vars: 10265550
Num of variables65
2019-07-25 05:10:09.872823: I tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA
2019-07-25 05:10:10.286584: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:898] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero
2019-07-25 05:10:10.286914: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1356] Found device 0 with properties:
name: Quadro P4000 major: 6 minor: 1 memoryClockRate(GHz): 1.48
pciBusID: 0000:00:05.0
totalMemory: 7.92GiB freeMemory: 7.83GiB
2019-07-25 05:10:10.286964: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1435] Adding visible gpu devices: 0
2019-07-25 05:10:10.640890: I tensorflow/core/common_runtime/gpu/gpu_device.cc:923] Device interconnect StreamExecutor with strength 1 edge matrix:
2019-07-25 05:10:10.640952: I tensorflow/core/common_runtime/gpu/gpu_device.cc:929] 0
2019-07-25 05:10:10.640968: I tensorflow/core/common_runtime/gpu/gpu_device.cc:942] 0: N
2019-07-25 05:10:10.641194: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1053] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 7566 MB memory) -> physical GPU (device: 0, name: Quadro P4000, pci bus id: 0000:00:05.0, compute capability: 6.1)
2019-07-25 05:10:27.643833: I tensorflow/core/kernels/data/shuffle_dataset_op.cc:94] Filling up shuffle buffer (this may take a while): 2054 of 4000
2019-07-25 05:10:35.917445: I tensorflow/core/kernels/data/shuffle_dataset_op.cc:129] Shuffle buffer filled.
2019-07-25 05:10:36.175698: E tensorflow/stream_executor/cuda/cuda_dnn.cc:455] could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED
2019-07-25 05:10:36.175820: E tensorflow/stream_executor/cuda/cuda_dnn.cc:463] possibly insufficient driver version: 384.183.0
2019-07-25 05:10:36.175842: E tensorflow/stream_executor/cuda/cuda_dnn.cc:427] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM
2019-07-25 05:10:36.175859: F tensorflow/core/kernels/conv_ops.cc:713] Check failed: stream->parent()->GetConvolveAlgorithms( conv_parameters.ShouldIncludeWinogradNonfusedAlgo<T>(), &algorithms)
Aborted (core dumped)
助けてください
同様の問題があります:CUDNN_STATUS_ALLOC_FAILED。
私は3-4時間頭を骨折した。 最終的に修正されました。
多くの人が上で述べたように、これは確かに機能します:
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
セッション= tf.Session(config = config)しかし、重要なのは、私が行っていなかった
素晴らしい返事、私のために働いた!
これらのコード行をスクリプト@Codersadisの先頭に追加すると、うまくいきました。
次のコードを.pyファイルの先頭に追加すると、問題が解決します。
将来のインポートからprint_function、division
tensorflowをtfとしてインポートします
keras.backend.tensorflow_backendからインポートset_session
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
set_session(tf.Session(config = config))
tensorflow-gpu == 1.8.0
、cudnn version = 7.0.5
、cuda 9.1.85
でも同じエラーが発生します
、上記の提案されたソリューションを追加した後でも、ubuntu 16.04
。
スタックトレースは次のとおりです。INFO - Waveunet Training - Running command 'run' INFO - Waveunet Training - Started SCRIPT START EPOCH: 0 Dataset ready! Training... Sep_Vars: 10265550 Num of variables65 2019-07-25 05:10:09.872823: I tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA 2019-07-25 05:10:10.286584: I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:898] successful NUMA node read from SysFS had negative value (-1), but there must be at least one NUMA node, so returning NUMA node zero 2019-07-25 05:10:10.286914: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1356] Found device 0 with properties: name: Quadro P4000 major: 6 minor: 1 memoryClockRate(GHz): 1.48 pciBusID: 0000:00:05.0 totalMemory: 7.92GiB freeMemory: 7.83GiB 2019-07-25 05:10:10.286964: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1435] Adding visible gpu devices: 0 2019-07-25 05:10:10.640890: I tensorflow/core/common_runtime/gpu/gpu_device.cc:923] Device interconnect StreamExecutor with strength 1 edge matrix: 2019-07-25 05:10:10.640952: I tensorflow/core/common_runtime/gpu/gpu_device.cc:929] 0 2019-07-25 05:10:10.640968: I tensorflow/core/common_runtime/gpu/gpu_device.cc:942] 0: N 2019-07-25 05:10:10.641194: I tensorflow/core/common_runtime/gpu/gpu_device.cc:1053] Created TensorFlow device (/job:localhost/replica:0/task:0/device:GPU:0 with 7566 MB memory) -> physical GPU (device: 0, name: Quadro P4000, pci bus id: 0000:00:05.0, compute capability: 6.1) 2019-07-25 05:10:27.643833: I tensorflow/core/kernels/data/shuffle_dataset_op.cc:94] Filling up shuffle buffer (this may take a while): 2054 of 4000 2019-07-25 05:10:35.917445: I tensorflow/core/kernels/data/shuffle_dataset_op.cc:129] Shuffle buffer filled. 2019-07-25 05:10:36.175698: E tensorflow/stream_executor/cuda/cuda_dnn.cc:455] could not create cudnn handle: CUDNN_STATUS_NOT_INITIALIZED 2019-07-25 05:10:36.175820: E tensorflow/stream_executor/cuda/cuda_dnn.cc:463] possibly insufficient driver version: 384.183.0 2019-07-25 05:10:36.175842: E tensorflow/stream_executor/cuda/cuda_dnn.cc:427] could not destroy cudnn handle: CUDNN_STATUS_BAD_PARAM 2019-07-25 05:10:36.175859: F tensorflow/core/kernels/conv_ops.cc:713] Check failed: stream->parent()->GetConvolveAlgorithms( conv_parameters.ShouldIncludeWinogradNonfusedAlgo<T>(), &algorithms) Aborted (core dumped)
助けてください
Nvidiaドライバーを396+に変更すると、問題が解決しました。
これは、GPUリソースをロードしてcudnnハンドル( per_process_gpu_memory_fraction
とも呼ばれる)を作成するために使用できるメモリの割合と関係があります。
このメモリの割合を自分で減らすと、エラーが解決します。
> sess_config = tf.ConfigProto(gpu_options =
> tf.GPUOptions(per_process_gpu_memory_fraction=0.7),
> allow_soft_placement = True)
>
> with tf.Session(config=sess_config) as sess:
> sess.run([whatever])
あなたの記憶に収まるようにできるだけ小さな部分を使用してください。 (コードでは、0.7を使用しています。0.3以下から始めて、同じエラーが発生するまで増やしてください。それが制限です。)
それを構成としてtf.Session()
またはtf.train.MonitoredTrainingSession()
またはスーパーバイザーのsv.managed_session()
に渡します。
これにより、GPUがTensorFlowコードのcudnnハンドルを作成できるようになります。
conda環境のtensorflow2.0で次のエラーが発生していました。
`` `2019-12-03 23:48:29.888625:I tensorflow / stream_executor / platform / default / dso_loader.cc:44]ダイナミックライブラリcudart64_100.dllを正常に開きました
2019-12-03 23:49:06.381259:I tensorflow / stream_executor / platform / default / dso_loader.cc:44]ダイナミックライブラリnvcuda.dllを正常に開きました
2019-12-03 23:49:07.220066:I tensorflow / core / common_runtime / gpu / gpu_device.cc:1618]プロパティを持つデバイス0が見つかりました:
名前:GeForce GTX 1660 Tiメジャー:7マイナー:5 memoryClockRate(GHz):1.59
pciBusID:0000:01:00.0
2019-12-03 23:49:07.236411:I tensorflow / stream_executor / platform / default / dlopen_checker_stub.cc:25] GPUライブラリは静的にリンクされているため、dlopenチェックをスキップします。
2019-12-03 23:49:07.247476:I tensorflow / core / common_runtime / gpu / gpu_device.cc:1746]表示されているGPUデバイスの追加:0
2019-12-03 23:49:07.256881:I tensorflow / core / platform / cpu_feature_guard.cc:142]お使いのCPUは、このTensorFlowバイナリが使用するようにコンパイルされていない命令をサポートしています:AVX2
2019-12-03 23:49:07.269536:I tensorflow / core / common_runtime / gpu / gpu_device.cc:1618]プロパティを持つデバイス0が見つかりました:
名前:GeForce GTX 1660 Tiメジャー:7マイナー:5 memoryClockRate(GHz):1.59
pciBusID:0000:01:00.0
2019-12-03 23:49:07.281954:I tensorflow / stream_executor / platform / default / dlopen_checker_stub.cc:25] GPUライブラリは静的にリンクされているため、dlopenチェックをスキップします。
2019-12-03 23:49:07.295302:I tensorflow / core / common_runtime / gpu / gpu_device.cc:1746]表示されているGPUデバイスの追加:0
2019-12-03 23:49:08.589865:I tensorflow / core / common_runtime / gpu / gpu_device.cc:1159]強度1のエッジマトリックスを持つデバイス相互接続StreamExecutor:
2019-12-03 23:49:08.599121:I tensorflow / core / common_runtime / gpu / gpu_device.cc:1165] 0
2019-12-03 23:49:08.610543:I tensorflow / core / common_runtime / gpu / gpu_device.cc:1178] 0:N
2019-12-03 23:49:08.616005:I tensorflow / core / common_runtime / gpu / gpu_device.cc:1304] TensorFlowデバイスを作成しました(/ job:localhost / reply:0 / task:0 / device:GPU:0 with 4627 MBメモリ)->物理GPU(デバイス:0、名前:GeForce GTX 1660 Ti、pciバスID:0000:01:00.0、計算能力:7.5)
2019-12-03 23:49:58.521484:I tensorflow / stream_executor / platform / default / dso_loader.cc:44]ダイナミックライブラリcublas64_100.dllを正常に開きました
2019-12-03 23:49:59.604517:I tensorflow / stream_executor / platform / default / dso_loader.cc:44]ダイナミックライブラリcudnn64_7.dllを正常に開きました
2019-12-03 23:50:04.209110:E tensorflow / stream_executor / cuda / cuda_dnn.cc:329] cudnnハンドルを作成できませんでした:CUDNN_STATUS_NOT_INITIALIZED
2019-12-03 23:50:04.216670:E tensorflow / stream_executor / cuda / cuda_dnn.cc:333]ドライバーバージョンの取得エラー:未実装:カーネルが報告したドライバーバージョンがWindowsに実装されていません
2019-12-03 23:50:04.226172:E tensorflow / stream_executor / cuda / cuda_dnn.cc:329] cudnnハンドルを作成できませんでした:CUDNN_STATUS_NOT_INITIALIZED
2019-12-03 23:50:04.234741:E tensorflow / stream_executor / cuda / cuda_dnn.cc:333]ドライバーバージョンの取得中にエラーが発生しました:未実装:カーネルが報告したドライバーバージョンがWindowsに実装されていません
2019-12-03 23:50:04.244958:W tensorflow / core / common_runtime / base_collective_executor.cc:216] BaseCollectiveExecutor :: StartAbort不明:畳み込みアルゴリズムの取得に失敗しました。 これは、cuDNNが初期化に失敗したことが原因である可能性があるため、警告ログメッセージが上に出力されているかどうかを確認してください。
[[{{ノードシーケンシャル/ conv2d / Conv2D}}]]
so i added the following code to my CNN
gpus = tf.config.experimental.list_physical_devices( 'GPU')
tf.config.experimental.set_memory_growth(gpus [0]、True)
My output is now
2019-12-04 00:10:07.708573:I tensorflow / stream_executor / platform / default / dso_loader.cc:44]ダイナミックライブラリcudart64_100.dllを正常に開きました
2019-12-04 00:10:11.643304:I tensorflow / stream_executor / platform / default / dso_loader.cc:44]ダイナミックライブラリnvcuda.dllを正常に開きました
2019-12-04 00:10:12.753615:I tensorflow / core / common_runtime / gpu / gpu_device.cc:1618]プロパティを持つデバイス0が見つかりました:
名前:GeForce GTX 1660 Tiメジャー:7マイナー:5 memoryClockRate(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ライブラリは静的にリンクされています。dlopenチェックをスキップしてください。
2019-12-04 00:10:12.783900:I tensorflow / core / common_runtime / gpu / gpu_device.cc:1746]表示されているgpuデバイスの追加:0
2019-12-04 00:10:54.941468:I tensorflow / core / platform / cpu_feature_guard.cc:142]お使いのCPUは、このTensorFlowバイナリが使用するようにコンパイルされていない命令をサポートしています:AVX2
2019-12-04 00:10:55.372516:I tensorflow / core / common_runtime / gpu / gpu_device.cc:1618]プロパティを持つデバイス0が見つかりました:
名前:GeForce GTX 1660 Tiメジャー:7マイナー:5 memoryClockRate(GHz):1.59
pciBusID:0000:01:00.0
2019-12-04 00:10:55.383385:I tensorflow / stream_executor / platform / default / dlopen_checker_stub.cc:25] GPUライブラリは静的にリンクされているため、dlopenチェックをスキップします。
2019-12-04 00:10:55.406053:I tensorflow / core / common_runtime / gpu / gpu_device.cc:1746]表示されているgpuデバイスの追加:0
2019-12-04 00:10:56.741665:I tensorflow / core / common_runtime / gpu / gpu_device.cc:1159]強度1のエッジマトリックスを持つデバイス相互接続StreamExecutor:
2019-12-04 00:10:56.747255:I tensorflow / core / common_runtime / gpu / gpu_device.cc:1165] 0
2019-12-04 00:10:56.752302:I tensorflow / core / common_runtime / gpu / gpu_device.cc:1178] 0:N
2019-12-04 00:10:56.756861:I tensorflow / core / common_runtime / gpu / gpu_device.cc:1304] TensorFlowデバイスを作成しました(/ job:localhost / reply:0 / task:0 / device:GPU:0 with 4627 MBメモリ)->物理GPU(デバイス:0、名前:GeForce GTX 1660 Ti、pciバスID:0000:01:00.0、計算能力:7.5)
2019-12-04 00:11:08.281356:I tensorflow / stream_executor / platform / default / dso_loader.cc:44]ダイナミックライブラリcublas64_100.dllを正常に開きました
2019-12-04 00:11:08.934804:I tensorflow / stream_executor / platform / default / dso_loader.cc:44]ダイナミックライブラリcudnn64_7.dllを正常に開きました
2019-12-04 00:11:11.870237:W tensorflow / stream_executor / cuda / redzone_allocator.cc:312]内部:ptxasの呼び出しはWindowsではサポートされていません
ptxコンパイルを実行するためにドライバーに依存しています。 このメッセージは1回だけログに記録されます。
`` `
誰もが示唆したように、それはすべてのGPU / GPUを使用したテンソルフローによるものです。 私のCNNは今エラーなしでトレーニングしています。
コミュニティでサポートされているバージョンのtensorflowをconda環境内で使用する場合(つまり、> conda install tensorflow-gpuを使用する場合)、同じ問題に直面していました。
このバージョンは、すべての状況で実際に適切であるとは限りません(他のマシンで使用している場合でも)。 使用するのに最適なバージョンは、conda環境内のpipインストール可能バージョンhttps://www.tensorflow.org/install/pipです。 私がこれをしたとき、すべてがうまくいきました。
それは私のために解決しました、ありがとう!
これで問題も解決しました。
GeForce GTX 1050、CUDA 10.0
注:現時点でTF2.0で機能するのはこれだけです。 ありがとう!
gpus = tf.config.experimental.list_physical_devices( 'GPU')
tf.config.experimental.set_memory_growth(gpus [0]、True)
これで問題も解決しました。
GeForce GTX 1050、CUDA 10.0
注:現時点でTF2.0で機能するのはこれだけです。 ありがとう!
gpus = tf.config.experimental.list_physical_devices( 'GPU')
tf.config.experimental.set_memory_growth(gpus [0]、True)
これは私にとって何の違いもありませんでした... TF 2.0、RTX 2060、CUDA 10.1、CuDNN 7.6
これは、16 GBのRAM、6 GBのビデオメモリ、および1つのconvレイヤーを備えた基本的なMNISTトイモデルを備えています。 メモリの問題はなく、スタックトレースだけです。
いつものように、PytorchではGPUの問題はまったくありません
私の場合、RTX 2080Ti、TF 2.1、CUDA 10.1、CuDNN7.6の2台のマシンがあります。 1つは機能し、もう1つは前述のエラーを発生させます。 どちらのマシンにも同じ量の16GBのRAMが搭載されています。 ただし、CPUのようにハードウェアの違いがあります。 ただし、この問題はGPUを使用している場合にのみ発生します。
私の場合、RTX 2080Ti、TF 2.1、CUDA 10.1、CuDNN7.6の2台のマシンがあります。 1つは機能し、もう1つは前述のエラーを発生させます。 どちらのマシンにも同じ量の16GBのRAMが搭載されています。 ただし、CPUのようにハードウェアの違いがあります。 ただし、この問題はGPUを使用している場合にのみ発生します。
同じプラットフォーム、同じ問題
最新のテンソルフローとケラを使用している場合。 ここからこれを試してください、それは私のために働きました:
gpus = tf.config.experimental.list_physical_devices('GPU')
if gpus:
try:
# Currently, memory growth needs to be the same across GPUs
for gpu in gpus:
tf.config.experimental.set_memory_growth(gpu, True)
logical_gpus = tf.config.experimental.list_logical_devices('GPU')
print(len(gpus), "Physical GPUs,", len(logical_gpus), "Logical GPUs")
except RuntimeError as e:
# Memory growth must be set before GPUs have been initialized
print(e)
これは私のために働きます。
Physical_devices = tf.config.list_physical_devices( 'GPU')
tf.config.experimental.set_memory_growth(physical_devices [0]、True)
これは私のために働きます。
Physical_devices = tf.config.list_physical_devices( 'GPU')
tf.config.experimental.set_memory_growth(physical_devices [0]、True)
これは私のために働いた。 ありがとう
@ Samaritan1011001あなたのソリューションは私のために働きますどうもありがとう。
最も参考になるコメント
これが私が一時的にそれを解決した方法についてもう少し情報です。 これらの問題はすべてGPUメモリ割り当てに関連しており、報告されているエラーとは何の関係もないと思います。 この前に、ある種のメモリ割り当ての問題を示す他のエラーがありましたが、プログラムは進行し続け、最終的には誰もが取得しているcudnnエラーが発生しました。 時々動作すると思う理由は、プライマリディスプレイなど、テンソルフロー以外の目的でGPUを使用すると、使用可能なメモリが変動するためです。 必要なものを割り当てることができる場合とできない場合があります。
APIから
https://www.tensorflow.org/versions/r0.12/how_tos/using_gpu/
「デフォルトでは、TensorFlowはプロセスに表示されるすべてのGPU(CUDA_VISIBLE_DEVICESの対象)のほぼすべてのGPUメモリをマッピングします。これは、メモリの断片化を減らすことで、デバイス上の比較的貴重なGPUメモリリソースをより効率的に使用するために行われます。」
このデフォルトの割り当ては、この不安定な動作や特定の状況が機能し、他の状況が失敗する原因となる何らかの方法で壊れていると思います。
TFのデフォルトの動作を変更して最小量のメモリを割り当て、Webページで詳しく説明されているように必要に応じて拡張することで、この問題を解決しました。
config = tf.ConfigProto()
config.gpu_options.allow_growth = True
セッション= tf.Session(config = config、...)
私も別の方法を試しましたが、それを機能させることができ、機能するパーセンテージを実験的に選択することで失敗しました。 私の場合、それは約.7になりました。
config = tf.ConfigProto()
config.gpu_options.per_process_gpu_memory_fraction = 0.4
セッション= tf.Session(config = config、...)
TFチームの誰からもこれを確認する言葉はまだありませんが、他の人が同様の動作を確認できるかどうかを確認する価値があります。